One of the most common metrics used to measure the forecasting accuracy of a model is **MAPE**, which stands for **mean absolute percentage error**.

The formula to calculate MAPE is as follows:

**MAPE** = (1/n) * Σ(|actual – forecast| / |actual|) * 100

where:

**Σ**– a fancy symbol that means “sum”**n**– sample size**actual**– the actual data value**forecast**– the forecasted data value

MAPE is commonly used because it’s easy to interpret and explain. For example, a MAPE value of 6% means that the average difference between the forecasted value and the actual value is 6%.

This tutorial provides two different methods you can use to calculate MAPE in R.

**Method 1: Write Your Own Function**

Suppose we have a dataset with one column that contains the actual data values and one column that contains the forecasted data values:

#create dataset data <- data.frame(actual=c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24), forecast=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23)) #view dataset data actual forecast 1 34 37 2 37 40 3 44 46 4 47 44 5 48 46 6 48 50 7 46 45 8 43 44 9 32 34 10 27 30 11 26 22 12 24 23

To compute the MAPE, we can use the following function:

#calculate MAPE mean(abs((data$actual-data$forecast)/data$actual)) * 100 [1] 6.467108

The MAPE for this model turns out to be **6.467%**. That is, the average absolute difference between the forecasted value and the actual value is 6.467%.

**Method 2: Use a Package**

We could also calculate MAPE for the same dataset using the **MAPE()** function from the **MLmetrics** package, which uses the following syntax:

**MAPE(y_pred, y_true)**

where:

**y_pred:**predicted values**y_true:**actual values

Here is the syntax we would use in our example:

#load MLmetrics package library(MLmetrics) #calculate MAPE MAPE(data$forecast, data$actual) [1] 0.06467108

This produces the same MAPE value of **6.467% **that we calculated using the previous method.