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:
| Empresa | Ventas Año 1 | Ventas Año 2 |
|---|---|---|
| A | 1.000.000 € | 1.100.000 € |
| B | 100.000 € | 150.000 € |
En términos absolutos:
- Empresa A aumenta 100.000 €.
- Empresa B aumenta 50.000 €.
Sin embargo:
| Empresa | Crecimiento |
|---|---|
| A | 10 % |
| B | 50 % |
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:
- Ordenar los datos cronológicamente.
- Seleccionar el periodo de referencia.
- Calcular la diferencia relativa.
- Crear una nueva variable con la tasa de crecimiento.
- 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
| Ventajas | Desventajas |
|---|---|
| Reflejan la evolución temporal | No pueden calcularse para la primera observación |
| Eliminan el efecto del tamaño absoluto | Sensibles a valores iniciales pequeños |
| Mejoran la interpretación | Pueden producir valores extremos |
| Capturan tendencias | Requieren datos ordenados cronológicamente |
| Muy útiles en forecasting | Son 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 Absolutas | Tasas de Crecimiento |
|---|---|
| Miden cambios en unidades | Miden cambios relativos |
| Dependen de la escala | Independientes del tamaño |
| Dificultan comparaciones | Facilitan comparaciones |
| Más fáciles de interpretar | Más útiles para analizar tendencias |
| No reflejan proporcionalidad | Expresan variación porcentual |
Ambas medidas son complementarias y pueden utilizarse conjuntamente.
Tasas de crecimiento y Machine Learning
Su impacto depende del algoritmo empleado.
| Algoritmo | Beneficio Potencial |
|---|---|
| Regresión Lineal | Muy alto |
| Regresión Logística | Alto |
| Árboles de Decisión | Alto |
| Random Forest | Alto |
| XGBoost | Muy alto |
| LightGBM | Muy alto |
| Redes Neuronales | Alto |
| Modelos de Series Temporales | Muy 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.