This article aims to find the effect the of exports supported by procolombia on the economic growth of Colombia. To achieve this, we will use two sources of information , 1. monthly information of the exports supported by procolombia and 2.monthly information about colombia’s GDP. In order to achieve this, We will use methods such as additive and multiplicative decomposition, moving averages, among others, that will help us make our series stationary. Then, we will identify the best-fitting vector autoregressive (VAR) model to later perform impulse response and forecasting exercises.

The data

Procolombia’s exports

The first source of information we use are the exports supported by ProColombia. But first, what is Procolombia?

Procolombia is an entity of the Colombian state that seeks to support exports of non-traditional goods or services, promote the image of the country and attract foreign investment. This company receives a budget from the state, which must be managed efficiently in order to promote the Colombian economy from the areas mentioned above. Specifically, Procolombia supports (1) exports in the sectors of agribusiness, industries 4.0, metalworking, fashion and chemical systems, and life sciences, (2) foreign investment according to the country of origin and the economic sector, and (3) tourism. from the areas of vacation tourism and corporate tourism. The company has commercial offices in more than 20 countries around the world, which support the objectives of exports, investment and tourism from abroad.

The data that we will use, give us information about monthly exports measured in us dollars. We have information from january 2009 to february 2022.

t=seq(2009.1,2022.2, length.out=length(Exportaciones_Mensuales_Procolombia$DATE))

Lets get a graph of the exports

export<-ts(Exportaciones_Mensuales_Procolombia$Monto,frequency=12,start=c(2009,1)) 
plot(export)

As expected, we see that exports tend to grow over time. We also see some peaks that show us seasonality. Following this idea we will start with a regression only controlling for this two variables.

Regression model controlling for seasonality and trend

dummys_month <- dummy_cols(Exportaciones_Mensuales_Procolombia$E_Mes)
Exportaciones_Mensuales_Procolombia <- cbind(Exportaciones_Mensuales_Procolombia, dummys_month)

Exportaciones_Mensuales_Procolombia  <- Exportaciones_Mensuales_Procolombia %>% 
  rename(
   Month1 = .data_1 ,
   Month2 = .data_2 ,
   Month3 = .data_3 ,
   Month4 = .data_4 ,
   Month5 = .data_5 ,
   Month6 = .data_6 ,
   Month7 = .data_7 ,
   Month8 = .data_8 ,
   Month9 = .data_9 ,
   Month10 = .data_10 ,
   Month11 = .data_11 ,
   Month12 = .data_12 ,
    )

Exportaciones_Mensuales_Procolombia$trend = seq_along(Exportaciones_Mensuales_Procolombia$Monto)
model <- lm(Monto ~ trend + Month1 + Month2 + Month3 + Month4 + Month5 + Month6 + Month7 + Month9 + Month10 + Month11 + Month12, data= Exportaciones_Mensuales_Procolombia[1:146,])

summary(model)
## 
## Call:
## lm(formula = Monto ~ trend + Month1 + Month2 + Month3 + Month4 + 
##     Month5 + Month6 + Month7 + Month9 + Month10 + Month11 + Month12, 
##     data = Exportaciones_Mensuales_Procolombia[1:146, ])
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -399709363 -119350583  -19857348   89403462  726510174 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -152653758   59643758  -2.559 0.011603 *  
## trend          2705314     375287   7.209 3.82e-11 ***
## Month1       155183750   82443620   1.882 0.061980 .  
## Month2       443785955   80064678   5.543 1.54e-07 ***
## Month3       504407401   74584416   6.763 3.89e-10 ***
## Month4         4544654   74576063   0.061 0.951499    
## Month5        26778794   76154235   0.352 0.725666    
## Month6       545611429   74565306   7.317 2.15e-11 ***
## Month7       -12933686   74562473  -0.173 0.862553    
## Month9       270583609   74562473   3.629 0.000405 ***
## Month10        8278305   76102838   0.109 0.913543    
## Month11       28178342   74569598   0.378 0.706122    
## Month12      434021344   76102065   5.703 7.27e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 190100000 on 133 degrees of freedom
## Multiple R-squared:  0.6481, Adjusted R-squared:  0.6163 
## F-statistic: 20.41 on 12 and 133 DF,  p-value: < 2.2e-16

Prediction for the first model

In order to make a prediction for the last 3 months we will use the 98% of the sample for train and 2% for test

pred.train <- predict(model, Exportaciones_Mensuales_Procolombia[1:146,], interval = 'prediction')

pred.test <- predict(model, Exportaciones_Mensuales_Procolombia[147:149,], level = 0.95, interval = 'prediction')

pred <- as.data.frame(pred.test)

pred$Actual <- Exportaciones_Mensuales_Procolombia$Monto[147:149]

pred2 <- as.data.frame(pred.train)

pred2$Actual <- Exportaciones_Mensuales_Procolombia$Monto[1:146]


final.pred <- rbind(pred2, pred)

Visualizing prediction against actual exports

Exportaciones_Mensuales_Procolombia$date <- ym(Exportaciones_Mensuales_Procolombia$DATE)


p1 <- cbind(Exportaciones_Mensuales_Procolombia, final.pred)

plot(p1$date,  p1$Actual, col= 'red', type = 'l', xlab= "Year", ylab= 'Exports', main= "Forecast vs. Actual") + lines(p1$date , p1$fit , col= 'green', lty=2) +
  lines(p1$date ,p1$lwr, lty=2,  col= 'gray')+
lines(p1$date ,p1$upr, lty=2, col='gray')

## integer(0)

Since our series is not stationary, we are going to use tools to obtain the trend component and the seasonal component.

Additive and Multiplicative Decomposition

Lets try to get the components of the series. First we will use the additive decomposition model:

dec1<-decompose(export,type="additive")  
dec2<-decompose(export,type="multiplicative") 

plot(dec1, xlab = "Year")

Now lets use the multiplicative decomposition model:

plot(dec2, xlab = "Year")

We are likely to choose multiplicative model since the seasonal component tends to increase over time. I also think that we have to add more regresors in order to get a better forecast. Variables like exchange rate may have an impact on the exports.