Diferencias, Porcentajes y Márgenes

Escrito por

en

Dentro de la Ingeniería de Características (Feature Engineering), las variables derivadas permiten transformar los datos originales en nuevas características que representan mejor el fenómeno que se desea modelar. Entre las transformaciones más utilizadas se encuentran las diferencias, los porcentajes y los márgenes, tres técnicas sencillas pero muy eficaces para enriquecer un conjunto de datos.

Aunque comparten el objetivo de generar información adicional a partir de variables existentes, cada una responde a necesidades distintas:

  • Las diferencias permiten medir cambios absolutos
  • Los porcentajes expresan relaciones proporcionales
  • Los márgenes cuantifican la ganancia o la diferencia entre ingresos y costes.

Estas transformaciones aparecen con frecuencia en problemas relacionados con finanzas, marketing, comercio electrónico, industria y analítica empresarial.

¿Qué son las diferencias, los porcentajes y los márgenes?

Las tres son variables derivadas construidas mediante operaciones matemáticas sencillas sobre una o varias variables originales.

  • Diferencias: miden el cambio absoluto entre dos valores.
  • Porcentajes: expresan una relación proporcional respecto a un valor de referencia.
  • Márgenes: representan la diferencia entre ingresos y costes, ya sea en valores absolutos o relativos.

Aunque sus cálculos son simples, suelen aportar información mucho más útil que las variables originales.

¿Por qué son importantes?

Los modelos de Machine Learning suelen obtener mejores resultados cuando trabajan con variables que representan relaciones significativas en lugar de valores aislados.

Por ejemplo:

  • El beneficio aporta más información que conocer únicamente las ventas.
  • El porcentaje de conversión es más representativo que el número absoluto de clientes.
  • La diferencia entre temperaturas máxima y mínima puede describir mejor un fenómeno meteorológico que ambas variables por separado.

Estas transformaciones permiten incorporar conocimiento del dominio directamente al conjunto de datos.

¿Cómo funcionan?

Las tres técnicas parten de variables ya existentes.

El proceso habitual consiste en:

  1. Identificar variables relacionadas.
  2. Aplicar la operación matemática correspondiente.
  3. Crear una nueva característica.
  4. Validar que la nueva variable aporte información útil.
  5. Incorporarla al modelo de Machine Learning.

Aunque el procedimiento es sencillo, la selección de variables debe responder a una lógica de negocio o del problema analizado.

Diferencias

Las diferencias representan el cambio absoluto entre dos valores. Su fórmula general es:

$$\text{Diferencia}=Valor_1-Valor_2$$

Otro ejemplo habitual es la diferencia entre dos momentos temporales.

Temperatura MáximaTemperatura Mínima
28 °C18 °C

Resultado:

Amplitud Térmica
10 °C

Porcentajes

Los porcentajes representan la proporción de una variable respecto a otra. Su fórmula es:

$$
\text{Porcentaje}=
\frac{Parte}{Total}\times100
$$

Permiten comparar observaciones independientemente de su tamaño.

Ejemplo

Clientes TotalesClientes Nuevos
50075

Resultado:

Porcentaje Nuevos
15 %

Este tipo de variables aparece constantemente en análisis de negocio.

Márgenes

Los márgenes representan la diferencia entre ingresos y costes. Pueden expresarse de dos formas.

Margen absoluto

$$
Margen=
Ingresos-Costes
$$

Ejemplo:

VentasCostes
50.000 €32.000 €

Resultado:

18.000 €

Margen porcentual

$$
Margen=
\frac{Beneficio}{Ventas}\times100
$$

Resultado:

36 %

Este indicador resulta especialmente útil para comparar empresas o productos con diferentes niveles de ventas.

Comparación entre las tres técnicas

TécnicaQué mideUnidad
DiferenciasCambio absolutoMisma unidad de la variable
PorcentajesProporción respecto al totalPorcentaje (%)
MárgenesGanancia o rentabilidadValor absoluto o porcentaje

Cada técnica responde a necesidades distintas y puede utilizarse de forma complementaria.

Ejemplos de aplicación

Análisis financiero

Variables originales:

VentasCostes
120.000 €90.000 €

Variables derivadas:

  • Diferencia: 30.000 €
  • Margen: 25 %

Marketing digital

Variables originales:

ImpresionesClics
50.0002.500

Variable derivada:

  • Porcentaje de clics (CTR): 5 %

Recursos humanos

Variables originales:

Salario ActualSalario Anterior
2.300 €2.100 €

Variable derivada:

  • Diferencia salarial: 200 €

Beneficios

La utilización de estas variables derivadas aporta numerosas ventajas.

  • Resumen información relevante.
  • Facilitan la interpretación.
  • Mejoran la representación de los datos.
  • Eliminan parte del efecto del tamaño absoluto.
  • Capturan relaciones entre variables.
  • Incorporan conocimiento del dominio.
  • Pueden mejorar el rendimiento de modelos predictivos.

En muchos casos, estas nuevas características resultan más informativas que las variables originales.

¿Cuándo utilizar estas técnicas?

Su utilización es recomendable cuando:

  • Existen relaciones claras entre variables.
  • Se desea comparar entidades de distinto tamaño.
  • Se trabaja con indicadores financieros.
  • Se analizan cambios temporales.
  • Se necesita medir productividad o eficiencia.
  • Se desarrollan indicadores de negocio.

