How do I build a rolling forecast in Excel?
The January forecast is fiction by March, and the Excel version of "rolling" is a chain of HYPERLINK workbooks where September's actuals overwrite cells three people reference. The mechanic itself is simple: closed months lock to actuals, open months carry the latest re-cut, and the full-year number is implied by the join of the two. The demo below computes exactly that from a planning export — YTD actuals, rest-of-year forecast, and the implied full year per line, with the SQL that keeps the two sides honest.
The rolling_forecast.csv sample (period…) is registered as a DuckDB table in your browser — the exact engine workspaces use. SQL is always shown.
Running on the sample rolling_forecast.csv — the question is editable, and the Your own CSV tab registers your file in your browser instead.
Sample datarolling_forecast.csv
How to build a rolling forecast in Excel — without the manual grind
What rolling actually means
Not a new version every month — the same live view: actuals accumulate as months close, the forecast shrinks to the remaining months, and the implied full year re-anchors every cycle. The demo computes all three per line item.
The re-cut, on your export
The sample planning export carries actual (Jan–Sep) and forecast (Oct–Dec) rows — the scenario convention every planning tool exports. The generated SQL aggregates each scenario per line and joins them into one table, % of year actual included.
Roll it forward in one click
In a workspace the query saves as a re-runnable artifact with a share link. Next month's export — with October closed and the forecast pushed out — regenerates the same table. That's the whole rolling mechanic, without the workbook chain.
Common questions
How is this different from an annual budget?
An annual budget freezes in January; a rolling forecast re-cuts the remaining months every cycle using what actually happened. The demo's implied-full-year column is the number that moves — actuals to date plus the current rest-of-year forecast.
What scenario names does it understand?
Actual plus a forecast-like scenario (forecast/fcst/plan) are detected from your data's own values, the way planning tools name them. Budget scenarios stay untouched — the template reads actuals and forecast only.
Can I use a rolling 6-quarter window instead of rest-of-year?
The SQL is shown and editable — the rest-of-year convention comes from the export's forecast rows, so any window your data carries (4+8, half-year, 6 quarters) works the same way.
Run this on your own export, every month
Free workspace: 10 questions/day, files up to 10 MB. Pro $15/mo ($99/yr) for 100 MB. Your files never leave your browser.
client-side by design SQL always shown
More live demos
How do I build a variance vs budget table in Excel?
Skip the SUMIFS rebuild. Drop your GL export, ask for the variance table in plain English, and get working DuckDB SQL pl…
How do I pivot headcount from an HR export?
Stop hand-filtering termination dates in Excel. Ask for the headcount pivot in plain English — active heads by departmen…
How do I merge ERP exports into my planning model?
ERP exports never match the planning model's keys. Join the GL to your dept map, re-key accounts to planning names, and …
How do I calculate run rate from monthly revenue?
Run rate is the trailing 3-month average × 12 — not last month × 12. Drop your monthly revenue export, ask for the run r…
How do I calculate burn rate and runway?
Net burn = cash out − cash in. Runway = cash balance ÷ average net burn. Run both on your bank-activity CSV in plain Eng…
How do I build a 13-week cash flow forecast?
The weekly cash walk without the workbook: drop your receipts/disbursements export, ask for the 13-week forecast, and ge…
How do I pivot expenses by department from a GL export?
Stop hand-filtering revenue rows out of the pivot. Ask for expenses by department in plain English — expense accounts on…