Tasas de Crecimiento

Escrito por

en

Las variables temporales contienen una gran cantidad de información sobre la evolución de un fenómeno a lo largo del tiempo. Sin embargo, en muchos casos los valores absolutos no reflejan adecuadamente la dinámica de cambio de una variable. Dos empresas pueden registrar el mismo volumen de ventas, pero una puede estar creciendo rápidamente mientras la otra experimenta una disminución constante.

Las tasas de crecimiento son una técnica de Ingeniería de Características que permite medir la variación relativa de una variable entre dos o más periodos. Estas nuevas características proporcionan información sobre la velocidad y dirección del cambio, convirtiéndose en variables altamente predictivas en numerosos problemas de Data Science y Machine Learning.

Su utilización es especialmente frecuente en análisis financieros, predicción de ventas, economía, marketing, analítica web y modelos basados en series temporales.

¿Qué son las tasas de crecimiento?

Una tasa de crecimiento es una variable derivada que expresa el cambio relativo de una magnitud respecto a un periodo anterior. A diferencia de una diferencia absoluta, que mide únicamente cuánto ha aumentado o disminuido un valor, la tasa de crecimiento indica qué porcentaje representa dicho cambio respecto al valor inicial.

La fórmula más utilizada es:

$$\text{Tasa de Crecimiento} = \frac{Valor_{actual}-Valor_{anterior}} {Valor_{anterior}} $$

Generalmente se expresa como porcentaje:

$$
\text{Tasa de Crecimiento (%)} =
\frac{Valor_{actual}-Valor_{anterior}}
{Valor_{anterior}}
\times100
$$

¿Por qué son importantes?

Las tasas de crecimiento permiten comparar la evolución de entidades con tamaños muy diferentes.

Por ejemplo:

EmpresaVentas Año 1Ventas Año 2
A1.000.000 €1.100.000 €
B100.000 €150.000 €

En términos absolutos:

  • Empresa A aumenta 100.000 €.
  • Empresa B aumenta 50.000 €.

Sin embargo:

EmpresaCrecimiento
A10 %
B50 %

Ahora resulta evidente que la empresa B presenta un crecimiento mucho mayor.

¿Cómo funcionan las tasas de crecimiento?

El proceso consiste en comparar una observación con otra correspondiente a un periodo anterior. Generalmente se siguen estos pasos:

  1. Ordenar los datos cronológicamente.
  2. Seleccionar el periodo de referencia.
  3. Calcular la diferencia relativa.
  4. Crear una nueva variable con la tasa de crecimiento.
  5. Incorporar la característica al conjunto de datos.

Tipos de tasas de crecimiento

  • Crecimiento absoluto: Representa únicamente la diferencia entre dos periodos. \( Valor_{actual}-Valor_{anterior}\)
  • Crecimiento porcentual: Expresa el cambio relativo respecto al periodo anterior. Ejemplo: de 200 a 260 creció un 30%.
  • Crecimiento interanual (Year over Year – YoY): Compara un periodo con el mismo periodo del año anterior. Ejemplo: enero de 2024 vs enero de 2025. Permite eliminar efectos estacionales.
  • Crecimiento mensual (Month over Month – MoM): Compara un mes respecto al inmediatamente anterior. Ejemplo: marzo respecto a febrero. Es muy utilizado para seguimiento operativo.
  • Variación acumulada: representa el crecimiento total experimentado durante varios periodos consecutivos. Este indicador permite evaluar la evolución global de una serie temporal sin limitarse únicamente a las variaciones entre periodos consecutivos.
  • Crecimiento compuesto anual (CAGR): El Compound Annual Growth Rate (CAGR) representa la tasa media anual de crecimiento durante varios años. Su fórmula es:

$$
CAGR=
\left(
\frac{Valor_{final}}
{Valor_{inicial}}
\right)^{\frac{1}{n}}-1
$$

donde:

  • (n) representa el número de años.

Es ampliamente utilizado en finanzas y planificación estratégica.

Beneficios de utilizar tasas de crecimiento

  • Capturan tendencias temporales.
  • Normalizan cambios entre entidades de distinto tamaño.
  • Mejoran la capacidad predictiva.
  • Detectan aceleraciones y desaceleraciones.
  • Facilitan comparaciones históricas.
  • Reflejan la evolución del negocio.
  • Incorporan información dinámica al modelo.

En muchos casos, la tendencia resulta más relevante que el valor absoluto.

¿Cuándo utilizar tasas de crecimiento?

  • Existen datos temporales.
  • Se analizan series cronológicas.
  • Se desea estudiar tendencias.
  • Se trabaja con ventas o ingresos.
  • Se monitorizan indicadores empresariales.
  • Se desarrollan modelos de forecasting.
  • Se buscan variables derivadas temporales.

Son especialmente útiles cuando el comportamiento a lo largo del tiempo influye en la variable objetivo.

Ventajas y desventajas

VentajasDesventajas
Reflejan la evolución temporalNo pueden calcularse para la primera observación
Eliminan el efecto del tamaño absolutoSensibles a valores iniciales pequeños
Mejoran la interpretaciónPueden producir valores extremos
Capturan tendenciasRequieren datos ordenados cronológicamente
Muy útiles en forecastingSon sensibles a valores atípicos

