River
Y CombinatorBacked by Y Combinator

Free template

Rolling 12 Month Forecast Template

Three Word documents and five CSV sheets for a 12-month forecast that rolls forward each month, keeps every old version and measures its own bias.

Free download · No account needed

What you get

Pack of 8 files: 3 documents, 5 spreadsheets

Rolling 12 Month Forecast Template
  • Reforecast MemoDocument
  • Forecast Change NoteDocument
  • Forecast Accuracy ReviewDocument
  • Rolling 12 ModelSpreadsheet
  • Driver InputsSpreadsheet
  • Vintage GridSpreadsheet
  • Driver BiasSpreadsheet
  • Reforecast LogSpreadsheet
RiverRolling 12 Month Forecast Template

Rolling 12 Model

Ashgrove Technical Services: roll 18, at 30 September 2026

Eighteen frozen vintages on file. No rebuild since March 2025. Every forward month is printed twice.

Twelve monthsRevenueGross marginOperating incomeOperating margin
Just closed, actual27,938,11240.2%4,438,58215.9%
Ahead, raw driver build34,017,24843.3%7,075,42320.8%
Ahead, bias corrected33,080,48439.6%5,207,54915.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

MonthhRaw revenueCorrectedRaw op incomeCorrectedDrivers
Oct 202612,705,9602,701,608552,907547,3222 of 8
Jan 202742,637,0422,592,315432,928346,0467 of 8
Apr 202772,938,9902,840,978674,506494,9877 of 8
Sep 2027123,184,9103,052,016833,089539,0158 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 1 of 1200 words

How to build a rolling 12-month forecast

A rolling 12-month forecast projects your revenue, costs and profit month by month, always 12 months ahead. When a month closes, you replace its forecast with actual results and add a new month at the far end. Unlike an annual budget, the view never shrinks toward year-end. A good one is built from a small set of business drivers, updated on a fixed day each month and checked against what really happened.

Keep every version you make. A forecast that overwrites itself can never tell you how far off it usually runs, or in which direction.

Two men in suits reviewing printed charts and a laptop at a table, one taking notes in a notebook
Write down why each number moved while the reason is still fresh. Photo: Vitaly Gariev on Unsplash

Set the horizon and the rhythm

The usual horizon is 12 months in monthly steps; weekly cash belongs in a separate 13-week cash flow forecast. OpenStax's managerial accounting textbook describes a rolling budget as one where a new month is added as each month passes1. It also warns that continual updating takes managers away from other duties, so keep the routine small and run it soon after each month-end close.

The Government Finance Officers Association (GFOA) contrasts a "conservative" forecast, which underestimates revenues and builds in a layer of contingencies2, with an "objective" one that aims for accuracy. A rolling forecast should be objective: your best estimate, kept apart from the annual budget and from anyone's bonus target.

Budget or rolling forecast?

QuestionAnnual budgetRolling forecast
What does it answer?What did we commit to this year?What do we expect over the next 12 months?
How far ahead does it look?To year-end, so less each monthAlways 12 months
When does it change?Once a year, at approvalEvery month, after the close
What do you compare?Actual results with the planEach old version with what happened

Choose 6 to 10 drivers

Build the forecast from drivers, not typed totals. A good driver is measured somewhere outside the forecast, moves for its own reasons and has someone who can answer for it. Billable utilization (the share of hours billed to clients) passes all three tests. "Revenue growth" fails, because it is the result of everything else.

Split any driver that mixes volume and price, because hours and bill rates go wrong for different reasons. With fewer than six, the forecast tends to collapse into a single growth rate. Well above 10, upkeep grows faster than accuracy. On forecasting methods, GFOA notes that simpler techniques tend to perform just as well or better on average2.

Typical drivers by type of business

BusinessVolume driversPrice and cost drivers
Professional servicesBillable headcount, utilization, contractor hoursBill rate, salary and benefits per head
Subscription softwareNew customers, cancellations, seatsPrice per seat, hosting cost per customer
ProductsUnits sold by channelAverage selling price, unit cost

Fix the list before you build: a driver added later has no history to compare against. Plan and cost new hires in a headcount plan before they reach the headcount driver.

Build the first 12 months from history

Start each driver from its recent history, then let the drivers produce the months. Take working days from the calendar, not an average: in a business that bills time, a 23-day month holds 15% more billable hours than a 20-day month.

