Among the dozens of self-reported migraine triggers, perceived stress has the most consistent evidence in peer-reviewed research. The Houle 2017 forecasting model — the parent of the HAPRED line — built a useful forecaster using just two features: current headache state and today’s stress. That stress-alone contribution reached AUC 0.65 on leave-one-out validation, which is roughly where the entire field still sits today.
This page covers what the research shows, the difference between acute stress and let-down headaches, and how Hermly’s optional daily stress prompt feeds the model without becoming a chore.
The strongest single self-report signal
In every prospective cohort study that has tested it, perceived stress is the single most predictive self-report variable. Some context:
- Houle 2017 (HAPRED-I) — built a 2-feature forecaster using the Daily Stress Inventory (or its simplified Likert proxy) + current headache state. AUC 0.73 in derivation, 0.65 in leave-one-out validation.
- Houle 2017 abstract verbatim — “Adding multiple stress predictors to the same model did not improve model fit beyond any predictor alone, nor did adding interaction terms.” In other words, any sensible measure of stress works; you don’t need 50 questions.
- Lateef 2024 (Neurology, n=477) — average stress and energy changes the prior day were significant predictors of later-day headache in a 4×/day EMA study.
- HAPRED-II 2026 (n=230) — external validation of HAPRED-I reconfirmed the stress signal in an independent cohort.
This is unusual in the migraine prediction literature, which mostly produces weak or non-replicable single-variable findings. Stress is the exception.
Acute stress vs let-down — both patterns are real
Two distinct stress-migraine patterns appear in the data:
- Acute stress days — the more familiar pattern. An especially stressful day raises the same-day or next-day attack probability.
- Let-down headache — the day or two after a peak-stress period. Weekend headaches are the canonical example: a high-demand week followed by Saturday morning attack. The mechanism may involve rapid changes in cortisol or sympathetic tone.
Cohort data confirms both. The acute-stress effect is larger, but the let-down effect is reliable enough that “I was fine and then relaxed” is a real phenomenon, not a coincidence.
Why a single 0–10 scale is enough
The Daily Stress Inventory that Houle 2017 used is a 58-item checklist. We are not going to ship that — it violates Hermly’s Calm-over-engagement design principle. But Houle’s own abstract makes clear that simpler measures work just as well: a single 0–10 stress rating captures essentially the same predictive signal.
Hermly’s opt-in daily stress prompt uses 5 buttons:
- Calm (0)
- Mild (3)
- Moderate (5)
- High (7)
- Severe (10)
The anchors map onto the conventional PSS-derived single-item Likert. The threshold for “high stress” — at or above 7/10 — is what fires the stress factor in Hermly’s rule engine, in line with the PSS scoring convention.
Why it’s opt-in
By default the stress prompt is off. Privacy and Calm together argue against assuming the user wants to engage daily. When the toggle is on, you’ll see the prompt below the three factor cards on Today. When the toggle is off, the model still runs — it just gets one fewer signal.
Expected AUC lift from enabling the stress prompt is 0.02 to 0.05 based on the published literature — not nothing, but not magic either. The right calculus is: “Am I willing to spend 5 seconds a day for a 5 percent better forecast?” If yes, turn it on. If no, leave it off — the model is honest about being weaker without it.
What we deliberately don’t do
- Push notifications reminding you to log stress — would violate the Calm principle and likely cause logging fatigue rather than better data.
- Multi-item daily questionnaires — Houle 2017 ruled out the marginal benefit; adding more questions doesn’t help and costs retention.
- Stress score in widgets or on the Watch — too easy to read as a judgment (“You’re stressed → you’ll get a migraine”) when the actual model relationship is probabilistic and modest.
What Hermly does is offer the cheapest, lowest-friction implementation of a real predictive signal. Use it if you want a better forecast. Skip it without penalty.
This is not a stress-management app
Hermly does not coach you to breathe deeply, recommend a meditation, or send a calming prompt during a high-stress day. There are excellent apps for that. Hermly’s job is to make the correlation legible — and ultimately to help you and your doctor decide whether stress is a meaningful driver for you specifically.