Limitaciones

Aunque son ampliamente utilizadas, presentan algunas limitaciones.

  • Requieren información histórica.
  • No pueden calcularse cuando el valor anterior es cero.
  • Son sensibles a pequeñas variaciones en denominadores reducidos.
  • Pueden amplificar el efecto de valores atípicos.
  • No representan adecuadamente cambios altamente irregulares.
  • En series muy volátiles pueden generar ruido.

Por ello, en ocasiones se combinan con medias móviles u otras técnicas de suavizado.

Tasas de crecimiento vs diferencias absolutas

Diferencias AbsolutasTasas de Crecimiento
Miden cambios en unidadesMiden cambios relativos
Dependen de la escalaIndependientes del tamaño
Dificultan comparacionesFacilitan comparaciones
Más fáciles de interpretarMás útiles para analizar tendencias
No reflejan proporcionalidadExpresan variación porcentual

Ambas medidas son complementarias y pueden utilizarse conjuntamente.

Tasas de crecimiento y Machine Learning

Su impacto depende del algoritmo empleado.

AlgoritmoBeneficio Potencial
Regresión LinealMuy alto
Regresión LogísticaAlto
Árboles de DecisiónAlto
Random ForestAlto
XGBoostMuy alto
LightGBMMuy alto
Redes NeuronalesAlto
Modelos de Series TemporalesMuy alto

Las tasas de crecimiento suelen aportar información muy valiosa porque representan la evolución temporal de las variables.

Aplicaciones en Data Science y Machine Learning

Las tasas de crecimiento aparecen en numerosos sectores. Algunas aplicaciones incluyen:

  • Predicción de ventas.
  • Forecasting financiero.
  • Comercio electrónico.
  • Marketing digital.
  • Analítica web.
  • Predicción de demanda.
  • Detección de abandono de clientes.
  • Economía.
  • Energía.
  • Industria manufacturera.
  • Recursos humanos.
  • Turismo y hotelería.

En cualquier problema donde exista una dimensión temporal, las tasas de crecimiento pueden convertirse en variables altamente predictivas.

Implementación en Python

Calcular crecimiento porcentual

Pandas incorpora el método pct_change(), diseñado específicamente para calcular la variación porcentual entre observaciones consecutivas.

import pandas as pd

df = pd.DataFrame({
    'ventas': [100, 120, 150, 180]
})

df['crecimiento'] = (
    df['ventas']
    .pct_change()
)

print(df)
   ventas  crecimiento
0     100          NaN
1     120     0.200000
2     150     0.250000
3     180     0.200000

Expresar el crecimiento como porcentaje

df['crecimiento_pct'] = (
    df['ventas']
    .pct_change() * 100
)
0     NaN
1    20.0
2    25.0
3    20.0

Calcular crecimiento respecto a varios periodos

El parámetro periods permite comparar con observaciones anteriores distintas de la inmediatamente anterior.

df['crecimiento_2_periodos'] = (
    df['ventas']
    .pct_change(periods=2)
)

Esto resulta útil para analizar tendencias de mayor plazo.

Calcular crecimiento manualmente

df['crecimiento_manual'] = (
    (df['ventas'] - df['ventas'].shift(1))
    / df['ventas'].shift(1)
)

Esta implementación muestra explícitamente la fórmula matemática utilizada.

Calcular CAGR

import numpy as np

valor_inicial = 100
valor_final = 180
años = 3

cagr = (
    (valor_final / valor_inicial) ** (1 / años)
) - 1

print(f"CAGR: {cagr:.2%}")
CAGR: 21.64%

Evitar divisiones por cero

import numpy as np

df['crecimiento'] = np.where(
    df['ventas'].shift(1) != 0,
    (
        (df['ventas'] - df['ventas'].shift(1))
        / df['ventas'].shift(1)
    ),
    np.nan
)

Esta práctica evita errores cuando el valor del periodo anterior es igual a cero.

Buenas prácticas

  • Ordenar siempre los datos cronológicamente antes de realizar el cálculo.
  • Verificar la calidad de las fechas y periodos.
  • Controlar divisiones por cero.
  • Analizar la presencia de valores extremos.
  • Utilizar ventanas temporales coherentes con el problema.
  • Complementar las tasas de crecimiento con variables de nivel absoluto.
  • Validar su impacto mediante validación cruzada.
  • Documentar claramente el periodo utilizado para el cálculo.

Conclusión

Las tasas de crecimiento constituyen una de las variables derivadas más útiles dentro de la Ingeniería de Características cuando se trabaja con datos temporales. Al medir la variación relativa entre distintos periodos, permiten capturar tendencias, aceleraciones y cambios en el comportamiento de una variable que no son evidentes a partir de los valores absolutos.

Su aplicación es habitual en áreas como las finanzas, el marketing, el comercio electrónico, la economía y la predicción de demanda, donde la evolución temporal desempeña un papel fundamental. Aunque requieren un tratamiento cuidadoso de aspectos como el orden cronológico, los valores iniciales iguales a cero y la presencia de datos atípicos, las tasas de crecimiento pueden aportar un elevado valor predictivo y mejorar significativamente el rendimiento de los modelos de Machine Learning cuando se diseñan y validan correctamente.