1 Introducción

En este informe, se realizará la extracción de señales o descomposición de series temporales aplicadas a los activos totales trimestrales de la empresa Colombina S.A. durante el período comprendido entre el primer trimestre de 2019 (1T2019) y el tercer trimestre de 2024 (3T2024).

El análisis de series temporales permite identificar patrones subyacentes en los datos, como tendencias, estacionalidad y componentes irregulares, lo que facilita una mejor comprensión del comportamiento de los activos de la empresa. Para ello, se emplearán técnicas estadísticas y métodos de descomposición, con el fin de extraer información clave que pueda contribuir a la toma de decisiones estratégicas.

A lo largo del informe, se presentarán los resultados obtenidos y se discutirán sus implicaciones en el contexto financiero de Colombina S.A.

# Analisis Exploratorio - Descriptivo En este análisis, se realizará un estudio exploratorio de la variable Activos Totales de la empresa Colombina. Para ello, se calcularán estadísticas descriptivas que nos permitirán conocer mejor la distribución y principales características de la variable en estudio.

Además, se complementará el análisis con la visualización de gráficos, los cuales facilitarán la identificación de patrones, tendencias y posibles valores atípicos en los datos.

El objetivo de este análisis es obtener una comprensión inicial de la información disponible y generar insights que puedan ser utilizados en estudios posteriores más avanzados.

A continuación, se presenta el desarrollo del análisis.

# Cargar librerías necesarias
library(readxl)   # Para leer archivos Excel
library(dplyr)    # Para manipulación de datos
library(ggplot2)  # Para visualización
library(plotly)   # Para gráficos interactivos
library(tseries)  # Para análisis de series temporales
library(forecast) # Para descomposición
library(timetk)   # Para análisis y visualización de series temporales
data <- read_excel("C:/Users/jjcollazosd/Downloads/Colombina EXTRA.xlsx")

class(data)  
## [1] "tbl_df"     "tbl"        "data.frame"
colnames(data)  
## [1] "Date"     "ING"      "UTILIDAD" "ACTIVOS"  "PASIVOS"
head(data)
## # A tibble: 6 × 5
##   Date                      ING UTILIDAD    ACTIVOS    PASIVOS
##   <dttm>                  <dbl>    <dbl>      <dbl>      <dbl>
## 1 2019-03-01 00:00:00 433580000 35320000 1565128000 1391576000
## 2 2019-06-01 00:00:00 462186000 32407000 1571254000 1387456000
## 3 2019-09-01 00:00:00 517285000 44634000 1625282000 1418499000
## 4 2019-12-01 00:00:00 528268000 44063000 1690409000 1457298000
## 5 2020-03-01 00:00:00 498207000 47612000 1816189000 1604851000
## 6 2020-06-01 00:00:00 402864000 -2194000 1727606000 1532106000
ts_data <- ts(data$ACTIVOS, start = c(2019, 1), frequency = 4)

2 Interpretación Descriptiva

Las estadísticas exploratorias de los activos trimestrales de Colombina S.A. indican lo siguiente: Mínimo (Min = 1,565,128,000 COP ) El activo trimestral más bajo registrado en el periodo analizado es de aproximadamente 1.57 mil millones de COP. Máximo (Max = 2,570,619,000 COP) El activo trimestral más alto registrado alcanza los 2,570,619,000 de COP. Media (Media = 1,958,703,522 COP) En promedio, los activos trimestrales son 1,958,703,522 de COP. Mediana (Mediana = 1,858,098,000 COP) El valor central de los activos es 1,86 millones de COP, lo que sugiere que hay cierta simetría en la distribución de los activos, aunque la media es ligeramente mayor, lo que puede indicar la presencia de valores altos que elevan el promedio. Desviación estándar (DesviacionEstandar = 308,659,682 COP) La variabilidad de los activos trimestrales es de 308 millones de COP, lo que indica una fluctuación considerable entre periodos. Coeficiente de variación (CoefVar = 0.158) Este valor indica que la variabilidad de los ingresos representa un 15.8% con respecto a la media. Como regla general, si el coeficiente de variación es menor a 0.30 (30%), la variabilidad no es excesiva, lo que indica que los activos de Colombina S.A. tienen una estabilidad relativa. Conclusiones: Los activos trimestrales de Colombina S.A. muestran estabilidad, con un coeficiente de variación moderado. Existen diferencias notables entre los valores mínimos y máximos, lo que puede deberse a estacionalidad o factores económicos externos.

La diferencia entre la media y la mediana no es muy grande, lo que sugiere que la distribución no está muy sesgada.

descriptive_stats <- data.frame(
  Min = min(ts_data),
  Max = max(ts_data),
  Media = mean(ts_data),
  Mediana = median(ts_data),
  DesviacionEstandar = sd(ts_data),
  CoefVar = sd(ts_data) / mean(ts_data)
)
print(descriptive_stats)
##          Min        Max      Media    Mediana DesviacionEstandar   CoefVar
## 1 1565128000 2570619000 1958703522 1858098000          308659682 0.1575837
grafico_serie <- ggplot(data, aes(x = seq.Date(from = as.Date("2019-01-01"), by = "quarter", length.out = nrow(data)), y = ACTIVOS)) +
  geom_line(color = "black", size = 1) +
  geom_point(color = "green") +
  ggtitle("Figura 1.Activos Trimestrales de Colombina S.A.") +
  xlab("Tiempo") +
  ylab("Miles de Pesos Colombianos") +
  theme_minimal()
