Short answer: track a small set of variables — sleep, stress, cycle, and (where applicable) barometric pressure — every day, attack or not, for at least 6–8 weeks. Then look for within-person patterns, not absolute thresholds. Avoid logging foods unless you have specific suspicions; the evidence base for food triggers is weaker than the folklore suggests.

This page walks through the method most consistent with prospective research, the common mistakes, and how Hermly automates most of the data capture so you don’t have to journal manually.

Why the classic “trigger diary” usually fails

The standard advice for years has been: “Keep a migraine diary and write down everything that happened around each attack.” There are two structural problems with this approach.

First, recall bias. You write the diary entry after the attack, so you’re searching memory for what was unusual. Memory preferentially serves up patterns. The diary then confirms those patterns whether they’re real or not.

Second, only logging attack days. Without comparison data from non-attack days, you have no way to know whether a candidate trigger was actually associated with attacks more often than chance. “I had wine on three of my migraine days” is meaningless without knowing how many non-migraine days you also had wine.

Both problems compound: people end up confident in trigger associations that don’t survive statistical scrutiny. The Turner-Houle group (Cephalalgia 2018) reviewed perceived-trigger beliefs and found high confidence in associations that often weren’t supported by prospective data.

A research-aware protocol

Based on what actually predicts in published cohorts (Houle 2017, Lateef 2024, HAPRED-II 2026), here’s a low-friction protocol:

Variables to track daily

  1. Sleep — duration and a quick “how rested did you feel?” rating. Sleep is one of the most consistently predictive variables in cohort research.
  2. Stress — a single 0–10 rating, end of day. Houle 2017 found this alone reaches AUC 0.65 in personalised models.
  3. Menstrual cycle position — if applicable. Day of cycle, or phase (menstrual / follicular / ovulatory / luteal).
  4. Barometric pressure — pulled from your phone’s weather data automatically; you don’t need to log this manually.
  5. Attack — when one happens: start time, peak pain rating (0–10), and what abortive medication you took.

Variables to skip (most people)

  • Food — don’t log unless you have specific, reproducible suspicions. Holsteen 2020 found general food logging doesn’t predict (C-statistic 0.56). See our food trigger page.
  • Specific weather variables — temperature, humidity, precipitation rarely add to barometric pressure as a single weather feature.
  • Caffeine quantity — same Holsteen finding; doesn’t predict meaningfully in most cohorts.
  • Exercise minutes — modest effect at best; cohort evidence is mixed.

Logging cadence

  • Daily, not weekly. Memory degrades fast for these inputs.
  • At a consistent time — end of day is best for stress and sleep quality reflection.
  • Both attack and non-attack days. This is the part most diaries get wrong.

How long until a pattern emerges?

Two timescales matter:

  • Within-person stress + sleep correlations — typically visible after 4–6 weeks of daily logging. The within-person pattern is what matters; population statistics don’t tell you your individual triggers.
  • Cycle-day correlations — need at least 3 complete cycles, so 10–12 weeks. Less than that and you’re working with too few observations per cycle day.

Below those thresholds, anything you “see” is likely noise. This is why prospective ML models (HAPRED-II) explicitly weight early predictions less, and why Hermly’s personalisation layer takes about 30 days to start meaningfully outperforming the cohort baseline.

How Hermly handles this for you

Tracking these variables manually is achievable but tedious. Hermly automates most of the inputs:

  • Sleep — read from Apple Health (manual logs, Apple Watch, or any third-party sleep tracker).
  • Barometric pressure — pulled from WeatherKit, keyed to your CoreLocation fix.
  • Menstrual cycle — pulled from Apple Health.
  • HRV / resting heart rate / wrist temperature — Apple Watch if paired.
  • Attacks + pain + medication — what you log in the app.

The one thing that needs daily manual input is stress, and even that’s optional. Hermly’s stress prompt is a single 5-button tap end-of-day, opt-in via Settings. See the stress trigger page for why this is the one self-report worth the friction.

Reading your own data

After 6–8 weeks of data, Hermly’s monthly report and doctor report surface the per-factor associations: “Across your 7 attacks this month, 5 occurred on days when sleep was below your baseline.” That kind of within-person statement is what you can actually act on.

The associations Hermly will not show:

  • A single trigger as “the” cause. Migraine is multifactorial; any single-cause story is almost always wrong.
  • A “trigger score” that ranks foods, weather, or sleep against each other. The data is too noisy at the individual level for the rankings to be reliable.
  • A “you should avoid X” recommendation. Hermly informs; clinicians recommend.

What to bring to your doctor

Once you have 8+ weeks of consistent data, the most useful artefact is the Doctor Report — a structured PDF with the attack calendar, per-factor associations, and a summary your clinician can read in 60 seconds. It is not a diagnosis, and the clinician will use it as one input among many.

The goal of tracking isn’t to find “the trigger”. It’s to make your patterns legible to you and to a clinician who can act on them.