Put the last 12 months of actuals beside the next 12, line for line, with margins for both. A forecast operating margin 5 points above anything you've recently delivered needs a named reason before anyone approves it.

Then save this version with its date, and never edit it. Economists call such dated copies vintages: the Philadelphia Fed's real-time data set consists of vintages, or snapshots3, of economic data. Old board decks with forward numbers count as vintages too.

Update your rolling forecast after every close

  1. Freeze the current version

    Copy the live 12 months into your vintage history before touching anything. A copy made after actuals go in already knows the answer.

  2. Load the closed month

    Replace its forecast with actuals, note each figure's source and tie revenue and operating income to the trial balance.

  3. Add a new final month

    Build it from the drivers and its own working days, not by copying the month before.

  4. Revise and log

    Change any driver you now see differently, and log each change with its reason that same week.

Every revision is one of two kinds. News is a new fact with a dated document behind it: a signed order, a resignation letter, a delayed permit. A re-estimate is the same facts with a new judgment. News can't be forecast. Re-estimates are habits, and habits repeat, so you can measure them.

Log only revisions that move operating income past a floor, such as $10,000 for a business with $30 million in revenue. Log news against the month it affects, and each re-estimate once, with the months it touched.

ExampleTwo entries from one month's revision logAn illustrative example written for this guide

News: utilization for May down 0.8 points, operating income down $12,000. A county notice dated September 22 moves a site start from late April to early June.

Re-estimate: utilization for March to August down 1 point, operating income down $86,000. Same backlog report as last month, read more cautiously.

  • The test for news. Would the document exist if nobody were reforecasting? The county notice would. A more cautious reading of the backlog wouldn't.

Measure your bias

Once six months have closed, compare each frozen version with the actuals. For every driver and horizon (how many months ahead the forecast was made), work out the signed error: forecast divided by actual, minus 1. A 78% forecast against a 75% actual is +4%. The average signed error is your bias; the average without signs is your typical miss.

Misses on both sides of zero are the cost of looking ahead. Misses that keep the same sign are a habit, hard to see from the inside. Roger Buehler, a social psychologist, describes the planning fallacy as an optimistic prediction bias4 that persists even when people know similar tasks took longer before.

Profit magnifies small biases. Take a month with $2 million of revenue and $1.8 million of costs. Forecast revenue 3% high and costs 2% low, and operating income comes out at $296,000 instead of $200,000, or 48% too high.

Correct only what repeats

HM Treasury asks for this kind of correction on UK public projects. Because appraisers tend to be over optimistic5, it tells them to adjust estimates using data from past or similar projects. Your frozen versions are that data.

When a driver earns a bias correction

What the record showsWhat to do
Fewer than six closed months at that horizonWait, and adjust nothing
Six or more, same sign at least two times in threeRemove the measured bias
Six or more, signs mixedShow a range instead; correcting noise makes it worse

This template's rule, applied horizon by horizon.

Test a correction before you trust it. Month by month, estimate the bias from earlier months only, then score the corrected forecast against what happened. In their forecasting textbook, Rob Hyndman and George Athanasopoulos note that accuracy can only be judged on new data6 not used to fit the model. Then publish both versions, so readers can see what you adjusted.

Before each month's forecast goes out

  • Last month's version was frozen before actuals went in
  • The closed month ties to the trial balance
  • Every revision over the floor is labeled news or re-estimate
  • Corrections apply only where six or more closed months show a repeating sign
  • Raw and corrected views sit beside the last 12 months of actuals

When to involve your accountant

If the forecast feeds a loan covenant test, a going-concern assessment or anything investors rely on, have your accountant review the method. This guide and the template are planning tools, not accounting advice.

To skip the setup, open this template in River and send 18 to 24 months of monthly actuals. River proposes drivers for you to approve, builds the first 12 months and freezes them as version one.

How to use this template

Download the files and work in them directly. Each comes filled in for a made-up engineering firm with 18 monthly rolls on record, so you can see how the history builds. Or open the template in River and send 18 to 24 months of monthly ledger actuals, the operating history behind them and any old forecasts you still have.

