Make a prediction first
Imagine keeping a dream diary for a month, then checking each morning whether last night’s dream theme matches what actually happens that day. If dreams carry no real predictive information at all — just random theme-picking, night after night — how often would you expect an apparent “hit,” especially if you’re willing to interpret a match loosely? Try it below.
Exact chance-alone match probability per night: 32.2%
Click "Run simulation" to check this against a much longer synthetic diary.
What changed and why
The exact figure and the generated diary both update live as you change the matching criterion, the number of nights, or the seed — this is closed-form arithmetic (summed squared probabilities) plus a cheap generation step, not a heavy simulation. Run simulation repeats the process across a much longer synthetic diary (in a background worker) to confirm the observed hit rate converges to the exact formula’s prediction.
Why the flexible number is so high
Under “strict” matching, a night only counts as a hit if the dream theme is the exact same theme as the next day’s dominant theme — already about 15% of nights, purely by chance, because a handful of themes (being chased, falling, arriving late) are disproportionately common to begin with. Under “flexible” matching, a night counts as a hit if the dream and the day merely share a broad category — nearly a third of nights. This is the same post-hoc probability mechanism behind many “my dream predicted this” stories: interpreting a dream loosely enough, after already knowing what happened, makes a “match” almost routine rather than remarkable.
A note on privacy and what this tool does not do
This tool stores, transmits, or analyzes no real dream content whatsoever. Every “dream” and “event” shown is drawn from a short, fixed list of generic themes (being chased, falling, flying, and so on) by a seeded random number generator running entirely in your browser. Nothing you type is collected, because there is nowhere in this interactive to type a real dream at all — that is a deliberate design choice, not an omission.
Model assumptions
- The relative commonness of each theme loosely follows published survey data on how often people ever report having each type of dream,(Nielsen, Zadra, Simard, Saucier, Stenstrom, Smith & Kuiken, 2003) but this tool treats those lifetime-prevalence figures as if they were nightly probabilities — a simplification the original research does not make, adopted here only to give the illustrative themes realistic relative weights.
- Dreams and next-day events are modelled as fully independent, random draws from the same small set of themes — deliberately representing a world with no real predictive connection between them at all.
- “Flexible” matching uses one specific, fixed grouping of themes into broader categories; a different grouping would change the exact numbers without changing the underlying lesson.
Reproducibility
Every diary is seeded: the same number of nights, matching criterion, and seed always produce the same synthetic diary. Running the simulation updates this page’s URL so you can share the exact setup.
Sources and method
The exact match-probability formula (summing each category’s squared probability) follows directly from independence between the two draws, verified in this tool’s unit tests against hand-computed small cases before being wired up to the interactive. The illustrative theme weights are loosely informed by published survey research on commonly reported dream themes.(Nielsen, Zadra, Simard, Saucier, Stenstrom, Smith & Kuiken, 2003)