Son especialmente útiles cuando el comportamiento relativo tiene más importancia que los valores absolutos.

Ventajas y desventajas

VentajasDesventajas
Muy fáciles de calcularNo siempre aportan información adicional
Fácil interpretaciónPueden generar redundancia con otras variables
Mejoran algunos modelos predictivosLos porcentajes requieren controlar divisiones por cero
Incorporan conocimiento del negocioLos márgenes dependen del contexto empresarial
Reducen la dependencia de los valores absolutosAlgunas diferencias pueden ser poco representativas

Limitaciones

Aunque son transformaciones muy utilizadas, presentan algunas limitaciones.

  • No todas las diferencias tienen significado práctico.
  • Los porcentajes pueden producir valores indefinidos cuando el denominador es cero.
  • Los márgenes solo son aplicables cuando existe una relación entre ingresos y costes.
  • Algunas variables derivadas pueden estar altamente correlacionadas.
  • En determinados problemas pueden resultar insuficientes para representar relaciones complejas.

Por ello, suelen combinarse con otras técnicas de Ingeniería de Características.

Comparación con otras variables derivadas

TécnicaComplejidadAplicaciones
DiferenciasBajaCambios absolutos
PorcentajesBajaProporciones
MárgenesBajaRentabilidad
RatiosMediaRelaciones entre variables
Tasas de crecimientoMediaEvolución temporal
Índices compuestosAltaVariables sintéticas

Estas técnicas representan un primer nivel de Ingeniería de Características y suelen utilizarse como base para transformaciones más avanzadas.

Aplicaciones en Data Science y Machine Learning

Las diferencias, porcentajes y márgenes aparecen en numerosos dominios.

Algunas aplicaciones incluyen:

  • Predicción de ventas.
  • Scoring crediticio.
  • Detección de fraude.
  • Marketing digital.
  • Comercio electrónico.
  • Análisis financiero.
  • Recursos humanos.
  • Analítica deportiva.
  • Salud.
  • Industria.
  • Turismo y hotelería.
  • Business Intelligence.

En todos estos ámbitos permiten construir variables con un elevado significado práctico.

Implementación en Python

Crear una diferencia

import pandas as pd

df = pd.DataFrame({
    'ventas': [120000, 95000],
    'costes': [90000, 70000]
})

df['beneficio'] = (
    df['ventas'] -
    df['costes']
)

print(df)

Resultado:

   ventas  costes  beneficio
0  120000   90000      30000
1   95000   70000      25000

Calcular diferencias temporales

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

df['diferencia'] = (
    df['ventas']
      .diff()
)

print(df)

Resultado:

   ventas  diferencia
0     100         NaN
1     120        20.0
2     135        15.0
3     150        15.0

Crear un porcentaje

df = pd.DataFrame({
    'clientes': [500, 800],
    'clientes_nuevos': [75, 120]
})

df['porcentaje_nuevos'] = (
    df['clientes_nuevos'] /
    df['clientes']
) * 100

print(df)

Evitar divisiones por cero

import numpy as np

df['porcentaje'] = np.where(
    df['clientes'] != 0,
    (
        df['clientes_nuevos'] /
        df['clientes']
    ) * 100,
    np.nan
)

Calcular un margen absoluto

df = pd.DataFrame({
    'ventas': [80000, 120000],
    'costes': [50000, 90000]
})

df['margen'] = (
    df['ventas'] -
    df['costes']
)

Calcular un margen porcentual

df['margen_pct'] = (
    df['margen'] /
    df['ventas']
) * 100

Crear varias variables derivadas simultáneamente

df = pd.DataFrame({
    'ventas': [100000],
    'costes': [70000],
    'clientes': [500],
    'clientes_nuevos': [60]
})

df['beneficio'] = df['ventas'] - df['costes']

df['margen_pct'] = (
    df['beneficio'] /
    df['ventas']
) * 100

df['porcentaje_nuevos'] = (
    df['clientes_nuevos'] /
    df['clientes']
) * 100

Buenas prácticas

Para utilizar correctamente estas variables derivadas se recomienda:

  • Seleccionar variables con una relación lógica clara.
  • Controlar las divisiones por cero antes de calcular porcentajes o márgenes relativos.
  • Analizar la distribución de las nuevas variables.
  • Validar su contribución al rendimiento del modelo.
  • Documentar las fórmulas utilizadas.
  • Evitar crear variables redundantes.
  • Incorporar estas transformaciones dentro de pipelines reproducibles.
  • Complementarlas con otras técnicas de Ingeniería de Características cuando el problema lo requiera.

Conclusión

Las diferencias, los porcentajes y los márgenes constituyen algunas de las transformaciones más sencillas y, al mismo tiempo, más útiles dentro de la Ingeniería de Características. A partir de operaciones matemáticas básicas es posible generar variables que describen cambios absolutos, relaciones proporcionales o indicadores de rentabilidad, aportando una representación más rica y significativa de los datos.

Aunque su implementación es relativamente simple, estas variables suelen desempeñar un papel importante en modelos de Machine Learning orientados a problemas de negocio, análisis financiero, marketing o series temporales. Utilizadas de forma adecuada y combinadas con otras técnicas de Ingeniería de Características, permiten enriquecer los conjuntos de datos y mejorar tanto la capacidad predictiva como la interpretabilidad de los modelos.