River proposes 6 to 10 drivers and waits for your approval before building anything. It then builds the next 12 months from those drivers and sets them beside the last 12 months of actuals. It asks about any line that differs sharply from recent results, then freezes the result as version one. It also tells you plainly that bias corrections need six closed months first.

  1. Download it or open it in River

    Download the three Word documents and five CSV sheets free, or open the template in River to build your forecast with AI.

  2. Agree on your drivers

    Send 18 to 24 months of ledger actuals and operating history, then approve the 6 to 10 drivers River proposes.

  3. Build and freeze version one

    River builds 12 months from the drivers, checks them against the last 12 months of actuals, then freezes that version.

  4. Roll it after every close

    After each close, send the month's actuals. River freezes the old version first, logs each sizable revision as news or re-estimate, and drafts the memo.

What's in the template

What eighteen frozen vintages know that a rebuilt model cannotThe bias by driver and horizon, the news against the re-estimation, one month's whole forecast life, and the out-of-sample backtest.
Rolling 12 Month Forecast Template
RiverThe record

Driver Bias

Ashgrove Technical Services, Inc. Engineering services, 96 billable staff, 24 closed months to 30 September 2026, 18 vintages held. An illustrative company. Mean signed error, forecast over actual minus one. Positive means forecast high.

Driverh=1h=3h=6h=9h=12
Utilization0.37%1.74%3.61%5.09%6.15%
Realized bill rate0.03%0.46%1.13%1.88%2.57%
Billable headcount0.18%(0.54%)(1.38%)(2.47%)(3.67%)
Pass-through revenue0.47%0.25%0.09%(0.32%)(0.15%)
Contractor hours(1.51%)(4.55%)(8.20%)(15.65%)(18.05%)
Salary and burden per head0.09%(0.12%)(0.78%)(1.09%)(1.91%)
Non-billable payroll0.10%(0.98%)(2.03%)(2.85%)(4.38%)
Recruiting and other G&A0.39%(1.32%)(4.47%)(7.76%)(10.40%)

Every driver is close to unbiased one month out and every driver with a bias sees it grow with horizon. Pass-through revenue is the exception because it has no bias to grow. Revenue drivers run high at distance, cost drivers run low, and the two point the same way once they reach the bottom line.

What it does to the lines

Lineh=1h=3h=6h=9h=12
Revenue0.58%1.51%2.98%3.88%4.32%
Gross profit1.39%5.31%11.30%16.72%19.97%
Operating expense0.21%(1.10%)(2.92%)(4.62%)(6.50%)
Operating income3.44%15.69%33.94%49.59%58.43%

A revenue forecast 4.3 percent high arrives at operating income 58.4 percent high. That is why the annual forecast has been treated as broadly reliable for two years while every operating income commitment made against it was missed. Nobody was wrong about revenue by much. The leverage did the rest.

The offset that hides half of it

Utilization and rate together, at h=128.87%
Reported revenue optimism, same horizon4.32%
Headcount, under-forecast(3.67%)
Concealed by the offset3.99 pts, or 45%

Utilization is set from an assumed backlog conversion, the conversion does not arrive, and the response is to hire into the gap. Those hires were never in the plan, so the plan under-counts heads while over-counting how busy each will be. The revenue total looks defensible and both inputs are wrong.

RiverNews or drift

Reforecast Log

Every revision that moved operating income ten thousand dollars, over 18 rolls. News is logged per driver per month. A re-estimate is logged per driver per roll, because re-cutting a curve is one decision rather than twelve.

DriverNewsRe-estimateRe-est shareRolls, same direction
Utilization376,7491,857,25083%17 of 17
Realized bill rate136,869693,09284%16 of 16
Billable headcount321,668204,76739%11 of 11
Contractor hours334,128145,90630%9 of 9
Salary and burden per head10,824170,93894%11 of 11
Non-billable payroll10,14393,56090%6 of 6
Recruiting and other G&A45,37350,03452%4 of 4
Pass-through revenue00no rows earned0 of 0
Total1,235,7533,215,54772% 

Seventy-two percent of everything this model revised was re-estimation of facts already in hand. Utilization and realized bill rate carry 79 percent of it between them. Both are entered as judgments about the backlog and the rate card, and both get walked back nearly every month.

Why the floor is stated in operating income

Pass-through revenue earned no log rows in eighteen rolls. In percentage terms it moves as much as anything on the page, and it is recovered at a four percent margin, so it never shifts the bottom line ten thousand dollars. The noisiest driver in the model turns out to be the one least worth writing about, and a floor stated in driver units would never have found that out.

144 rows, out of 1,584 revisions

Driver-month revisions the rolls produced1,584
Earned a log row144
Of those, news70
Of those, re-estimate74
Below the 10,000 floor, not logged282

