Key takeaways
- A forecast that banks and directors trust is one with a measured track record, not the one with the most attractive numbers
- Split forecast error into bias and MAPE, because consistently over-forecasting needs a different fix from volatility
- Explain which driver caused the error and then adjust the process, rather than just changing the numbers in the next cycle
In Q3 the company told the bank that sales would recover. In Q4 it said the same again. By year-end, the actual figures were below what had been stated in every cycle. The bank began discounting the forecast on its own, and directors asked every time whether this one could really be trusted. Even as the finance team worked harder, credibility fell.
A GPS that always shows an arrival time ten minutes later than reality is easy to fix, because you know the direction of the error. A GPS that is sometimes early and sometimes late, unpredictably, is a different problem. Measuring a forecast also means separating these two issues. How to build a 13-week forecast and a rolling forecast is already covered on the Cash Flow Forecasting page. This page is about measuring how useful a forecast is.
The two numbers to watch
Bias = sum of (Forecast − Actual) ÷ sum of Actual
MAPE = average of |Forecast − Actual| ÷ Actual
| Format | Meaning | How to fix it |
|---|---|---|
| High bias, MAPE similar | Wrong in the same direction almost every period | Fix incentives and assumptions |
| Low bias, high MAPE | Swings in both directions | Adjust drivers and data frequency |
| Low bias, low MAPE | Usable | Maintain discipline and adapt to the business |
Example: six quarters that look only slightly different
Illustrative example. Sales, THB million
| Quarterly | Forecast | Actual | Difference | % of Actual |
|---|---|---|---|---|
| 1 | 100 | 92 | 8 | 8.7% |
| 2 | 110 | 99 | 11 | 11.1% |
| 3 | 120 | 108 | 12 | 11.1% |
| 4 | 115 | 104 | 11 | 10.6% |
| 5 | 125 | 110 | 15 | 13.6% |
| 6 | 130 | 118 | 12 | 10.2% |
| Total | 700 | 631 | 69 | 10.9% |
Bias is 10.9% and MAPE is 10.9%, so the two are close because in every quarter the forecast was above actual. Actual sales came to 90.1% of forecast. If the next forecast is THB 140 million, the reference figure adjusted for history is about THB 126.2 million. Even if this figure is not used as the main plan, it should be used to test cash and Covenants.
Finding the cause through drivers
Do not conclude merely that sales were below target. Separate out whether volume, price, product mix or delivery timing was what went wrong. Each driver should have an owner: for example, the sales team is responsible for the pipeline, production or the project team for delivery dates, and finance for assembling the numbers and checking consistency.
| Cause of bias | Symptom | Fix |
|---|---|---|
| The forecast is the target | The same number is used as both target and forecast | Separate Target, Forecast and Downside |
| Incentives | Teams fear delivering bad news, or set low targets to earn bonuses | Track accuracy as a separate measure |
| Pipeline is not weighted | Every deal is counted at full value | Weight by actual historical conversion at each stage |
| No lock date | The forecast is revised retroactively | Keep every version of every cycle |
There is no single error threshold that works for every business. Project businesses whose revenue depends on transfer day swing with timing, so both value and date should be measured. In discussions with the bank, show the error history and a Downside case, which builds more credibility than guaranteeing a single number.
Setting a forecast cycle that allows learning
Measurement is only useful if the forecast that was actually submitted is kept. Many teams overwrite the original file every month, so when they want to look back there is nothing to compare against. Set a lock date, keep the version sent to the bank or directors, and state the horizon as well, because forecasting next month and forecasting six months ahead are of different difficulty. Error figures should therefore not be averaged together.
In the review meeting, separate the causes into three groups. The first is information that was already known but not included. The second is wrong assumptions, such as customers deciding more slowly than expected. The third is unforeseeable external events. The first two can be fixed through process, while the third should be handled with a Downside case and a reserve. This separation stops the team from blaming external factors every time, and from being blamed for what could not genuinely have been foreseen.
For executives, attitude matters as much as tools. If every time the team submits a lower number they are pushed to go back and redo it, the forecast becomes the number everyone thinks the boss wants to see. Ask instead what they have seen change, what assumptions they used, and when they would know if they were wrong. Then keep ambitious target-setting in a separate Target process. When the bank sees both the main figures and the error history, the conversation shifts from asking it to believe to showing evidence that the company knows the limits of its own numbers.
Next steps
- Keep the forecasts actually submitted for the past 4-6 cycles, together with actuals
- Calculate bias and MAPE by business unit
- Clearly separate Target, Forecast and Downside
- Set version lock dates and driver owners
- Explain forecast errors in every cycle's report
- Use the history-adjusted figures to test cash and Covenants