Analisis de series temporales.
No nos han proporcionado una serie temporal de ventas para poder predecir la evolución de mercado, pero dado el número de clientes que maneja la compañia, es muy probable que se mueva paralelamente al mercado nacional de seguros por similitud. LA EPF es un buen recurso para estimar la serie respecto al gasto por persona.
Lo primero, descargarnos los datos de la Encuesta de Presupuestos Familiares del INE. Buscamos ademas los datos desagragados y elegimos los que tienen que ver con seguros, el gasto medio por persona y el porcentual, y todos los años disponibles.
LA EPF es una muestra recogida al azar de 20.000 hogares españoles, asi que es un buen recurso para estimar la serie respecto al gasto por persona. El enlace directo a la encuesta es Enlace a la EPF. Veamos la serie del 2003 al 2023. El gasto está medido por persona:

Importamos la tabla que da origen al gráfico, con el fin de trabajar con ella.
Code
library (readxl)
Code
EPF_seguros <- read_excel("C:/Users/Tester/Desktop/Trabajo fin de grado/Tabla Excel EPF seguros modificada.xls")
New names:
• `` -> `...1`
Code
#cambiar nombre a una variable
names (EPF_seguros)[1] = "Tipo de gasto"
#ajustar a 2 decimales
EPF_seguros [, -1] <- round (EPF_seguros [, -1], 2)
#ver la tabla
kable(view (EPF_seguros)) %>%
kable_styling (bootstrap_options = "striped", full_width = F)

Kable es una librería de R que realmente da calidad en la visualización de datos, y que desde que aprendí a usarla, no hay código donde no la emplee.
Inicialmente la abrimos con excel, eliminamos las filas y columnas que no nos interesan, para importar una tabla “limpia”. Añadimos ademas un sumatorio del total de gasto medio por persona. El año base es 2006, y el gasto esta medido en precios corrientes respecto al año base. Asi mismo hemos añadido la tasa de variación de un año respecto al anterior.
Podemos obtener estos indices segun la fórmula:
Y ahora que tenemos una serie temporal de datos la ordenamos de menor año a mayor y procedemos a un primer análisis sobre el gasto total en seguros del 2006 al 2023:
Code
# Extraer la primera columna (los conceptos de gasto)
titulos <- EPF_seguros[, 1]
# Ordenar las demás columnas (años)
EPF_ordenado <- EPF_seguros[, -1] # Excluye la primera columna
EPF_ordenado <- EPF_ordenado[, order(as.numeric(colnames(EPF_ordenado)))]
# Volver a unir la primera columna (conceptos) al principio
EPF_ordenado <- cbind(titulos, EPF_ordenado)
Code
serie <- ts(as.numeric (EPF_ordenado[6,-1]), start = 2006, end = 2023, frequency = 1)
# Visualizar la serie temporal
plot(serie, main = "Evolución del gasto en Seguros", ylab = "Euros", xlab = "Año")

Y tambien la evolución del indice de crecimiento en comparación con el año base:
Code
serie2 <- ts(as.numeric (EPF_ordenado[8,-1]), start = 2006, end = 2023, frequency = 1)
# Visualizar la serie temporal
plot(serie2, main = "Crecimiento en % respecto al año base", ylab = "Porcentaje", xlab = "Año")

O el crecimiento respecto del año anterior (año t comparado con t-1):Code
serie3 <- ts(as.numeric (EPF_ordenado[7,-1]), start = 2006, end = 2023, frequency = 1)
# Visualizar la serie temporal
plot(serie3, main = "Crecimiento respecto al año anterior", ylab = "porcentaje", xlab = "Año")

A partir de aqui se ejecuta un modelo automático de predicción (ARIMA). Ejecutamos auto-arima para detectar el tipo de serie:
Partimos de que la serie no tiene estacionalidad (los valores son anuales y las flluctuaciones dentro del año como navidad, verano… están incorporadas al modelo).
Consideramos la serie como una evolucion en el tiempo de variables aleatorias que evolucionan arreglo a las leyes probabilisticas. La función ajustará la serie para ver que procedimiento de prediccion ejecuta, o alisado, autoregresión , diferencia o media movil (o dos de ellos o los tres).
Code
# Cargar librerías necesarias
library(forecast)
library(tseries)
Code
# Ajuste con auto.arima
ajuste_serie <- auto.arima(serie)
summary(ajuste_serie)
Series: serie
ARIMA(0,1,0) with drift
Coefficients:
drift
7.0006
s.e. 2.2706
sigma^2 = 93.13: log likelihood = -62.14
AIC=128.29 AICc=129.15 BIC=129.96
Training set error measures:
ME RMSE MAE MPE MAPE MASE
Training set 0.01862774 9.098288 6.973595 -0.03472841 1.765311 0.6954368
ACF1
Training set -0.2859485
Code
# Predicción
prediccion_serie <- forecast (ajuste_serie, h=3)
plot(prediccion_serie)

Code
summary (prediccion_serie)
Forecast method: ARIMA(0,1,0) with drift
Model Information:
Series: serie
ARIMA(0,1,0) with drift
Coefficients:
drift
7.0006
s.e. 2.2706
sigma^2 = 93.13: log likelihood = -62.14
AIC=128.29 AICc=129.15 BIC=129.96
Error measures:
ME RMSE MAE MPE MAPE MASE
Training set 0.01862774 9.098288 6.973595 -0.03472841 1.765311 0.6954368
ACF1
Training set -0.2859485
Forecasts:
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
2024 468.3106 455.9434 480.6778 449.3966 487.2246
2025 475.3112 457.8213 492.8011 448.5627 502.0597
2026 482.3118 460.8911 503.7324 449.5517 515.0718
Los valores de error en general son bastante bajos, lo que se traduje en un buen ajuste respecto a los datos históricos. Se ha usado un modelo Arima (0,1,0) lo que significa que no se ha usado la autoregresión ni las medias móviles, y para introducir la estacionalidad se ha aplicado una diferencia para hacer la serie estacionaria.
Las prediciones nos dan un gasto medio para el 2024 de 468,31€, para el 2025 de 475,31€, y para el 2026 de 482,31€, con un nivel de confianza del 80%.. Esto implica un predicción de crecimiento en 2024 sobre el 2023 del gasto medio por persona en el sector seguros (según la EPF facilitada) del 1,52%, un crecimiento en 2025 del 1,49€ y un crecimiento para 2026 del 1.47€%.
Podemos aplicar este futuro crecimiento a nuestra base de datos de clientes ? habría que comprobar la heterogeneidad de la muestra proporcionada y como nos han filtrado los datos. En principio si, ya la que esta compañia cuenta con más de 10 millones de clientes, la muestra es lo suficientemente amplia para replicar los movimientos de la serie. Notar tambien que hablamos de un gasto en seguros de forma global, y que eliminamos la distorsión que puede haber entre una compañia que sea especialista en seguros de salud y otra especializada en automovil, donde aquí si podría haber diferencias importantes en el tipo de clientes.
Deja una respuesta