ggplotly(grafico_serie)

En la figura 1, se observa el comportamiento de los activos trimestrales de Colombina S.A. a lo largo del tiempo (2019-2024), expresado en miles de pesos Colombianos. Se denota una tendencia creciente en los activos trimestrales de la empresa. teniendo un periodo de decrecimiento en el 2020, lo cual pudo ser por la pandemia COVID-19. Pero se ve la recuperacion de esta a partir del segundo trimestre del 2021, teniendo un crecimiento exponencial en el 2022.

3 Descomposición temporal-extracción de señales

stl_decomp <- stl(ts_data, s.window = "periodic")
plot(stl_decomp)

Se observa una tendencia positiva al crecimiento, a pesar de algunas situaciones como el COVID-19 los activos de la empresa han mantenido su crecimiento. En cuanto a la estacionalidad se ven muy marcados los picos, esto puede ser debido a la actividad en la venta de dulces de la empresa, en la que algunas fechas son especiales como halloween o el dia del niño que aumentan las ventas de dulces. En cuanto a los residuos, se ven moderados, lo que quiere decir que aunque hayan ocurrido imprevistos la empresa no se ha visto tan afectada por estos.

serie_ajustada <- ts_data - stl_decomp$time.series[, "seasonal"]
library(ggplot2)
library(plotly)
library(scales)
grafico_ajustada <- ggplot() +
  geom_line(aes(x = seq_along(ts_data), y = ts_data), color = "black", size = 1, linetype = "solid") +
  geom_line(aes(x = seq_along(serie_ajustada), y = serie_ajustada), color = "green", size = 1, linetype = "dashed") +
  ggtitle("Figura 2.Serie Original vs Serie Ajustada por Estacionalidad") +
  xlab("Tiempo") +
  ylab("Miles de Pesos Colombianos") +
  theme_minimal()
ggplotly(grafico_ajustada)

La Figura 2 muestra una comparacion entre el comportamiento de los activos y el comportamiento de los activos ajustados por estacionalidad. En esto se evidencia que la serie ajustada por estacionalidad tiene un comportamiento muy similar al comportamiento de la serie original.

tendencia <- stl_decomp$time.series[, "trend"]
grafico_tendencia <- ggplot() +
  geom_line(aes(x = seq_along(ts_data), y = ts_data), color = "black", size = 1) +
  geom_line(aes(x = seq_along(tendencia), y = tendencia), color = "green", size = 1, linetype = "dashed") +
  ggtitle("Figura 3. Serie Original vs Tendencia") +
  xlab("Tiempo") +
  ylab("Miles de Pesos Colombianos") +
  theme_minimal()
ggplotly(grafico_tendencia)

La figura 3 muestra la serie original en comparacion a la tendencia, nuevamente se demuestra un comportamiento muy similar en ambas, lo que quiere decir que los activos trimestrales tienen una tendencia creciente.

tasa_crecimiento <- (ts_data[(5:length(ts_data))] / ts_data[1:(length(ts_data) - 4)] - 1) * 100
tasa_tendencia <- (tendencia[(5:length(tendencia))] / tendencia[1:(length(tendencia) - 4)] - 1) * 100

# Crear vector de fechas corregido
fechas_corregidas <- seq(from = as.Date("2020-01-01"), by = "quarter", length.out = length(tasa_crecimiento))

# Verificar longitudes
print(length(fechas_corregidas))
## [1] 19
print(length(tasa_crecimiento))
## [1] 19
print(length(tasa_tendencia))
## [1] 19
grafico_crecimiento <- ggplot() +
  geom_line(aes(x = fechas_corregidas, y = tasa_crecimiento), color = "black", size = 1) +
  geom_line(aes(x = fechas_corregidas, y = tasa_tendencia), color = "green", size = 1, linetype = "dashed") +
  ggtitle("Figura 4. Tasa de Crecimiento Anual: Serie Original vs Tendencia") +
  xlab("Tiempo") +
  ylab("% de Crecimiento Anual") +
  theme_minimal()

# Convertir a gráfico interactivo
ggplotly(grafico_crecimiento)

La gráfica nos muestra que el comportamiento de la serie y su tendencia son bastante parecidos. Sin embargo, la tendencia es un poco más suave en algunos picos de la serie original. Esto sugiere que, aunque esos picos parezcan muy marcados, en realidad son parte de un patrón cíclico. A pesar de esas fluctuaciones, podemos ver que hay una mejora constante, porque el punto más bajo en 2024 es más alto que el que tuvimos en 2021. Esto quiere decir que, si lo comparamos con ese año, la situación ha mejorado y seguimos en una buena trayectoria de crecimiento.