Math calculator

Forecast Accuracy Calculator

Which measure.

Which measure

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
MeasureValueAnswersBreaks when
MAE6.0000average error size, in unitscomparing across series with different scales
RMSE6.0000average error, weighting large ones hardera single outlier dominates it
MAPE29.1018%average error as a share of the actualactuals near or at zero, and mixed magnitudes
sMAPE32.6349%the same, scaled by the average of bothstill asymmetric, in the opposite direction
MASE0.0889error relative to a naive one-step forecastthe actuals never change
Bias0.0000whether the forecast leans one wayerrors 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
DirectionPointsMAPECeiling
Forecast too high823.959%none — it can exceed 100% without limit
Forecast too low834.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.

Sources and methodology

References for the measures and their failures.

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.

More in Math, or browse all calculators.

Educational use disclaimer

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.

How we calculate · Found an error? email us

Authorship & verification

Written and maintained by , a business operator who builds spreadsheet-based calculators.

What's changed (5 updates)

Published 13 September 2026

  1. Published six accuracy measures computed on the same pairs.
  2. Split MAPE into over-forecasts and under-forecasts, with the ceiling each carries.
  3. Added MASE against a naive one-step forecast, the only measure comparable across series.
  4. Counted and reported zero actuals, where MAPE is undefined and usually dropped silently.
  5. Shipped a preset where every percentage measure looks fine and the naive forecast wins.

Add this calculator to your site

Responsive embed — and private: nothing your visitors type leaves their browser.