How it works
No black box, no vibes. Every number on this site comes from one of the models below, and every model was validated against held-out data before it was allowed to ship.
The data
Our own log: every ride in all four parks, sampled every 5 minutes — 3.4M+ readings and growing daily. This is the asset nothing else free has: standby waits, single-rider waits, Lightning Lane return windows and sellouts, ride status, per-attraction coordinates.
Deep history: 3.5M readings (2015–2021) for 13 headliners across the four parks, including paired posted-vs-actual timed waits — the raw material for True Wait.
Weather: hourly conditions joined to the full history (Open-Meteo), plus a 16-day forecast at plan time.
The models
1 · Wait curves (the core)
Each ride gets an hourly wait curve per day-type, estimated from our log and the deep history with a hierarchy of fallbacks — the badge you see on every ride is which rung it's standing on: live the ride's own measured curve (needs ≥40 samples/hour across ≥6 hours) → learned its own 2015–21 curve → analog the normalized shape of its closest historical twin (matched on ride type + capacity) → typical the average WDW shape.
Same-day, curves are anchored: we take the ride's live wait right now and project it forward along its curve's shape. Held-out 2019 backtest: beats "assume it stays the same" by +3.6 min per prediction (up to +12 min on Flight of Passage). Out-of-sample on our own log, the live tier wins on 13 of 19 rides. Future dates use the observed hourly medians for that weekday directly (curve), scaled by the crowd forecast — no anchoring across days.
2 · True Wait
Disney's posted waits run high — roughly 80% of actual by day and near 50% late evening. We fit per-ride, per-hour posted→actual ratios from the paired timed waits (minimum 30 pairs per cell, clamped to a sane range) and show you both numbers.
3 · Crowd forecast
A day-level crowd index fitted on 2,333 park days: Disney season (Christmas Peak … September Low — a 2.7× spread) × day-of-week factor, mapped to 1–10 by deciles. Held-out correlation r = 0.57.
4 · Weather
Rain suppresses waits by a ride-specific amount (open-air rides drop ~7 min, sheltered dark rides ~1 min — measured, not guessed). The forecast's rainy hours re-price every affected ride, hour by hour.
5 · Lightning Lane
From our 5-minute LL logging: how far out each ride's return window drifts by booking hour (median over ≥10 observations), and when it historically sells out (quantiles over observed sellouts). The Multi Pass game plan simulates the 2026 booking rules against those curves.
The optimizer
Routing is a time-dependent orienteering problem: the cost of a ride depends on when you arrive at it. We simulate your day on the clock — real walking distances from per-attraction coordinates (haversine at theme-park stroll speed), waits priced by the curves at your projected arrival minute, breaks as blocking windows the route bends around, rope-drop headliners pinned first when you start near open.
Solver: three seed routes (time-greedy, popularity order, nearest-neighbor), each polished by 2-opt local search from the correct post-rope-drop state; best one wins. Because popularity order is itself a seed, the optimizer cannot lose to just riding things in popularity order — the savings number you see is measured against exactly that baseline.
Honesty rules
Every wait shows its confidence tier. Every plan step carries a 25th–75th percentile band, not just a point guess. If a ride is meaningfully quieter at another hour, the step says so. If the park is closed, the plan says it's a forecast. When we're thin on data, we say that too.