Rolling 12 Month Forecast Template
Three documents and five sheets, where the forecast keeps every version of itself and measures which of your own drivers to stop believing.
Free download · No account needed
Rolling 12 Model
[Entity] — roll 18, at 30 September 2026
Eighteen frozen vintages on file. No rebuild since March 2025. Every forward month is printed twice.
| Twelve months | Revenue | Gross margin | Operating income | Operating margin |
|---|---|---|---|---|
| Just closed, actual | 27,938,112 | 40.2% | 4,438,582 | 15.9% |
| Ahead, raw driver build | 34,017,248 | 43.3% | 7,075,423 | 20.8% |
| Ahead, bias corrected | 33,080,484 | 39.6% | 5,207,549 | 15.7% |
The raw build adds five points of operating margin over a year. Nothing in the drivers explains five points. The corrected column lands two tenths of a point below what the business just delivered, and nobody edited a driver to get there.
Month by month, both views
| Month | h | Raw revenue | Corrected | Raw op income | Corrected | Drivers |
|---|---|---|---|---|---|---|
| Oct 2026 | 1 | 2,705,960 | 2,701,608 | 552,907 | 547,322 | 2 of 8 |
| Jan 2027 | 4 | 2,637,042 | 2,592,315 | 432,928 | 346,046 | 7 of 8 |
| Apr 2027 | 7 | 2,938,990 | 2,840,978 | 674,506 | 494,987 | 7 of 8 |
| Sep 2027 | 12 | 3,184,910 | 3,052,016 | 833,089 | 539,015 | 8 of 8 |
Two of eight drivers get corrected at one month out, because at one month out this model is accurate and there is nothing to correct. All eight get corrected at twelve, where its operating income forecast has averaged 1.58 times what the month delivered.
Page one for this query is one design. A date strip that advances itself, a lookup that drops actuals over the closed month, a driver tab feeding a monthly P and L, and instructions for the refresh routine. The mechanics are correct and several of the guides are genuinely good. Every one of them overwrites last month's forecast at the roll, so not one of them can tell you whether your own forecast has ever been right.
Here the vintage is frozen before actuals arrive, and it is never edited. Ashgrove Technical Services, an illustrative engineering firm of 96 billable staff, has eighteen vintages on file and has not rebuilt since March 2025. Its twelve-month-out revenue forecast has averaged 4.3 percent high, which sounds survivable. Its twelve-month-out operating income forecast has averaged 1.58 times what the month actually delivered, because small optimism on revenue met small optimism on every cost line underneath it, and no single estimate was ever wrong by much.
Every revision carries a class. News is a dated fact that did not exist last month. A re-estimate is the same facts and a different number, and 72 percent of everything this model revised was the second kind. Auditors are told to find bias by comparing prior estimates to what actually happened, and to treat estimates that are individually reasonable and all lean one way as the tell. The annual budget is the fixed-year version of the same job.
What's in the pack
Rolling 12 Model sheet
The twelve months just closed beside the twelve ahead, on the same lines and at the same margins. Every forward month appears twice, raw and bias corrected, with the count of drivers corrected in each. An optimistic forecast becomes visible without an argument.
Vintage Grid sheet
Every frozen version of the forecast, so any closed month can be read as each vintage saw it against what it turned out to be. This is the sheet a rebuilt model cannot have, and everything else here is derived from it.
Driver Bias sheet
Signed error, absolute error and sign consistency for every driver at every horizon, with the correction either applied or withheld and the reason named. Withheld reads as too few observations or a sign that does not repeat, never as a blank.
Reforecast Log sheet
One row per revision that moved operating income ten thousand dollars. News is per driver per month. A re-estimate is per driver per roll with the months it touched, because re-cutting a curve is one decision rather than twelve.
Driver Inputs sheet
Six to ten drivers, each measured somewhere outside the forecast, with the source named per month and volumes split from prices. Cost the new roles in the headcount plan before the headcount driver reaches this sheet.
Space rule
The model rolls and is never rebuilt, the vintage freezes before actuals arrive, every revision over the floor takes a class, and a correction is earned rather than applied. It governs every prompt and document here.
Reforecast Memo
The monthly record: the closed month against what the last vintage said, the revisions that cleared the floor, the news and re-estimation split in dollars, both forward views, and which corrections were withheld. Written for whoever reads it in a year.
Forecast Change Note
One entry per logged revision with the artefact behind it. The test for news is whether the document would exist if nobody had been reforecasting, which is what stops a re-estimate being filed as a fact.
Forecast Accuracy Review
The quarterly track record. Bias by driver and by horizon, what it does to each line, the offsetting pair that makes a wrong total look defensible, the credibility test, and the out-of-sample backtest with the months it made worse.
Four prompts, in dependency order
Roll the month, classify every revision, measure the bias, publish both views. The first freezes the current view before touching an actual, which is the step the whole mechanism depends on and the easiest one to get out of order.
How to use it
- 1
Download the files, or open the pack
Three Word documents and five CSV sheets, with no account. Or open the pack in River and hand it eighteen to twenty-four months of monthly ledger actuals plus the operational history underneath them: headcount, hours, units, backlog, whatever the business runs on.
- 2
Fix the driver list before building anything
Six to ten drivers, each measured outside the forecast and each answerable by somebody. Split every volume from its price. This list cannot change later without ending the record for the lines it touches, so it is worth an argument now. See the month end close for where the actuals come from.
- 3
Freeze first, every single month
The current forward twelve months gets copied into the Vintage Grid before any actual is pulled in and before any driver is touched. A vintage frozen after the roll is already contaminated, and the whole method rests on this one step being in the right order.
- 4
Classify the revisions while the reasons are still known
News needs a dated artefact. Everything else is a re-estimate. Do it the same week, because a revision classified three months later becomes a re-estimate by default when nobody can find the fact any more, and the log stops meaning anything.
Frequently asked questions
Is this template free?
Yes. Three Word documents and five CSV sheets, no account, no card, no trial. Edit with AI exists for anyone who would rather hand over a ledger than fit a driver set and maintain a vintage grid by hand. The rest of the library is in free templates.
How is this different from any other rolling forecast template?
It keeps the old forecasts. Every template on page one overwrites last month's numbers when it rolls, which means none of them can tell you whether your forecast has ever been right. Freezing the vintage costs nothing and is the only thing that makes a track record possible.
What actually counts as news rather than a re-estimate?
A dated artefact that did not exist at the last vintage: an executed change order, a resignation letter, a permit notice, a signed rate card. The test is whether the document would exist if nobody had been reforecasting. A weaker looking pipeline is a judgement, not a fact.
How long before the bias measurement says anything?
Six closed months at a given horizon, so the near end starts working within two quarters and the twelve-month-out correction takes a year. Old board decks and prior models count as vintages, though, so loading them can collapse that wait considerably.
Is correcting the forecast for its own bias not just double counting?
It would be if the correction were applied by default. It is only applied where the error sign has repeated in two thirds of at least six observations, and the backtest is run out of sample, using only months that had already closed. Where it does not help, it gets retired.
Does this replace the decision to reforecast the year?
No, and they answer different questions. Reforecast triggers decide whether a month's miss warrants rebuilding the plan. This maintains a forward twelve months that is never rebuilt, and measures how much to believe it. A month can matter to one and not the other.
Who explains the gap between the last forward month and the actual?
Not this space. That is close variance and it belongs to the close, where flux commentary handles it. This pack owns the path from the far horizon down to the last forward month. For weekly cash the horizon is different again, and that is the thirteen week forecast.
Give the forecast a track record
Download the blank pack as Word and CSV files, or open this exact pack in River and let it set the drivers, freeze the first vintage and start the log that makes everything after it measurable.
Edit with AI