Sixteen periods where every single forecast is off by exactly six units — the mean absolute error is 6.000 and the root mean squared error is 6.000, because every error is the same size. MAPE is 29.102% overall, and that average hides everything: on the points where the actual is around 11, MAPE is 55.239%; on the points where it is around 200, it is 2.965%. A nineteenfold difference from an identical absolute error. MAPE divides by the actual, so on a series with mixed magnitudes it is a measure of where the small values are rather than of how good the forecast is.
16 periods
MASE 0.0889 — better than the naive forecast
MAE 6.000, RMSE 6.000, MAPE 29.102%, sMAPE 32.635%. The bias is 0.000, which every absolute measure discards.
MASE
0.0889
naive MAE 67.467
MAPE
29.102%
divides by the actual
MAE and RMSE
6.000
RMSE 6.000 — the gap is the spread of the errors
Bias
0.000
balanced
Every measure, and what it is for
Each accuracy measure with its value and the question it answers
Measure
Value
Answers
Breaks when
MAE
6.0000
average error size, in units
comparing across series with different scales
RMSE
6.0000
average error, weighting large ones harder
a single outlier dominates it
MAPE
29.1018%
average error as a share of the actual
actuals near or at zero, and mixed magnitudes
sMAPE
32.6349%
the same, scaled by the average of both
still asymmetric, in the opposite direction
MASE
0.0889
error relative to a naive one-step forecast
the actuals never change
Bias
0.0000
whether the forecast leans one way
errors that cancel out hide in it
MASE is the one that compares across series, because its denominator is the naive forecast’s error on the same data rather than the level of the data. A value below 1 means the model beats repeating the last observation; above 1 means it does not, whatever the percentage measures say.
MAPE, split by direction
MAPE computed separately on over-forecasts and under-forecasts
Direction
Points
MAPE
Ceiling
Forecast too high
8
23.959%
none — it can exceed 100% without limit
Forecast too low
8
34.244%
100% — forecasting zero is the worst it can be
That ceiling is the asymmetry. The worst possible under-forecast contributes 100%; a forecast four times too high contributes 300%. A model tuned to minimise MAPE is therefore pushed towards forecasts that are systematically too low, which is a real and well-documented failure rather than a theoretical one.
The worst single percentage error is 66.67% at row 4. RMSE is 1.000 times MAE here, and that ratio is itself informative: equal to 1 means every error is the same size, and much above 1 means a few large errors are carrying the total.
Six measures Against the naive forecast MAPE split by direction None of them is neutral
What this tool shows
On the shipped preset every forecast is off by exactly six units. MAPE on the small-value points is 55.239% and on the large-value points 2.965%. A nineteenfold difference from an identical absolute error, because MAPE divides by the actual. On a series with mixed magnitudes it measures where the small values are rather than how good the forecast is — and it is still the most quoted accuracy measure there is.
MAE, RMSE, MAPE, sMAPE, MASE and the bias, computed on the same pairs
MAPE split into over-forecasts and under-forecasts, with the ceiling each direction carries
MASE against a naive one-step forecast, which is the only one comparable across series
A count of zero actuals, where MAPE is undefined and silently dropped elsewhere
The RMSE-to-MAE ratio, which says whether a few large errors are carrying the total
A preset where every percentage measure looks fine and the naive forecast still wins
Six measures Against the naive forecast MAPE split by direction None of them is neutral
Every measure encodes a view about which errors matter.
Updated 13 September 2026 · Works in any browser, no installation
There is no neutral forecast accuracy measure. MAE treats every unit of error equally, RMSE punishes large errors harder, MAPE divides by the actual and so weights small values enormously, sMAPE tries to fix that and introduces the opposite asymmetry, and MASE compares against simply repeating the last observation. Choosing one is a statement about which errors cost you, and the numbers can disagree about which of two forecasts is better.
At a glance
Formula shown
MAE = mean|aₜ − fₜ|. RMSE = √(mean(aₜ − fₜ)²). MAPE = 100·mean(|aₜ − fₜ|/|aₜ|), undefined where aₜ = 0. sMAPE = 100·mean(|aₜ − fₜ|/((|aₜ| + |fₜ|)/2)), bounded at 200%. MASE = MAE divided by the mean absolute error of the naive one-step forecast, mean|aₜ − aₜ₋₁| — so MASE below 1 means the model beats repeating the last observation. Bias = mean(aₜ − fₜ), which every absolute measure discards.
Scenario support
Comparing two forecasting models on the same data, checking whether a model beats doing nothing, reporting accuracy across products or regions with different scales, and diagnosing whether a forecast is systematically biased rather than merely noisy.
Educational estimate
Planning support from the values you enter — not professional advice.
MAPE measures where the small values are
The first preset is built so the forecast error is constant and MAPE is not, which isolates the problem completely.
Every one of the sixteen forecasts is off by exactly six units. MAE is 6.000 and RMSE is 6.000, because every error is identical.
MAPE on the points where the actual is around 11 is 55.239%. On the points where it is around 200, it is 2.965%.
The overall 29.102% is an average of those two worlds, weighted by how many small values happen to be in the series.
So a MAPE comparison between two products is mostly a comparison of their sales volumes. Add a low-volume line and the number moves, with the forecasting unchanged.
Both percentage measures are asymmetric, in opposite directions
sMAPE was introduced to fix MAPE’s asymmetry. It introduces its own, pointing the other way, and the second preset measures both.
The worst possible under-forecast — zero — gives MAPE 100%. That is the ceiling; you cannot be more than 100% below.
A fourfold over-forecast gives MAPE 300%, and there is no ceiling at all.
sMAPE reverses it: 200% for the zero forecast and 120% for the fourfold over-forecast.
Which means the choice between them changes which model wins. A model tuned on MAPE is pushed towards forecasting low; one tuned on sMAPE is pushed the other way. Neither pressure has anything to do with the data.
MASE is the one that compares across series
The fourth preset is a forecast that looks respectable on every percentage measure and loses to doing nothing.
MAPE is 7.068% and sMAPE 7.102%. Single digits, which reads as a working model.
MASE is 1.1959. Above 1, which means the naive one-step forecast — repeat the last actual — has a smaller average error.
The naive MAE is 4.954 against the model’s 5.925. Nineteen per cent better, from a method with no parameters.
MASE scales by that naive error rather than by the level of the data, which is what makes it comparable between a series in single digits and one in millions — and what makes 1 a meaningful threshold rather than an arbitrary one.
A single zero breaks MAPE entirely
The third preset has one genuine zero in the actuals, and what happens next is usually silent.
MAPE divides by the actual, so it is undefined at that point. Not large — undefined.
Most implementations drop the point without saying so. This page computes MAPE over the other twenty-three and reports that one was excluded.
Dropping is not neutral either. The excluded point is usually the one the forecast got most wrong in relative terms, so the reported MAPE flatters the model.
Any series that can legitimately hit zero rules MAPE out. Intermittent demand, outage days, products before launch — MASE handles all of them, because its denominator is the naive error rather than the actual.
The bias is the number every absolute measure throws away
MAE, RMSE, MAPE, sMAPE and MASE all take absolute values, which means all five are blind to the same thing.
A forecast that is 10 too high half the time and 10 too low the other half scores identically to one that is 10 too high every single time.
The first is noisy; the second is broken. Systematic over-forecasting compounds through an inventory or a budget in a way that random error does not.
The bias catches it in one number. A bias close to zero means the errors cancel; a bias approaching the MAE means they all point the same way.
The page flags it above half the MAE, which is the point where the forecast is more systematically wrong than it is noisy.
RMSE against MAE is a distribution check
These two are usually reported as alternatives. Their ratio says something neither does alone.
RMSE equals MAE only when every error is the same size. The first preset is exactly that case: 6.000 and 6.000.
The more the errors vary, the larger the ratio. RMSE squares before averaging, so a few large errors dominate it.
A ratio above about 1.5 means a handful of periods are carrying the total. Worth finding those periods rather than reporting the average.
And it decides which measure to optimise. If one catastrophic miss costs more than several small ones, RMSE encodes that; if the cost is linear in the error, MAE does.
Reporting forecast accuracy
Four items, and the second is what stops a reader assuming a model is useful because its percentage error is small.
Give at least two measures, and say which you selected on. A model tuned on one measure and reported on another is a comparison of nothing.
Give MASE or another comparison against a naive forecast. A single-digit MAPE on a random walk is what doing nothing would have produced.
Give the bias alongside the absolute measures. It is the failure that compounds, and five of the six measures here cannot see it.
And say whether any points were dropped. A zero actual silently removes the period the forecast probably handled worst.
Method. All six measures are computed from the same cleaned pairs, so the comparisons on the page are exact rather than approximate. MAPE is computed only over points with a non-zero actual and the number excluded is reported, because dropping them silently flatters the model — the excluded point is usually the one the forecast handled worst in relative terms. MAPE is also computed separately over the over-forecasts and the under-forecasts, which is what makes its asymmetry visible rather than a claim. The verification suite checks the arithmetic against values worked out by hand: forecasting zero against an actual of 100 must give exactly 100%, forecasting 300 must give exactly 200%, and a 50-unit error either way must give the same MAPE while sMAPE gives 66.67% and 40.00%. It also asserts the relations that must always hold across 150 generated sets — MAE never above RMSE, MASE exactly MAE over the naive MAE, sMAPE never above 200%, and the bias never exceeding the MAE in magnitude. That engine is verified on every change against 115 assertions. The count and the per-case breakdown are published on the formula verification page.
Related calculators
Where this goes next:
Holt-WintersTriple exponential smoothing with fitted parameters, additive and multiplicative seasonality, and the seasonal term priced against a non-seasonal Holt fit on your own data.
ARIMAARIMA(p, d, q) with coefficients and standard errors, residual Ljung-Box, a Dickey-Fuller result on the raw series, and over-differencing detected and named.
Exponential SmoothingSimple smoothing and Holt's linear trend on one series, with the SSE-optimal alpha found for you — and the flat-forecast problem shown rather than described: no alpha makes a level-only model slope.
Moving AverageSimple, exponential, weighted and centred moving averages with the lag each one carries — exactly (n−1)/2 periods for a simple average, which is also the reason α = 2/(n+1) is in every EMA formula.
Seasonal DecompositionTrend, seasonal indices and remainder, additive or multiplicative, with the index sum printed against the value it must take and both models compared on the same data.
Mean Absolute DeviationAll three statistics the acronym MAD names — about the mean, about the median, and the median absolute deviation — plus the ratio to the standard deviation, which is exactly 0.7979 for a normal distribution and so reads as a free shape check.
An educational tool. No accuracy measure here is neutral — MAPE weights small actuals enormously and caps under-forecasting at 100% while leaving over-forecasting unbounded, and sMAPE carries the opposite asymmetry. MAPE is undefined where an actual is zero and those points are excluded, which flatters the model; MASE is undefined when the actuals never change.