# Mean absolute percentage error

The mean absolute percentage error (MAPE), also known as mean absolute percentage deviation (MAPD), is a measure of prediction accuracy of a forecasting method in statistics. It usually expresses the accuracy as a ratio defined by the formula:
    ${\mbox{MAPE}}=100{\frac {1}{n}}\sum _{t=1}^{n}\left|{\frac {A_{t}-F_{t}}{A_{t}}}\right|$
where A$_t$ is the actual value and F$_t$ is the forecast value. Their difference is divided by the actual value A$_t$. The absolute value of this ratio is summed for every forecasted point in time and divided by the number of fitted points n.

## MAPE in regression problems

Mean absolute percentage error is commonly used as a loss function for regression problems and in model evaluation, because of its very intuitive interpretation in terms of relative error.

### Definition

Consider a standard regression setting in which the data are fully described by a random pair $Z=(X,Y)$ with values in $\mathbb {R} ^{d}\times \mathbb {R}$, and n i.i.d. copies $(X_{1},Y_{1}),...,(X_{n},Y_{n})$ of $(X,Y)$. Regression models aim at finding a good model for the pair, that is a measurable function g from $\mathbb {R} ^{d}$ to $\mathbb {R}$ such that $g(X)$ is close to Y.
In the classical regression setting, the closeness of $g(X)$ to Y is measured via the L$_2$ risk, also called the mean squared error (MSE). In the MAPE regression context, the closeness of $g(X)$ to Y is measured via the MAPE, and the aim of MAPE regressions is to find a model $g_{\text{MAPE}}$ such that:
$g_{\mathrm {MAPE} }(x)=\arg \min _{g\in {\mathcal {G}}}\mathbb {E} {\Biggl\left|{\frac {g(X)-Y}{Y}}\right||X=x{\Biggr ]}$
where ${\mathcal {G}}$ is the class of models considered (e.g. linear models).
In practice
In practice $g_{\text{MAPE}}(x)$ can be estimated by the empirical risk minimization strategy, leading to
${\widehat {g}}_{\text{MAPE}}(x)=\arg \min _{g\in {\mathcal {G}}}\sum _{i=1}^{n}\left|{\frac {g(X_{i})-Y_{i}}{Y_{i}}}\right|$
From a practical point of view, the use of the MAPE as a quality function for regression model is equivalent to doing weighted mean absolute error (MAE) regression, also known as quantile regression. This property is trivial since
${\widehat {g}}_{\text{MAPE}}(x)=\arg \min _{g\in {\mathcal {G}}}\sum _{i=1}^{n}\omega (Y_{i})\left|g(X_{i})-Y_{i}\right|{\mbox{ with }}\omega (Y_{i})=\left|{\frac {1}{Y_{i}}}\right|$
As a consequence, the use of the MAPE is very easy in practice, for example using existing libraries for quantile regression allowing weights.

### Consistency

The use of the MAPE as a loss function for regression analysis is feasible both on a practical point of view and on a theoretical one, since the existence of an optimal model and the consistency of the empirical risk minimization can be proved.

## WMAPE

WMAPE (sometimes spelled wMAPE) stands for weighted mean absolute percentage error. It is a measure used to evaluate the performance of regression or forecasting models. It is a variant of MAPE in which the mean absolute percent errors is treated as a weighted arithmetic mean. Most commonly the absolute percent errors are weighted by the actuals (e.g. in case of sales forecasting, errors are weighted by sales volume). Effectively, this overcomes the 'infinite error' issue. Its formula is: ${\mbox{wMAPE}}={\frac {\displaystyle \sum _{i=1}^{n}\left(w_{i}\cdot {\tfrac {\left|A_{i}-F_{i}\right|}{|A_{i}|}}\right)}{\displaystyle \sum _{i=1}^{n}w_{i}}}={\frac {\displaystyle \sum _{i=1}^{n}\left(|A_{i}|\cdot {\tfrac {\left|A_{i}-F_{i}\right|}{|A_{i}|}}\right)}{\displaystyle \sum _{i=1}^{n}\left|A_{i}\right|}}$
Where $w_{i}$ is the weight, $A$ is a vector of the actual data and $F$ is the forecast or prediction. However, this effectively simplifies to a much simpler formula: ${\mbox{wMAPE}}={\frac {\displaystyle \sum _{i=1}^{n}\left|A_{i}-F_{i}\right|}{\displaystyle \sum _{i=1}^{n}\left|A_{i}\right|}}$
Confusingly, sometimes when people refer to wMAPE they are talking about a different model in which the numerator and denominator of the wMAPE formula above are weighted again by another set of custom weights $w_{i}$. Perhaps it would be more accurate to call this the double weighted MAPE (wwMAPE). Its formula is: ${\mbox{wwMAPE}}={\frac {\displaystyle \sum _{i=1}^{n}w_{i}\left|A_{i}-F_{i}\right|}{\displaystyle \sum _{i=1}^{n}w_{i}\left|A_{i}\right|}}$

## Issues

Although the concept of MAPE sounds very simple and convincing, it has major drawbacks in practical application, and there are many studies on shortcomings and misleading results from MAPE.
* It cannot be used if there are zero or close-to-zero values (which sometimes happens, for example in demand data) because there would be a division by zero or values of MAPE tending to infinity.
* For forecasts which are too low the percentage error cannot exceed 100%, but for forecasts which are too high there is no upper limit to the percentage error.
* MAPE puts a heavier penalty on negative errors, $A_{t}<F_{t}$ than on positive errors. As a consequence, when MAPE is used to compare the accuracy of prediction methods it is biased in that it will systematically select a method whose forecasts are too low. This little-known but serious issue can be overcome by using an accuracy measure based on the logarithm of the accuracy ratio (the ratio of the predicted to actual value), given by log⁡(predicted/actual){\textstyle \log \left({\frac {\text{predicted}}{\text{actual}}}\right)}. This approach leads to superior statistical properties and also leads to predictions which can be interpreted in terms of the geometric mean.
* People often think the MAPE will be optimized at the median. But for example, a log normal has a median of $e^{\mu }$ where as its MAPE is optimized at $e^{\mu -\sigma ^{2}}$.
To overcome these issues with MAPE, there are some other measures proposed in literature:
* Mean Absolute Scaled Error (MASE)
* Symmetric Mean Absolute Percentage Error (sMAPE)
* Mean Directional Accuracy (MDA)
* Mean Arctangent Absolute Percentage Error (MAAPE): MAAPE can be considered a slope as an angle, while MAPE is a slope as a ratio.