# Symmetric mean absolute percentage error

The symmetric mean absolute percentage error (SMAPE or sMAPE) is an accuracy measure based on percentage (or relative) errors. It is usually defined as follows:
    ${\text{SMAPE}}={\frac {100}{n}}\sum _{t=1}^{n}{\frac {\left|F_{t}-A_{t}\right|}{(|A_{t}|+|F_{t}|)/2}}$
where A$_t$ is the actual value and F$_t$ is the forecast value.
The absolute difference between A$_t$ and F$_t$ is divided by half the sum of absolute values of the actual value A$_t$ and the forecast value F$_t$. The value of this calculation is summed for every fitted point t and divided again by the number of fitted points n.

## History

The earliest reference to a similar formula appears to be Armstrong (1985, p. 348), where it is called "adjusted MAPE" and is defined without the absolute values in the denominator. It was later discussed, modified, and re-proposed by Flores (1986).
Armstrong's original definition is as follows:
    ${\text{SMAPE}}={\frac {1}{n}}\sum _{t=1}^{n}{\frac {\left|F_{t}-A_{t}\right|}{(A_{t}+F_{t})/2}}$
The problem is that it can be negative (if $A_{t}+F_{t}<0$) or even undefined (if $A_{t}+F_{t}=0$). Therefore, the currently accepted version of SMAPE assumes the absolute values in the denominator.

## Discussion

In contrast to the mean absolute percentage error, SMAPE has both a lower and an upper bound. Indeed, the formula above provides a result between 0% and 200%. However, a percentage error between 0% and 100% is much easier to interpret. That is the reason why the formula below is often used in practice (i.e., no factor 0.5 in the denominator):
    ${\text{SMAPE}}={\frac {100}{n}}\sum _{t=1}^{n}{\frac {|F_{t}-A_{t}|}{|A_{t}|+|F_{t}|}}$
In the above formula, if $A_{t}=F_{t}=0$, then the t'th term in the summation is 0 since the percent error between the two is 0 and the value of ${\frac {|0-0|}{|0|+|0|}}$ is undefined.
One supposed problem with SMAPE is that it is not symmetric with respect to the sign of the error term since over- and under-forecasts are not treated equally. The following example illustrates this by applying the second SMAPE formula:
* Over-forecasting: A$_t$ = 100 and F$_t$ = 110 give SMAPE = 4.76%
* Under-forecasting: A$_t$ = 100 and F$_t$ = 90 give SMAPE = 5.26%.
However, one should only expect this type of symmetry for measures which are entirely difference-based and not relative (such as mean squared error and mean absolute deviation).
There is a third version of SMAPE, which allows measuring the direction of the bias in the data by generating a positive and a negative error on line item level. Furthermore, it is better protected against outliers and the bias effect mentioned in the previous paragraph than the two other formulas. The formula is:
    ${\text{SMAPE}}={\frac {\sum _{t=1}^{n}\left|F_{t}-A_{t}\right|}{\sum _{t=1}^{n}(A_{t}+F_{t})}}$
A limitation of SMAPE is that if the actual value or forecast value is 0, the value of error will boom up to the upper-limit of error. (200% for the first and 100% for the second formula).

## Alternatives

Provided the data are strictly positive, a better measure of relative accuracy can be obtained based on the log of the accuracy ratio: log(F$_t$ / A$_t$) This measure is easier to analyze statistically and has valuable symmetry and unbiasedness properties. When used in constructing forecasting models, the resulting prediction corresponds to the geometric mean (Tofallis, 2015).