A log everybody stops reading is a log that stops working. The floor is what keeps 144 rows in front of a reader instead of 1,584.

RiverOne month

The whole forecast life of one month

September 2026 · every vintage that ever forecast it

Operating income effects, attributed one revision at a time so the parts sum to the whole with no interaction residual.

VintagehHeadsUtilRateRevenueOp incomeNewsRe-est
Sep 20251293.179.0%188.042,713,574726,622anchor 
Oct 20251193.178.6%186.412,679,895689,611(21,437)(15,574)
Nov 20251093.177.7%186.412,652,712657,6570(31,954)
Dec 2025993.477.5%184.752,632,518611,520(23,352)(22,786)
Feb 2026793.476.6%184.752,607,592575,29827(30,395)
Mar 2026693.575.6%184.272,572,189514,580(23,983)(36,734)
Apr 2026593.574.0%183.772,518,457459,632(19,006)(35,943)
Jun 2026395.074.0%183.362,548,042442,0868,815(10,644)
Aug 2026196.074.0%182.542,562,295432,055(949)(2,020)
Actual096.074.4%182.902,578,167458,867close variance 26,812

Three vintages omitted for space. Every one is in the sheet.

Where the 294,567 went

Operating income at h=12726,622
Operating income at h=1432,055
News, over eleven revisions(91,963)31%
Re-estimation, same facts(202,604)69%
Actual, and the close variance458,86726,812

Utilization went from 79.0 percent to 74.0 across those eleven revisions and the month delivered 74.4. Nothing arrived to justify most of that path. Somebody looked at the same backlog eleven times and picked a lower number each time, which is a habit rather than an event, and a habit is measurable.

RiverEarned

Which drivers earn a correction

At six months out, using every closed month. A correction needs at least six observations and an error sign that repeats in at least two thirds of them.

DriverMean signedMean absoluteSign repeatsCorrection
Utilization3.61%3.61%100%applied
Realized bill rate1.13%1.13%100%applied
Salary and burden per head(0.78%)0.78%100%applied
Non-billable payroll(2.03%)2.03%100%applied
Contractor hours(8.20%)8.25%92%applied
Recruiting and other G&A(4.47%)5.17%92%applied
Billable headcount(1.38%)1.43%75%applied
Pass-through revenue0.09%1.96%58%withheld

Pass-through misses by 1.96 percent and gets corrected by nothing. Salary per head misses by 0.78 percent and does. The inversion is the whole rule. Absolute error tells you how wide the range is. Only a repeated sign tells you the number is wrong in a direction you can fix, and correcting a driver that misses both ways makes the forecast worse.

Observations available, by horizon

h=1h=3h=6h=8h=10h=12
1715121086

The far end of the horizon carries the largest correction on the thinnest evidence, which is the standing weakness of this method and the reason the six-observation floor exists. A twelve-month-out correction is not the same claim as a three-month-out one and should not be presented as if it were.

RiverBacktest

Does removing the bias help

Out of sample. For each closed month in turn, each driver's bias was estimated using only the months that had already closed at that point, the correction applied, and the result scored against actual. Live for six months at a six-month horizon.

TargetRaw revenueCorrectedActualRaw errorCorrected error
Apr 20262,502,5532,429,5592,410,7033.81%0.78%
May 20262,369,4112,297,1722,335,5581.45%(1.64%)
Jun 20262,522,8572,450,1962,431,0053.78%0.79%
Jul 20262,693,6152,614,8992,582,6514.30%1.25%
Aug 20262,410,4122,336,7262,313,7954.18%0.99%
Sep 20262,572,1892,491,2682,578,167(0.23%)(3.37%)
 RawCorrected
Revenue, mean signed error2.88%(0.20%)
Revenue, mean absolute error2.96%1.47%
Operating income, mean signed32.83%0.82%
Operating income, mean absolute32.83%7.73%

Revenue absolute error fell 50 percent and operating income absolute error fell 76 percent, with no driver estimate changed by anybody. The only thing removed was the bias the frozen vintages had already measured.

The month it made worse

September 2026 was 0.23 percent under-forecast raw and 3.37 percent under-forecast corrected, because September delivered 74.4 percent utilization against a forecast 75.6 and correcting a downward miss made it worse. Six months is a small sample and the correction will sometimes hurt. It is on the page because a backtest that shows only the months it worked is not a backtest.

