How this calculation works
Align each prediction with its actual before calculating errors. Absolute and squared errors measure size, while mean signed error measures direction. Percentage metrics use distinct denominators; undefined cases remain visible.
e = prediction − actual; MAE = mean |e|; RMSE = √mean e²; MAPE = 100 mean(|e|/|actual|)A worked example
Actuals 100,200,300 and predictions 110,190,330 give signed errors 10,−10,30. MAE is 50/3 ≈ 16.666667, RMSE √(1100/3) ≈ 19.148542 and signed bias 10.
Good to know
No model is fitted and no holdout split is inferred. All rows are retained with equal weight. MAPE is undefined for any zero actual; WAPE is undefined for all-zero actuals. sMAPE assigns both-zero rows zero under the explicitly stated convention.
Reference: scikit-learn: prediction error metrics (opens in a new tab) ↗
Use matching observations and a stated sign convention
The first actual must correspond to the first prediction, and so on. For actuals 100,200,300 and predictions 110,190,330, predicted minus actual gives 10,−10,30. Positive mean signed error indicates overprediction under this page’s convention.
The signed mean is 10, but positive and negative errors can cancel. Absolute errors are 10,10,30, giving MAE 50/3. Squared errors are 100,100,900, giving RMSE √(1100/3). RMSE gives relatively more influence to a large error than MAE, while retaining the original measurement unit.
The paired change calculator also preserves aligned rows, but its after-minus-before summary has a different task from assessing prediction errors.
Percentage errors have different denominators
MAPE averages each absolute error divided by that row’s absolute actual. WAPE instead divides the total absolute error by the sum of absolute actuals. In the default example, MAPE is approximately 8.333333% and WAPE is also approximately 8.333333%; that equality is incidental, not a general identity.
An actual of zero makes that row’s MAPE term undefined. This calculator labels the whole MAPE undefined rather than discarding the row or adding an arbitrary epsilon. MAE and RMSE can still be valid. When all actuals are zero, the WAPE denominator is also zero.
The symmetric percentage convention is explicit
This page defines sMAPE as the mean of 200|prediction−actual| divided by |actual|+|prediction|. If both values are zero, that row contributes zero by the stated convention. Opposite signs with nonzero magnitude can produce the maximum 200%, so it is not automatically suitable for every signed measurement.
The trailing moving average forecast calculator and simple exponential smoothing calculator generate one-step forecasts. This evaluator does not fit either model or infer which data were held out. Supply predictions that were produced before their actuals were known if you want an out-of-sample evaluation.
A few questions, answered
Why can bias be zero while MAE is positive?
Equal positive and negative errors cancel in the signed mean, but their absolute values remain positive.
Does MAPE omit zero actuals?
No. One zero actual makes MAPE undefined; the remaining metrics retain every aligned row.
Is F1 a forecast-error metric?
No. A binary confusion matrix evaluates categorical decisions; these metrics compare numeric predictions and actuals.