Formula (ACOG additive convention):
Period start[k] = LMP + k × cycle length, for k = 1, 2, 3.
Period end[k] = Period start[k] + (period length − 1) (inclusive last day).
Ovulation = LMP + (cycle length − 14), using the standard 14-day fixed luteal phase.
This is the canonical method used by every major incumbent (Flo, Calculator.net,
Omni, American Pregnancy Association) and documented in ACOG's guidance on
fertility-awareness-based family planning.
Prediction accuracy: Symul L et al. (HROpen 2020;2020(2):hoaa011)
analyzed large-scale cycle data and found ~42.5% of people with apparently regular
cycles have ≥7 days of intracycle variability. A review of calendar-method studies
(PMC3658377) reports mean error around 6 days for the next bleed. This is why
predictions degrade past cycle 1 and why this tool shows a caveat.