What the record says to change

Not the model's conservatism. A conservative model has the same problem in the other direction and no way to know it. Change what utilization and realized bill rate are set from, so both are built from the backlog and the renewal calendar at the vintage date with conversion taken from the company's own trailing record. Then put the reactive backfills in the plan, sized from actual attrition of 3.4 percent rather than the assumed 6.

  • Reforecast MemoThe monthly memo: last month against its forecast, the revisions that cleared the floor, and both forward views.
  • Forecast Change NoteOne entry per logged revision, with its class, driver, effect on operating income and the evidence behind it.
  • Forecast Accuracy ReviewThe quarterly scorecard: bias by driver and horizon, offsetting errors, earned corrections and an out-of-sample test.
  • Rolling 12 Model sheetThe last 12 months of actuals beside the next 12, each forward month shown raw and bias-corrected.
  • Driver Inputs sheetEach driver month by month: 24 months of actuals, then the forecast raw and corrected, with each row's source.
  • Vintage Grid sheetRevenue, gross profit and operating income as forecast 1, 3, 6, 9 and 12 months ahead, beside actuals.
  • Driver Bias sheetSigned error, absolute error and sign consistency per driver and horizon, with each correction applied or withheld.
  • Reforecast Log sheetEvery revision that moved operating income $10,000 or more, labeled news or re-estimate, with its reason.

Common questions

Does a rolling forecast replace the annual budget?

Usually not. Many businesses keep both: the budget is the plan they approved and measure people against, and the rolling forecast is their current best estimate of the next 12 months. Keep the two apart. A forecast nudged toward the budget, or toward a bonus target, stops telling you what you actually expect.

How often should you update a rolling forecast?

Monthly, a few days after the books close, is the usual rhythm for a rolling forecast. Businesses that change slowly sometimes update quarterly and add a quarter at a time. Whatever the cadence, use a fixed day and save the old version before you change anything, so every update leaves a record you can score later.

How many drivers should a rolling forecast have?

A practical range is 6 to 10 drivers. Each should come from a report outside the forecast, move independently of the others and have an owner, like utilization or price per seat. With fewer, the forecast tends to become a growth rate in disguise. With many more, the model gets harder to maintain without getting more accurate.

How do you measure rolling forecast accuracy?

Compare each saved version with what actually happened, driver by driver and by how many months ahead it was made. Bias is the average error with its sign kept; your typical miss is the average size of the error. Without the old versions you can't do this, which is why overwriting last month's forecast loses so much.

What is the difference between news and a re-estimate?

News is a new, documented fact that didn't exist at the last update, such as a signed contract or a resignation letter. A re-estimate is a new judgment about facts you already had, like reading the same pipeline more cautiously. Tracking the split shows how much of your forecast moves on judgment alone.

Is this rolling forecast template free?

Yes. Download the three Word documents and five CSV sheets with no signup; they open in Word, Google Docs, Excel or Google Sheets. The worked example in them is made up, so clear it before adding your own numbers. Edit with AI opens the same template in a free River workspace.

What does Edit with AI do?

It opens this template in a free River workspace. River asks for 18 to 24 months of monthly ledger actuals, your operating history and any old forecasts, then proposes 6 to 10 drivers for your approval. It builds and freezes the first 12-month version, and explains up front that bias corrections start only after six closed months.

Sources

  1. OpenStax. “7.1 Describe How and Why Managers Use Budgets.” openstax.org (opens in a new tab)

  2. Government Finance Officers Association. “Financial Forecasting in the Budget Preparation Process.” gfoa.org (opens in a new tab)

  3. Federal Reserve Bank of Philadelphia. “Real-Time Data Set for Macroeconomists.” philadelphiafed.org (opens in a new tab)

  4. Society for Personality and Social Psychology. “The Planning Fallacy: An Inside View.” spsp.org (opens in a new tab)

  5. GOV.UK. “Green Book supplementary guidance: optimism bias.” gov.uk (opens in a new tab)

  6. Forecasting: Principles and Practice. “5.8 Evaluating point forecast accuracy.” otexts.com (opens in a new tab)

Written by

Chandler Supple

Co-founder & CEO, River

Chandler has spent the last six years working in AI, building tools for millions of users and Fortune 100 companies. In 2025, he co-founded River to build a new kind of operating system for AI agents.

Reviewed by

Brian Joseff, Co-founder, River