How it works
No black box, no vibes. Every number on this site comes from one of the models below. The core wait model was backtested on held-out data before it shipped, and everything we forecast is graded in public, day after day, against what actually happened.
The data
Our own Florida log: every ride in all four Walt Disney World parks, sampled every 5 minutes since June 2026 — 6.5M+ readings and growing daily. Standby and single-rider waits, Lightning Lane return windows, sellouts and prices, ride status, per-attraction coordinates.
Our own Paris log: Disneyland Park and Disney Adventure World, logged by our cloud collector since 18 August 2026; Paris forecast curves are built from its quarter-hour snapshots. Younger and coarser than Florida's — see what we don't know yet.
Deep history: 3.5M readings (2015–2021) for 13 Florida headliners, including paired posted-vs-actual timed waits — the raw material for True Wait.
Disney's own forecast: for a set of rides in each Florida park — from a handful to about 25, varying by park and time of day — Disney publishes an hour-by-hour wait prediction. We save it every morning — to blend with ours, and to grade it beside ours.
Weather: hourly conditions joined to the full history (Open-Meteo), a 16-day forecast for Florida and Paris, and live US weather-service storm alerts for Florida.
Walking paths: the parks' real footpaths from OpenStreetMap — guest walkways only, never backstage service roads.
The models
01Wait curves (the core)
Each ride gets an hourly wait curve per day-type, built only from that ride's own data. We never estimate one ride from another ride, or from a park-wide average. The badge says which of the ride's own sources it rests on: live its measured curve from our log (needs ≥40 samples/hour across ≥6 hours) → learned its own 2015–21 history → typical its thinner day curve from our log. If none of them covers a given hour, the projection holds the current wait rather than borrowing another ride's pattern.
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). Future dates use the observed hourly medians for that weekday directly (curve), scaled by the crowd forecast — no anchoring across days. Forecast board waits are rounded to 5 minutes, like a real wait sign, because that's the precision they honestly have.
02Blending with Disney's forecast
Disney's own hourly forecast and ours make different mistakes, so a mix of the two beats either alone. We didn't guess the mix: we replayed 8,837 ride-hours (24 July – 1 October 2026) where both forecasts were frozen at 7am, at every mix from all-ours to all-Disney, and use each park's best one. Average error, minutes:
| Park | Ours | Disney's | Blend |
|---|---|---|---|
| Magic Kingdom | 8.1 | 9.0 | 6.3 · 60% ours |
| EPCOT | 8.2 | 7.0 | 5.1 · 40% ours |
| Hollywood Studios | 10.4 | 10.9 | 7.8 · 60% ours |
| Animal Kingdom | 7.7 | 10.0 | 6.5 · 70% ours |
Two honest caveats. First, these weights were chosen on the same days this table scores them on — so the table shows how well the mix fits, not an independent test. The real test is days the blend never saw: the scorecard's “since the blend” line grades every day from 2 October on its own. Second, the blend applies only on the day itself (Disney's forecast doesn't exist for future dates) and only in Florida (Disney publishes none for Paris). We keep storing our unblended forecast too, so the mix can be re-measured as days accumulate.
03True Wait
Disney's posted waits run high: the wait people actually timed was typically about three-quarters of the posted number by day, and nearer 60% late evening. We fit per-ride, per-hour posted→actual ratios from those paired timed waits (minimum 30 pairs per cell, clamped to a sane range, smoothed across neighbouring hours) and show you both numbers — only for the rides that have their own paired timed waits. Other rides show the posted wait alone; we don’t apply another ride’s ratio. Caveat: the timed waits are from 2015–2021, before today’s Lightning Lane system, so treat “really ~N” as an estimate. Plans price every step at the posted wait, the number the queue sign will show you.
04Crowd forecast
A day-level crowd index fitted on 2,333 Florida 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 — a useful guide, not a promise.
05Weather & storms
Rain suppresses waits by a ride-specific amount (open-air rides drop ~7 min, sheltered dark rides ~1 min — measured, not guessed), and the forecast's rainy hours re-price every affected ride, hour by hour. Afternoon hours with a ≥50% chance of rain are flagged as a storm window: lightning closes outdoor coasters before the rain even lands, so plans say "ride the outdoor steps early". In Florida, active US weather-service thunderstorm alerts show by name.
06Lightning Lane
From our 5-minute logging: how far out each ride's return window drifts by booking hour, and when it historically sells out (Flight of Passage's sellout curve is fitted on 620 observed sellouts). The Multi Pass game plan simulates the booking rules against those curves. Single Pass and Premier Access prices are logged live, so a plan can say what a pass really costs you: "$21 skips your ~48 min wait — 44¢ per minute saved".
07Rope-drop bins
The first two hours don't follow clock hours — they follow minutes since the gates opened. We infer each day's true opening from when the wait board lights up, then bin every reading in the first 120 minutes. This is how we measured that Flight of Passage's rope-drop premium is negative (65m in the first quarter-hour vs 50m an hour later — the herd effect). The same bins time late openers like Kali River Rapids to when they actually start, and rides that close before the park does drop out of evening plans.
08The board of record
Same-day Florida plans anchor to our collector's synchronized 5-minute snapshot — one global truth — not whichever edge cache answers your request. Identical inputs produce identical plans on every device until the next tick. Paris plans anchor to the latest live board.
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 — walks measured along the parks' real footpaths, 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.
For plans of six rides or fewer there's no heuristic at all: after pinning any rope-drop headliner first, the solver simulates every possible order of the rest (up to 720 full day-simulations) and returns the fastest one — the Why tab shows the receipts: best order, runners-up, and the worst possible order with the minutes it would have cost you. Larger plans use three seed routes (time-greedy, popularity order, nearest-neighbour) polished by 2-opt; because popularity order is itself a seed, the optimizer cannot lose to riding things in popularity order — the savings number is measured against exactly that.
Premier Pass mode prices every Lightning Lane ride at the ~10-minute LL entrance, so the route becomes pure geography and rope-drop urgency disappears for pass rides. Max day keeps your picks as must-dos, then packs in bonus rides one at a time — always the one that costs the day the least — until nothing more fits before close.
Your phone, in the park
Follow my day re-times the rest of your plan every 2 minutes from where you're actually standing. It only re-times silently; a better order is offered as a suggestion, and only when it saves 10+ minutes — no plan whiplash. It also learns your walking pace (a family with a stroller isn't the average tourist), times your actual queues on-device, and nudges you if you're heading away from your next ride.
Your location stays on your phone. A replan sends the name of the ride you're nearest to, the rides left in your plan and your walking pace — never coordinates; there are no accounts, and your plans, party and game scores live in your browser's own storage.
What we don't know yet
Paris is young. Its curves come from weeks of data, not months, and its 15-minute sampling is too coarse for rope-drop bins — so Paris has no rope-drop timing, no crowd calendar, and no Disney forecast to blend with. Every day the collector runs, that gap closes.
Crowd levels are a coarse guide. The day-level model (r = 0.57) and a ride's own hourly curve don't always agree; trust the minutes on a ride over the level of the day.
Breakdowns can't be forecast. We can tell you a ride broke down most mornings this week; we can't tell you it will today. Plans re-route when a ride goes down.
The nerdy wordsa small glossary, because they're fun
Dijkstra's algorithm — finds the shortest path through a network. Every "walk 7 min" is the shortest route along the park's real footpaths between two attractions, at a measured theme-park stroll of 1.15 m/s (crowds, strollers) — scaled by your own pace once Follow my day has learned it — plus a 1-minute orientation buffer.
Haversine — the formula for distance between two points on a sphere. It used to power every walk; now it's the backup for the rare attraction the path network can't reach, padded by 25% because nobody walks in a straight line through a theme park.
Time-dependent orienteering (TD-OPTW) — the formal name of your park day: visit a set of points where the cost of each point changes depending on when you arrive. It's why "just walk to the nearest ride" fails: the nearest ride might be at its daily peak.
2-opt — a route-improvement move: take a segment of the route, reverse it, keep it if the day gets shorter. Repeat until nothing improves.
Median & quartiles — we use the middle value instead of averages so one weird breakdown day can't distort a curve. The 25th–75th percentile band is the "typical spread" — and every plan step's range is at least ±15% or ±3 minutes, because a wait is never that certain.
Deciles — crowd levels 1–10 are the ten equal slices of 2,333 measured park days. A "7" isn't a vibe; it's "busier than 60–70% of all days we've measured."
Mean absolute error — the scorecard's measure: on average, how many minutes a forecast was off, in either direction.
Honesty rules
Every board says how confident its numbers are. Every plan step carries a range, 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.
And we grade ourselves in public: every morning at 7am park time the forecast is frozen, then scored against what actually happened — right beside Disney's own forecast, graded the same way. A bad day stays on the board. See the live scorecard →
Live data Powered by ThemeParks.wiki · historical waits from Queue-Times.com and TouringPlans’ research data · predictions from DisneyIQ's own logged history · not affiliated with the Walt Disney Company · Privacy · Send feedback