Methodology
Every number on this site comes from the rules below — the same rules the tools run. They are standard calendar methods with known limits, which we state as plainly as the formulas.
How to read this page
Every date on this site is calendar arithmetic on the dates you enter. The numbers inside the formulas — 14 days, a 6-day window, 6–12 days, 280 days — are model settings taken from published research, not measurements of your body: nothing here detects hormones or confirms ovulation or pregnancy. The demo below (last period Sep 1, 2026, a 30-day cycle, 5-day periods) lets you check each rule by hand.
Dates and cycle days
Day 1 is the first day of full flow — spotting before real flow does not count. Days elapsed since the last period start are counted from 0, so the current cycle day = days since the last period start + 1 (the start day itself is day 1). Example: a period that started on 1 September puts 18 September on cycle day 18 (17 days elapsed, plus the start day).
When a new period actually begins, you update the start date — a predicted date never becomes an actual record, and nothing resets to day 1 on its own.
The core formulas
C = the cycle length used for the forecast (entered, or averaged from your logged dates); D = your usual period length. Dates are handled at noon UTC, so daylight-saving changes never shift a day.
Sep 1–5: day 0–4 after the start (cycle days 1–5).
Sep 12–17: ovulation − 5 through ovulation day.
Sep 17 = next period − 14 (Oct 1 − 14). The ovulation calculator also shows a realistic range: next − 15 … next − 10 = Sep 16–21.
Oct 1 = Sep 1 + 30. On Oct 1 itself the result reads “due today”, not 1 day late.
Every rule, tool by tool
Different tools answer different questions, but they share these rules. Where a tool uses its own rule, it is listed here:
| Output | Rule as implemented | Where it is used | Rounding and limits |
|---|---|---|---|
| Next period, later periods | start + C; start + n × C; end = start + D − 1 | Period calculator, calendar, late, missed, cycle phase, pregnancy test, ovulation, implantation | Further cycles repeat the same C, so distant months are assumptions |
| Cycle day and phase | days since start + 1; phase from C and D (ovulation phase = cycle days C − 14 to C − 13) | Period calculator, cycle phase | An estimate of the phase, not a measurement |
| Ovulation and fertile window | next − 14; window = ovulation − 5 … ovulation; realistic range next − 15 … next − 10 | Period calculator, ovulation, calendar, conception | Days outside the window are never “safe days” |
| Irregular ranges | next period start + S … start + L; ovulation = that range − 14; fertile = start + (S − 19) … start + (L − 14) | Period calculator (irregular mode), irregular periods page | S, L = your shortest and longest recent cycles; assumes the next cycles stay inside that spread |
| Average cycle length | gaps between consecutive start dates, averaged — but each tool checks the gaps differently. Cycle length calculator (2–6 dates): a repeated date counts once; gaps under 15 or over 90 days are skipped (and listed in the result); the other gaps are averaged. Period calculator helper (up to 3 dates) and its logged history: if any gap is under 10 or over 90 days, no average is given. Period tracker: a date can’t be logged twice; every gap between logged dates is averaged, with no range check | Period calculator helper and history, cycle length, period tracker | Period calculator: whole days. Cycle length and tracker: one decimal shown; forecasts and hand-offs use the rounded whole number. The 10–90 and 15–90 limits are input checks, not definitions of a healthy cycle |
| Due date | last period + 280 + (C − 28); or conception + 266; IVF: transfer + (266 − embryo age) | Due date, conception (conception = due date − 266) | Naegele’s rule with a cycle-length shift; an early scan can replace it |
| Implantation window | ovulation + 6 … ovulation + 12 | Implantation | The study range (Wilcox 1999), not a spotting date |
| Pregnancy test days | from your period: next − 6 / next / next + 7; from a date of sex: + 12 / + 21 / + 28; from ovulation: + 12 / + 14 / + 21 | Pregnancy test | Earliest / reliable / best; a negative before the reliable day proves little |
| Days late | today − expected date (0 on the date itself) | Period calculator, late, cycle phase | A calendar comparison, not a cause |
Worked example: check it yourself
| Input | Rule | Result |
|---|---|---|
| Start Sep 1, C = 30 | start + C | next period Oct 1 |
| D = 5; this period started Sep 1, the next is predicted to start Oct 1 | start + D − 1 | this period: Sep 1–5 (Sep 1 + 4); predicted next period: Oct 1–5 (Oct 1 + 4) |
| Today Sep 18 | (Sep 18 − Sep 1) + 1 | cycle day 18 |
| Next period Oct 1 | − 14; − 5 … 0 | ovulation Sep 17; window Sep 12–17 |
| Next period Oct 1 | − 15 … − 10 | realistic ovulation Sep 16–21 |
| S = 26, L = 33 | start + S … + L; S − 19 … L − 14 | period Sep 27 – Oct 4; fertile Sep 8–20 |
| Starts Jun 1, Jun 29, Jul 29, Aug 30 | gaps, then average | 28, 30, 32 → 30 days |
| Starts Jun 3, Jun 4, Aug 3, Aug 31, Oct 1 | gaps 1, 60, 28, 31 | cycle length tool skips the 1-day gap: (60 + 28 + 31) ÷ 3 = 39.7; the tracker averages all four: 120 ÷ 4 = 30.0; the period calculator helper (first 3 dates) gives no average |
| Start Sep 1, C = 30 | + 280 + (30 − 28) | due date Jun 10, 2027 |
| Ovulation Sep 17 | + 6 … + 12 | implantation window Sep 23–29 |
| Next period Oct 1 | − 6 / 0 / + 7 | test Sep 25 / Oct 1 / Oct 8 |
| Today Oct 4 | Oct 4 − Oct 1 | 3 days past the expected date |
To check a result from a tool, enter the same dates and compare. If the numbers don’t match the rules on this page, please tell us — that is a bug we want to fix.
Irregular cycles: ranges, not single days
With your shortest recent cycle S and longest L, the next period is expected between start + S and start + L. The calculator shifts that range back 14 days for possible ovulation and adds the 5 days before for the fertile range: start + (S − 19) to start + (L − 14). For cycle n the period range is start + n × S to start + n × L — it widens with distance because the uncertainty adds up.
The ovulation calculator’s guide also shows a wider hand-calculation (earliest fertile day = shortest cycle − 20, latest = longest cycle − 10), which allows for a luteal phase anywhere from 10 to 15 days. That is an explanation for planning by hand, not what the irregular calculator outputs — so the two can differ by a few days at each end. These ranges are projections from your entries, not confidence intervals.
Late and projected dates
Days past the expected date is a calendar comparison, not a cause. Before the expected date the result is a countdown; on the date itself it is due today (zero days, not one day late); after it, the count shows how many days have passed. An estimated date passing without bleeding is not a diagnosis, and without a newer recorded start the calculator keeps counting from the last actual start date rather than silently starting a new cycle.
- Known difference: internally, the cycle phase calculator files the expected date itself under “past expected period” and colours it amber, while showing the words “Period due today”. The dates and day counts are the same as everywhere else.
Pregnancy test timing
Most home tests can be used from the first day of a missed period (NHS). When there is no period date to anchor to, NHS guidance advises testing at least 21 days after the most recent unprotected sex. A negative result is less reliable than a positive, especially early: if you still think you could be pregnant, test again a few days later, and speak to a GP if a second test is negative and your period still hasn’t come (NHS).
Model settings are not measurements
| Number | What it is in the model | Where it comes from | What it is not |
|---|---|---|---|
| 14 days | Offset from the next period back to ovulation | The luteal phase is usually more stable than the first half of the cycle; in 600,000+ app-recorded cycles it typically ran 10–15 days (Bull 2019) | Your measured luteal phase |
| 6-day window | Ovulation day plus the 5 days before | Pregnancies in Wilcox 1995 came from sex in this window. Some apps also count the day or two after ovulation, so their window can look 1–2 days longer | A guarantee that other days are infertile |
| 6–12 days | Implantation after ovulation | Range observed in Wilcox 1999 (most on days 8–10) | The day you will see spotting |
| 280 / 266 days | Last period to due date / conception to due date | Naegele’s rule, the standard obstetric convention | A birth date — few babies arrive on it |
| Input limits | Ranges the steppers and fields accept | Technical limits of the tools | Definitions of a healthy cycle |
Real-world data on 600,000+ cycles found luteal phases typically range 10–15 days (npj Digital Medicine, 2019). That figure describes population variation — it is not a validation of this site’s model, and we do not provide a validated personal error margin. The more your cycles vary, the wider the honest uncertainty; beyond 7–9 days of yearly spread, read outputs as rough ranges.
These tools provide estimates for personal planning. They are not contraception, not a pregnancy test, and not medical advice. Persistent irregularity, heavy bleeding, severe pain or missed periods warrant a licensed clinician.
References, scope and version
Reference ranges are not a diagnosis: FIGO uses 24–38 days as the normal adult cycle frequency (21–45 for teens in the first years, ACOG), and regularity is a separate measure with age-dependent limits assessed over months, not from a handful of entries.
- Last reviewed: 8 October 2026, against the code that runs the tools.
- Correction in this review: the irregular-range section previously gave a wider luteal-variation rule than the calculator actually uses; it now states the rule the calculator runs and names the difference. The day-count demo now says that a predicted date becomes day 1 only once the period actually starts, and the rules table says how many dates each average uses and which gaps each tool skips or refuses.
- Wilcox AJ et al. — Timing of sexual intercourse in relation to ovulation, NEJM (1995).
- Wilcox AJ et al. — Time of implantation of the conceptus and loss of pregnancy, NEJM (1999).
- Bull JR et al. — Real-world menstrual cycle characteristics of 600,000+ cycles, npj Digital Medicine (2019).
- FIGO — The FIGO ovulatory disorders classification system.
- NHS — Doing a pregnancy test.
- Office on Women’s Health — Your menstrual cycle.