# How to Measure Cash Forecast Accuracy

Source: https://gravam.com/blog/how-to-measure-cash-forecast-accuracy
Author: Tan Gravam
Published: 2026-07-23
Updated: 2026-10-09
Reviewed: 2026-10-09
Summary: Measure cash forecast accuracy by comparing forecast to actual per period and category — variance, MAPE, bias, hit rate — so you know where it's reliable.

**Measure cash forecast accuracy by comparing each forecast to what actually happened, per period and category, using metrics like variance, MAPE, bias and hit rate — then break the results down by horizon and category.** That breakdown is the point: an overall accuracy number is nearly useless, but knowing that your one-week forecast is tight while your collections forecast is chronically optimistic tells you exactly what to trust and what to fix. A forecast you don't measure is one you can neither trust nor improve — which is why forecast accuracy sits among the core [treasury KPIs](https://gravam.com/blog/treasury-kpis-measuring-treasury-performance).

## Why measure it at all

Two reasons. First, **trust**: if you don't know how accurate the forecast is, you can't know when to act on it — and treasury making funding decisions on an unmeasured forecast is guessing with extra steps. Second, **improvement**: measurement points at the specific inputs that are wrong, so forecasting becomes a discipline that gets better over time instead of a monthly ritual nobody believes.

## The metrics

- **Forecast variance.** The basic building block: actual minus forecast, in currency and as a percentage, for each period. Positive and negative variances tell different stories.
- **MAPE (mean absolute percentage error).** The average of the _absolute_ percentage errors across periods. Because it uses absolute values, offsetting errors don't cancel out, so it measures real dispersion, not luck.
- **Bias.** The average _signed_ error — are you systematically over- or under-forecasting? Bias is the most fixable problem: a forecast that's consistently 10% high can be corrected; one that's randomly wrong is harder.
- **Hit rate.** How often the forecast lands within an agreed tolerance (say ±5%). An intuitive, decision-oriented view: "we're inside tolerance four weeks in five."

> Track bias and dispersion separately. A forecast can be _unbiased but noisy_ (right on average, wrong each time) or _biased but stable_ (consistently off by a predictable amount). They call for different fixes — the first needs better inputs, the second needs a correction factor and a root-cause hunt.

## Break it down by horizon and category

This is where measurement earns its keep. A single "our forecast is 88% accurate" hides everything useful. Break it down:

- **By horizon.** Accuracy should be high at one week and looser at three months. Measuring per horizon tells you _how far out_ the forecast is still decision-grade — and stops you judging a long-range view by short-range standards (or vice versa).
- **By category.** Split collections, supplier payments, payroll, tax, treasury flows. Almost always, one or two categories drive most of the error — often collections, because customer timing is hard. Now you know precisely where to invest.
- **By entity / region.** In a group, one entity's poor inputs can dominate the total. Per-entity accuracy points at who needs help.

