Skip to content
← projectsdata

redmoon

My Apple Health data. Menstrual cycle and sleep, without third-party bibliography.

~730 daysof data4cycle phasesn = 1sample size

The problem

Most studies on menstrual cycle and sleep use lab samples, self-reported metrics or actigraphy — not continuous wearable data from a real person in their daily life. I had two years of my own Apple Health data. The question was not "does a relationship exist?" — the literature says yes. It was "can I see it in my data, with my outliers, with my noise?"

The data

Apple Health exports: nightly sleep data (REM, deep sleep, light sleep in minutes, latency) with heart rate and nightly HRV; menstrual cycle data (start dates, duration). ~730 days of continuous daily data.

Approach

  • Segmentation of each day into one of four cycle phases: follicular, ovulatory, luteal, menstrual — computed from recorded start dates
  • Distribution of sleep metrics (HRV, deep sleep, latency) by phase with bootstrapping for confidence intervals — the sample is n=1, the intervals are wide by design
  • Outlier analysis: identification of days with travel, alcohol, intense exercise or illness and their effect on sleep metrics
  • Effect size comparison: how much does the cycle phase explain vs. how much do outliers explain?

Tools

jupyter
apple health

Result

Nightly HRV drops consistently in the luteal phase and rises in the follicular, in line with the literature. The most revealing result: outliers (a trip, a night of drinking) distort sleep metrics more than the cycle phase. With n=1, that is not analysis noise — it is information about which factors dominate in practice.

Next steps

The current analysis is univariate by phase. The natural extension is a mixed model that simultaneously controls for phase, day of week and catalogued point events — to isolate the net effect of the cycle phase from the noise introduced by outliers. More years of data also need to be added to reduce the confidence intervals.