From a few dates to a full distribution.
Aadya forecasts the start of the next period. It does not show an ovulation date or a fertile window, and it is not a medical device.
You log periods
Only the start dates of past periods. The model turns them into cycle lengths. No symptoms, no location, no account.
The model reads the history
It looks at the pattern, the spread, and how long it has been since the last period, and compares that against what it learned from a large synthetic population of cycle histories.
It returns a distribution
A probability for each cycle length from 1 to 120 days. An app can show the most likely day and an 80% window.
It widens when unsure
Thin or messy history widens the window instead of faking precision. A classical Bayesian model is blended in as an assist when history is short.
It learns, on the device
When a period is confirmed, the model can update a small personalisation state. That state stays on the device.
Ask the model, day by day.
These are real outputs of aadya-m1, computed offline from the released weights. Change the history, let days pass, and try the optional ovulation test.
Logged cycle lengths: 26, 31, 28, 33, 27, 30 days · age group 25-34
Watch the forecast update as time passes without a period. This is the same model, asked again each day.
Studied on one small study of 41 people. Never an ovulation date.
80% window for these inputs: days 25 to 33. Real output of aadya-m1, precomputed offline from the released weights; nothing is faked and nothing is sent anywhere.
Why a window beats a date.
Calibrated
On the benchmark, the 80% window holds the real day about 85% of the time on simulated users. Calibration is checked, not assumed.
Never a lone date
Showing one date implies certainty nobody has. The product rule is a probability window every time.
Abstain or widen
With no history the forecast defers to a population prior. The honest answer to “I do not know yet” is a wide window.
The ovulation-test marker.
If a person already takes ovulation tests, the cycle day on which the surge had passed can narrow the window for the period. It is optional and experimental, validated on one small study (41 people, 110 cycles), and it is never shown as an ovulation date.
Logged cycle lengths: 26, 31, 28, 33, 27, 30 days · age group 25-34
Watch the forecast update as time passes without a period. This is the same model, asked again each day.
Studied on one small study of 41 people. Never an ovulation date.
80% window for these inputs: days 25 to 33. Real output of aadya-m1, precomputed offline from the released weights; nothing is faked and nothing is sent anywhere.