All of this assumes you kept the forecast you are scoring. Systems that hold only the current state of each flow need that switched on deliberately; in SAP it is the snapshot function, covered in [SAP S/4HANA cash forecasting, end to end](https://gravam.com/blog/sap-s4hana-cash-forecasting).

## Why cash forecast accuracy is poor: the usual causes

When the numbers come back and accuracy is poor, the cause is rarely the model. It is usually one of these, and the breakdown above is how you tell which:

- **Collections forecast on due dates.** Customers pay on their own habits, not on your terms. A forecast that assumes the due date is optimistic by construction, and it shows as a steady bias in the collections category.
- **Inputs nobody owns.** Business units send their numbers late, or send last month's again. The error concentrates in one or two entities — which is what the per-entity view is for.
- **Right amount, wrong week.** Payment runs, payroll, tax and interest fall on known dates, but the forecast spreads them evenly. Accuracy looks fine by month and poor by week.
- **Flows that never reach the forecast.** A tax settlement, a dividend, a capital purchase, an intercompany loan: one-offs that live in someone's inbox until they hit the bank.
- **Actuals that are not actual yet.** Unposted statements and unreconciled items make the comparison wrong on the "actual" side, and the forecast takes the blame.
- **No loop.** The forecast is never scored against what happened, so the same miss repeats every cycle.

Every one of them is an input or an ownership problem, not a formula problem — which is why the fix sits in the [forecast operating model](https://gravam.com/blog/cash-forecast-operating-model-and-ownership) and why a more sophisticated method on the same inputs produces the same error with more decimals.

## Turning measurement into improvement

Measurement is only worth it if it changes something:

1. **Find the biggest contributor.** Which horizon, category or entity accounts for most of the error?
2. **Diagnose it.** Bias (fixable with a correction and a root cause) or noise (fix the input data or process)?
3. **Fix the input, not the number.** If collections are always optimistic, the fix is better collections data or assumptions — not a fudge on the total.
4. **Re-measure.** Confirm the change actually improved accuracy, and move to the next contributor.

Run that loop for a few cycles and the forecast quietly becomes something treasury can act on.

## Accuracy metrics that hide the real error

- **Only tracking a headline number.** No horizon or category breakdown, so you know you're wrong but not _where_.
- **Chasing a target percentage.** Fixating on "95% accurate" instead of "unbiased, improving, and good enough at each horizon for the decisions it drives."
- **Not closing the loop.** Measuring accuracy and filing the report, without feeding it back into better inputs.
- **Ignoring bias.** Living with a forecast that's systematically off because the average error "looks small" — when a consistent bias is the easiest thing to correct.

Measure against actuals, break it down by horizon and category, fix the inputs behind the biggest errors, and your forecast stops being a number people quietly distrust. Build the forecast you're measuring in the free [13-Week Cash Flow Model](https://gravam.com/tools/13-week-cash-flow-model). And accuracy is a process, not just a metric: the [forecast operating model and ownership](https://gravam.com/blog/cash-forecast-operating-model-and-ownership) is what actually makes the numbers improve over time.

***

_See also [cash positioning vs forecasting](https://gravam.com/blog/cash-positioning-vs-cash-flow-forecasting) and [direct vs indirect forecasting](https://gravam.com/blog/direct-vs-indirect-cash-flow-forecasting)._

## Questions this article answers

**Q: How do you measure cash flow forecast accuracy?**

Compare each forecast to what actually happened, per period and category. Common metrics are forecast variance (actual minus forecast, in currency and %), MAPE (mean absolute percentage error) across periods, bias (whether you systematically over- or under-forecast), and hit rate (how often you land within a tolerance). Track them over time and, crucially, break them down by horizon and category so you know exactly where the forecast is reliable.

**Q: What is a good cash forecast accuracy?**

There's no universal number — it depends on horizon and business. Short-horizon direct forecasts should be quite accurate (low single-digit percentage error); longer horizons will be looser by nature. Rather than chase a target percentage, aim for a forecast that is unbiased, improving over time, and accurate enough at each horizon to support the decisions it drives.

**Q: Why measure cash forecast accuracy?**

Because a forecast you don't measure is a forecast you can't trust or improve. Measuring accuracy tells you which horizons and categories are reliable (so you know when to act on the forecast), surfaces systematic bias, and points to the specific inputs — a particular entity, a category like collections — that need fixing. It turns forecasting from a ritual into a discipline that gets better.

**Q: Why is cash forecast accuracy poor?**

Rarely because of the model. The usual causes are inputs and ownership: collections forecast on due dates rather than on how customers actually pay, numbers from business units that arrive late or unchanged, known payments spread evenly instead of placed on their dates, one-off flows such as tax or dividends that never reach the forecast, actuals that are not final because statements are unposted, and no comparison of forecast with actual, so the same miss repeats. Breaking accuracy down by category, entity and horizon shows which one it is.
