← All notesFP&A

How to Measure Forecast Accuracy (and What a Good Number Actually Looks Like)

In shortOnly 14% of finance teams formally track how accurate their forecasts are. Here's the math for forecast error and bias, what a good number looks like at $5M–$50M, and how to build the scorecard in an afternoon.

Only 14% of finance teams formally track how accurate their forecasts are. That's from the 2026 AFP FP&A Benchmarking Survey, and it means 86% of finance functions produce the single number the board plans around with no measurement of whether that number has ever been right.

Think about how strange that is. Sales tracks win rate. Ops tracks defect rate. Support tracks first-response time. Finance produces a forecast every month, presents it, then quietly replaces it with next month's forecast and never scores the old one.

The fix takes about two hours and a spreadsheet.

The math

Forecast error for any line item, any period:

Error % = (Actual − Forecast) ÷ Forecast

Keep the sign. That's the whole trick. Two numbers come out of a run of these, and they mean completely different things.

MAPE (mean absolute percentage error) is the average of the errors with the signs stripped off. It answers "how far off are we, typically?"

Bias is the average of the errors with the signs intact. It answers "are we wrong in the same direction every time?"

A team can have a decent MAPE and a terrible bias. That's the common case, and it's the expensive one.

What it looks like on real numbers

Take a $30M distributor forecasting monthly revenue. Six months of paired forecast and actual, in millions:

Month Forecast Actual Error
Jan 2.40 2.28 −5.0%
Feb 2.50 2.35 −6.0%
Mar 2.60 2.44 −6.2%
Apr 2.55 2.39 −6.3%
May 2.70 2.52 −6.7%
Jun 2.75 2.61 −5.1%

MAPE is 5.9%. On its own that reads as fine. Under 10% on revenue is a respectable number for a company this size.

Now look at the sign column. Every single month is negative. Bias is also −5.9%, which means this isn't noise. It's a machine that overstates revenue by about six points, every month, on purpose or not. Over those six months the forecast promised $15.5M and the business delivered $14.59M. That's a $910K gap, roughly $152K a month, about $1.8M annualized.

Nobody in that company thinks of themselves as having a $1.8M problem. They think of themselves as having a slightly optimistic sales pipeline. Same thing.

Why the direction matters more than the size

A random 6% miss is a forecasting problem. You tighten assumptions, you improve the inputs, the error narrows.

A consistent 6% miss in one direction is a decision problem. Every hire, every inventory buy, every distribution decision made off that forecast was sized to revenue that was never going to show up. And the correction happens downstream in ways nobody attributes back to the forecast: a hiring freeze in Q3, a cash squeeze in November, a covenant conversation nobody saw coming.

Bias is also the easier fix. If you know the number runs 6% hot, you can adjust it tonight. Fixing the underlying pipeline discipline takes a quarter.

What's a good forecast accuracy number?

There's no universal benchmark, and anybody handing you one without asking about your business model is guessing. A subscription business with 90% recurring revenue should forecast far tighter than a project-based contractor whose quarter turns on two change orders.

That said, here's what I'd call reasonable at $5M–$50M, measured one month out:

  • Revenue: within 5%. Under 3% if most of your revenue is contracted or recurring.
  • Gross margin %: within 100–150 basis points. Margin should be more predictable than revenue, and if it isn't, your cost of sales is the thing to look at.
  • Operating expenses: within 3%. Opex is mostly payroll and mostly known. A big opex miss usually means an accrual problem, not a forecasting problem.
  • EBITDA: within 10%. It sits at the bottom of a stack of other errors, so it swings more than any single line above it.
  • Ending cash: within 5% on a 13-week horizon.

And bias on every one of those should be close to zero. If your revenue MAPE is 4% but your bias is −4%, you don't have a 4% problem. You have a systematic one.

Three months out, roughly double the tolerances. That's normal and not a failure.

Set up the scorecard

You need six periods of paired data minimum. Fewer than that and you're reading noise.

Pick the forecast vintage first, and be strict about it. "The forecast" for July means the version that existed on July 1, not the one you updated on the 20th once you could see how the month was going. Freeze it, save it, and score that one. Teams that score the late-month forecast produce beautiful accuracy reports that mean nothing.

Then score four or five lines, not forty. Revenue, gross margin, opex, EBITDA, ending cash. Once you know which of those is driving the fragility, disaggregate that one line into its components and score those.

Report both numbers side by side, every month, in the same pack as the variance commentary. Two columns, MAPE and bias, with a rolling six-month trend. It takes one slide and it changes the tone of the conversation. Instead of explaining last month's miss, you're showing the board that the forecast got 40% tighter over two quarters.

Won't people just sandbag the forecast to hit the score?

Yes, if MAPE is the only thing you measure. That's exactly why bias goes next to it.

A team that lowballs revenue to protect its accuracy score will post a persistent positive bias within two quarters, and the scorecard will show it plainly. Measuring both directions makes the gaming visible. It's the same reason you don't evaluate a salesperson on close rate alone.

Start where you already have the data

The uncomfortable part isn't the math. It's the first result.

Most teams that run this for the first time find a bias they'd half-suspected and never quantified. Revenue runs hot. Opex runs light because nobody forecasts the true-ups. Cash comes in below plan because collections were modeled on terms rather than on what customers actually do. None of that is a reason to skip the exercise. It's the entire value of it.

The data is already sitting in your ERP. Six months of budget-versus-actual, one spreadsheet, two formulas. The only real barrier is being willing to see the number.

At Plametrix we build forecast accuracy tracking into the rolling 12-month forecast we run for clients, because a forecast nobody scores is just an opinion with decimal places.

Plametrix delivers this kind of work as an outsourced FP&A service for PE-backed and high-growth companies — see pricing.

Book a free 30-min call