Skip to content
aadya

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.

1

You log periods

Only the start dates of past periods. The model turns them into cycle lengths. No symptoms, no location, no account.

2

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.

3

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.

4

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.

5

It learns, on the device

When a period is confirmed, the model can update a small personalisation state. That state stays on the device.

Play with it

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.

Pick a cycle history

Logged cycle lengths: 26, 31, 28, 33, 27, 30 days · age group 25-34

Probability of each cycle length4%7%11%14%1520253035404550556065707580859095100105110115120days from the start of the last periodactual: day 29most likely day 29 · 80% window days 25–33

Watch the forecast update as time passes without a period. This is the same model, asked again each day.

Optional, experimental: an ovulation test (the surge had passed by day 17)

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.

Uncertainty

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.

Optional input

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.

Pick a cycle history

Logged cycle lengths: 26, 31, 28, 33, 27, 30 days · age group 25-34

Probability of each cycle length4%7%11%14%1520253035404550556065707580859095100105110115120days from the start of the last periodmost likely day 29 · 80% window days 25–33

Watch the forecast update as time passes without a period. This is the same model, asked again each day.

Optional, experimental: an ovulation test (the surge had passed by day 17)

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.