# What is the MAPE?

Computes the mean absolute percentage error (MAPE) of a forecast from lists of actual and forecast values, with the mean absolute error (MAE), the root mean squared error (RMSE) and the error of each period.

- Page: https://www.acalculator.org/statistics/mape-calculator
- JSON spec: https://www.acalculator.org/statistics/mape-calculator.json
- Version: b1e30867c1f7

## Default answer

Example with the default inputs (Actual values [100, 200, 150, 250], Forecast values [110, 190, 165, 225]): The forecasts have a MAPE of 8.75%, with an MAE of 15 and an RMSE of 16.201852.

## Inputs

| Key | Label | Description |
| --- | --- | --- |
| actual | Actual values | The observed values, in time order, separated by commas, spaces or new lines. None may be 0. |
| forecast | Forecast values | The forecast for each period, in the same order as the actual values. |

## Outputs

| Key | Label | Description |
| --- | --- | --- |
| mape | MAPE | The mean of each period’s \|actual − forecast\| ÷ \|actual\| × 100. |
| mae | MAE (mean absolute error) | The mean of \|actual − forecast\|, in the units of the data. |
| rmse | RMSE (root mean squared error) | The square root of the mean of (actual − forecast)². |
| n | Periods | How many actual and forecast pairs there are. |

## Method

e = actual − forecast; p = 100 × e ÷ actual; MAPE = mean of |p|; MAE = mean of |e|; RMSE = √(mean of e²), over all periods.

## Assumptions

- The two lists are in the same order: the nth forecast is for the nth actual value.
- No actual value is 0; a percentage error divides by it.
- Every period counts equally.

## Worked examples

1. actual = 100 or 200, forecast = 110 or 190 gives mape = 8.75%, mae = 15, rmse = 16.201852, n = 4. Source: Hyndman, R.J., & Athanasopoulos, G. (2021) Forecasting: principles and practice, 3rd edition, OTexts, §5.8 Evaluating point forecast accuracy (e = y − ŷ; p = 100e ÷ y; MAPE = mean(|p|); MAE = mean(|e|); RMSE = √mean(e²)). https://otexts.com/fpp3/accuracy.html.
2. actual = 10 or 20, forecast = 10 or 20 gives mape = 0%, mae = 0, rmse = 0. Source: Hyndman, R.J., & Athanasopoulos, G. (2021) Forecasting: principles and practice, 3rd edition, OTexts, §5.8 Evaluating point forecast accuracy (e = y − ŷ; p = 100e ÷ y; MAPE = mean(|p|); MAE = mean(|e|); RMSE = √mean(e²)). https://otexts.com/fpp3/accuracy.html.
3. actual = -50, 100, forecast = -40, 90 gives mape = 15%, mae = 10, rmse = 10. Source: Hyndman, R.J., & Athanasopoulos, G. (2021) Forecasting: principles and practice, 3rd edition, OTexts, §5.8 Evaluating point forecast accuracy (e = y − ŷ; p = 100e ÷ y; MAPE = mean(|p|); MAE = mean(|e|); RMSE = √mean(e²)). https://otexts.com/fpp3/accuracy.html.
4. actual = 0.5 or 0.25, forecast = 0.4 or 0.3 gives mape = 20%, mae = 0.075, rmse = 0.079057. Source: Hyndman, R.J., & Athanasopoulos, G. (2021) Forecasting: principles and practice, 3rd edition, OTexts, §5.8 Evaluating point forecast accuracy (e = y − ŷ; p = 100e ÷ y; MAPE = mean(|p|); MAE = mean(|e|); RMSE = √mean(e²)). https://otexts.com/fpp3/accuracy.html.

## FAQ

### What is MAPE?

MAPE, the mean absolute percentage error, measures how far forecasts are from what actually happened, as a percent of the actual values. A MAPE of 8.75% means the forecasts missed by 8.75% of the actual value on average.

### How do I calculate MAPE?

For each period, subtract the forecast from the actual value, divide by the actual value, multiply by 100 and drop the sign. Then take the mean of these percentage errors. Actual 100 against a forecast of 110 is a 10% error; actual 200 against 190 is 5%.

### Why can't an actual value be 0?

MAPE divides each error by its actual value, and dividing by 0 has no answer. Actual values close to 0 also give very large percentage errors, so MAPE suits data that stays well away from 0, such as sales or demand.

### Does MAPE treat over- and under-forecasts the same?

Not quite. For the same pair of numbers, a forecast that is too high gets a larger percentage error than one that is too low: actual 100 and forecast 150 is a 50% error, but actual 150 and forecast 100 is 33.33%, because the error is divided by the actual value.

### What is the difference between MAPE, MAE and RMSE?

MAPE is a percent, so it compares forecasts of things measured in different units. MAE is the average size of the errors in the units of the data. RMSE squares the errors before averaging, so large misses count more; it is always at least as large as MAE.

### What is a good MAPE?

Lower is better, and 0% means every forecast was exact. What counts as good depends on how hard the series is to forecast, so compare the MAPE of different forecasting methods on the same data.

## Sources

- Hyndman, R.J., & Athanasopoulos, G. (2021) Forecasting: principles and practice, 3rd edition, OTexts, §5.8 Evaluating point forecast accuracy: forecast error e = y − ŷ, percentage error p = 100e ÷ y, MAPE = mean(|p|), MAE = mean(|e|), RMSE = √mean(e²); percentage errors are undefined when y = 0 and put a heavier penalty on negative errors. https://otexts.com/fpp3/accuracy.html (retrieved 2026-10-18)
