WAPE measures absolute forecast misses relative to total actual demand. This page works the formula from product and site rows, reconciles the total, and explains zero-demand periods and the limits of an accuracy score.
WAPE forecast accuracy expresses total absolute forecast error as a percentage of total actual demand. It measures the size of the misses, with lower WAPE indicating less error relative to volume. A report should call it an error measure even when its heading says forecast accuracy.
Absolute error for a row = |Forecast demand - Actual demand|
WAPE = Sum of absolute row errors / Sum of actual demand × 100%
This version assumes nonnegative demand, measured in the same unit across the selected rows. The published WAPE formula takes the absolute difference before summing. That order matters: adding forecasts and actuals first allows opposite misses to cancel.
For a short definition of the broader subject, see forecast accuracy. WAPE answers a specific question within it: how large were the absolute misses compared with the demand the business actually served?
Bring the saved forecast export and the actual demand export to the same level: product, site and target period. Keep the forecast creation date as well. A forecast saved before the period began is a different commitment from a revision made after orders arrived.
The matched file needs these fields:
| Field | What it establishes |
|---|---|
| Product and site | The business item being scored |
| Target period | The week or month the forecast describes |
| Forecast creation date | The information available when the forecast was saved |
| Forecast demand | The original forecast at the chosen horizon |
| Actual demand | The observed demand for the same item, site and period |
| Unit of measure | A common basis, such as cases |
Do not match a monthly product forecast to individual shipment lines and repeat the full forecast on each shipment. Aggregate the shipments to the forecast's level first. A missing actual is unresolved data, while a confirmed zero means no demand occurred; those are different conditions.
A US industrial distributor compares its saved monthly case forecast with closed actual demand. Every row below belongs to the same target month and forecast horizon. Signed error uses forecast minus actual, so a positive number means overforecasting.
| Site | Product | Actual demand (cases) | Forecast (cases) | Signed error (cases) | Absolute error (cases) |
|---|---|---|---|---|---|
| Denver | Standard | 1,000 | 900 | -100 | 100 |
| Dallas | Standard | 500 | 650 | 150 | 150 |
| Denver | Specialty | 100 | 150 | 50 | 50 |
| Dallas | Launch | 0 | 40 | 40 | 40 |
| Total | 1,600 | 1,740 | 140 | 340 |
The calculation has three steps:
| Step | Calculation | Result |
|---|---|---|
| Add actual demand | 1,000 + 500 + 100 + 0 | 1,600 cases |
| Add absolute errors | 100 + 150 + 50 + 40 | 340 cases |
| Divide error by actual demand | 340 / 1,600 × 100% | 21.25% WAPE |
The distributor missed by 340 cases across its product-site rows, relative to 1,600 cases of demand. Forecast total minus actual total is only 140 cases. Dividing that net difference by demand gives 8.75%, which measures a different result because the Denver underforecast offsets part of the overforecasts.
Keep the direction of error beside WAPE, rather than trying to recover it from the absolute value. The guide to measuring forecast accuracy and bias covers the separate directional measure.
Preserve the row-level absolute errors when grouping by site. Do not replace them with the absolute difference between each site's forecast total and actual total.
| Site | Actual demand (cases) | Sum of row absolute errors (cases) | Site WAPE |
|---|---|---|---|
| Denver | 1,100 | 150 | 13.64% |
| Dallas | 500 | 190 | 38.00% |
| Total | 1,600 | 340 | 21.25% |
The proof is direct: (150 + 190) / (1,100 + 500) × 100% = 21.25%. Display percentages to two decimal places, but retain full precision for calculations. The site actuals must tie to the source demand export, and the absolute errors must tie to the original matched rows.
Dallas has the higher relative error, while its 190-case absolute miss also exceeds Denver's 150-case miss. That gives the demand planning team a place to investigate: check launch assumptions, customer timing and local order changes before altering the forecast process across every site.
The Dallas launch row stays in the company calculation. Its actual demand adds nothing to the denominator, but its 40-case forecast adds 40 cases to absolute error. Removing it would hide an overforecast.
If the report is filtered to that launch row alone, total actual demand is zero. WAPE is then undefined, not zero and not a perfect score. Show the 40-case absolute error and a clear undefined status instead of substituting a denominator. If forecast and actual are both zero throughout a group, the percentage remains undefined even though the absolute error is zero. Rob Hyndman's discussion of WAPE explains why individual zero actuals are permissible but an all-zero denominator is not.
For an error measure in original business units, use MAD forecast accuracy; for the reporting implementation, see the forecast comparison report guide.
Bring a saved forecast file and matching actual demand rows, including product, site, target period and forecast creation date. Covirage maps the columns, and its tools compute and check the figures; the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own export.
See Covirage for forecast analysis for the supporting workflow.
WAPE is an error percentage, so lower is better. Some businesses report an accuracy score by subtracting WAPE from 100%, but that is a separate reporting convention. Label the measure clearly and retain the underlying error calculation.
Yes, provided the full reporting group has positive total actual demand. A zero-demand row contributes its absolute forecast error to the numerator. If every actual in the group is zero, the denominator is zero and WAPE is undefined.
A simple average gives a small product the same influence as a large product. Recompute WAPE from total absolute errors and total actual demand. Weighting group percentages by actual demand also works when every group denominator is positive.
Yes. Absolute forecast errors can exceed the total actual demand, especially when forecasts greatly overstate demand. That does not make the calculation invalid. It means the misses exceed the volume used as the denominator.