• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
      • Ajuste de Curvas
      • Calculadora de Matrices
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Calculadora XIRR con Flujos Irregulares
      • Simulador FIRE (Financial Independence, Retire Early)
    • Negocios
      • CLV
      • Scoring
    • Herramientas
      • Formateador / Minificador de JSON
      • Conversor CSV ↔ JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

BG/BB: el modelo de CLV para compras en períodos discretos

CLV, Laboratorio

agosto 25, 2026 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 9 minutos

Los dos artículos anteriores de la serie cubrieron BG/NBD, el modelo para negocios donde el cliente puede comprar en cualquier momento con frecuencia libre. Pero no todos los negocios funcionan así. Hay un grupo amplio de contextos (donaciones a campañas periódicas, renovaciones de membresía, compras de catálogo estacional) donde el cliente no decide “cuándo” comprar, sino “si compra o no” en cada oportunidad que se le presenta. Para ese mundo existe BG/BB: Beta-Geométrico / Beta-Bernoulli.

Es el modelo que completa la suite junto a BG/NBD: mismo marco conceptual de probabilidad de actividad y CLV esperado, pero construido sobre una estructura de tiempo discreto en lugar de continuo. Puedes ajustarlo sobre tus propios datos en la herramienta BG/BB del laboratorio, que incluye como ejemplo el dataset de donaciones de Fader & Hardie.

Tabla de contenidos

  • 1. El problema que resuelve: oportunidades de compra discretas
  • 2. La estructura del modelo: dos procesos latentes, ahora discretos
    • 2.1. El proceso de compra: Bernoulli con heterogeneidad Beta
    • 2.2. El proceso de abandono: Bernoulli con heterogeneidad Beta
    • 2.3. Por qué “Beta-Geometric/Beta-Bernoulli”
  • 3. Las estadísticas suficientes en tiempo discreto
  • 4. P(alive) en el contexto discreto
  • 5. Compras esperadas en el horizonte de predicción
  • 6. El CLV en BG/BB: una cifra que exige contexto
  • 7. Validación de calibración
  • 8. BG/NBD vs. BG/BB: la comparación directa
  • 9. Casos de aplicación de BG/BB
  • 10. Cómo usar la herramienta
  • 11. Cierre de la serie: el Dashboard

El problema que resuelve: oportunidades de compra discretas

Piensa en una campaña de donaciones anual. Cada donante tiene exactamente una oportunidad de donar por campaña: dona o no dona. No existe el concepto de “donar 3 veces en enero”. El tiempo no es continuo, está dividido en slots discretos, cada campaña es un período, y en cada slot ocurre, como máximo, una transacción.

Este mismo patrón aparece en renovaciones de seguros (una oportunidad de renovar al año), en catálogos de temporada (una oportunidad de compra por temporada), o en cualquier negocio organizado alrededor de ciclos fijos de contacto con el cliente. Aplicar BG/NBD a este tipo de datos sería forzar un proceso de Poisson continuo sobre un fenómeno que es, por construcción, binario y periódico. BG/BB está diseñado específicamente para esta estructura.

Por Qué las Contraseñas Largas son más Seguras que las Complejas
En Analytics Lane
Por Qué las Contraseñas Largas son más Seguras que las Complejas

La estructura del modelo: dos procesos latentes, ahora discretos

BG/BB mantiene la misma lógica conceptual que BG/NBD, un proceso de “compra” y un proceso de “abandono”, ambos con heterogeneidad entre clientes, pero sustituye las distribuciones continuas por sus equivalentes discretas.

Publicidad


El proceso de compra: Bernoulli con heterogeneidad Beta

En cada período en que el cliente está activo, compra con probabilidad p, siguiendo un proceso de Bernoulli (compra/no compra). Esta probabilidad varía entre clientes según una distribución Beta: p \sim \text{Beta}(\alpha, \beta)

En el ejemplo del laboratorio, sobre 11.104 clientes, los parámetros ajustados son \alpha = 1{,}204 y \beta = 0{,}750, lo que da una media poblacional p = \alpha/(\alpha+\beta) = 1{,}204/1{,}954 \simeq 0{,}616. La herramienta confirma esta cifra: P(compra) media = 61,6%. Es una probabilidad de compra por período relativamente alta, coherente con una base de donantes con un núcleo de comportamiento muy regular, como veremos en la tabla de clientes.

Captura de pantalla de los resultados de ajustar el conjunto de datos de donaciones de Fader & Hardie.
Resultados de ajustar el conjunto de datos de donaciones de Fader & Hardie.

El proceso de abandono: Bernoulli con heterogeneidad Beta

Después de cada período (haya comprado o no), el cliente puede abandonar con probabilidad θ, también heterogénea entre clientes: \theta \sim \text{Beta}(\gamma, \delta)

Con \gamma = 0{,}657 y \delta = 2{,}783, la media poblacional es \gamma/(\gamma +\delta) = 0{,}657/3{,}44 \simeq 0{,}191, es decir, alrededor de un 19,1% de probabilidad de abandono por período en promedio. La herramienta lo confirma: P(abandono) media = 19,1%.

Por qué “Beta-Geometric/Beta-Bernoulli”

El nombre combina los dos componentes: el proceso de abandono, integrado sobre la heterogeneidad de θ, sigue una distribución Beta-Geométrica (igual que en BG/NBD); el proceso de compra, integrado sobre la heterogeneidad de p, sigue una distribución Beta-Bernoulli período a período, que agregada da una Beta-Binomial sobre el número total de períodos observados.

Publicidad


Las estadísticas suficientes en tiempo discreto

Igual que BG/NBD se resume en (x, t_x, T), BG/BB se resume en tres números equivalentes pero en unidades de período:

  • n: número total de períodos observados desde que el cliente entró en la base
  • x: número de períodos en los que hubo transacción
  • t_x: el período (índice) de la última transacción observada

En la tabla de clientes del ejemplo, los primeros registros muestran n=6, x=6, t_x=6: clientes que han estado presentes en 6 períodos y han comprado en los 6, con la última compra en el período más reciente. Es el patrón de máxima actividad posible dentro de la ventana observada, y por eso su P(alive) es alta (93%) y su CLV está entre los más altos de la cartera.

P(alive) en el contexto discreto

La interpretación de P(alive) es la misma que en BG/NBD, la probabilidad de que el cliente siga activo dado su historial, pero el cálculo opera sobre períodos discretos en lugar de tiempo continuo. La tabla completa de clientes lo ilustra con gran claridad si comparamos casos con el mismo n=6:

  • x=6, t_x=6 (compró en los 6 períodos, el último incluido) → P(alive) = 93%
  • x=5, t_x=6 (compró en 5 de 6, el último incluido) → P(alive) = 93%
  • x=5, t_x=5 (compró en 5 de 6, pero el último período no) → P(alive) = 52%
  • x=4, t_x=5 → P(alive) = 70%
  • x=4, t_x=4 (dejó de comprar hace 2 períodos) → P(alive) = 20%
  • x=2, t_x=3 (poca frecuencia y silencio reciente) → P(alive) = 30%
  • x=1, t_x=2 (una sola compra y silencio desde entonces) → P(alive) = 25%
  • x=0 (nunca compró tras la primera observación, n=6) → P(alive) = 11%

El patrón es nítido: lo que más penaliza la P(alive) no es la frecuencia baja en sí, sino el silencio en el período más reciente. Un cliente con x=5 que compró en el último período (t_x=6=n) mantiene 93% de probabilidad de estar activo; el mismo x=5 pero con la última compra un período antes (t_x=5) cae a 52%. Es el equivalente discreto exacto de lo que vimos en BG/NBD: la recencia relativa al patrón habitual del cliente importa más que el conteo total de transacciones.

En el resumen de cartera del ejemplo, la P(activo) media es 43%, sustancialmente más baja que el 78,7% que vimos en el ejemplo BG/NBD del artículo anterior. Esto no indica necesariamente que el negocio de donaciones tenga peor retención: refleja que estamos ante poblaciones y dinámicas de churn distintas, y que las cifras no son directamente comparables entre ambos ejemplos sin conocer el contexto completo de cada dataset.

Con 4.532 clientes (41%) por encima de P(alive) = 0,5 y 3.464 clientes (31%) que solo compraron una vez, la cartera muestra una estructura con una proporción relevante de donantes esporádicos junto a un núcleo de donantes recurrentes.

Compras esperadas en el horizonte de predicción

BG/BB proyecta cuántas transacciones esperamos de cada cliente en los próximos períodos, igual que BG/NBD proyecta transacciones en el horizonte continuo. En el ejemplo, para los próximos 5 períodos, la cartera completa de 11.104 clientes genera una proyección de 12.884 compras totales esperadas, poco más de una compra por cliente en el horizonte completo, coherente con un negocio donde cada cliente tiene como máximo una oportunidad de compra por período.

En la tabla, los clientes con n=x=6 muestran E[trans] = 3,75 sobre 5 períodos futuros: una expectativa alta pero no de 5/5, porque el modelo siempre descuenta por la probabilidad de abandono incluso en los clientes con el historial más sólido.

Publicidad


El CLV en BG/BB: una cifra que exige contexto

Aquí hay un punto que merece atención directa antes de seguir. El CLV medio del ejemplo es 7.754,58 € y el CLV total de cartera es 86.106.865 € — cifras dramáticamente más altas que las del ejemplo BG/NBD (29,14 € y 68.682 € respectivamente).

Esto no significa que un modelo sea “mejor” o que el negocio de donaciones sea cientos de veces más valioso por cliente que el de CDNOW. Significa que los dos ejemplos parten de supuestos de configuración muy distintos: el dataset, la unidad de tiempo, el margen bruto configurado, la tasa de descuento, y el valor monetario subyacente de cada transacción son todos diferentes entre ambas herramientas. El CLV combinado con Gamma/Gamma depende multiplicativamente del valor de cada transacción, y una diferencia de varios órdenes de magnitud en ese input se traslada directamente al resultado final.

La lección práctica es: nunca compares cifras de CLV absolutas entre datasets o configuraciones distintas sin verificar que los supuestos de entrada sean equivalentes. Lo que sí es comparable dentro de un mismo dataset es la concentración relativa: el cliente de mayor CLV en esta cartera alcanza 31.591,09 €, unas 4 veces el CLV medio, y ese ratio es la métrica honesta para comparar la dispersión de valor entre carteras distintas, no las cifras absolutas en euros.

Validación de calibración

La herramienta reporta para este ejemplo: “Ajuste excelente: desviación L1 = 2,6%. El modelo replica bien la distribución observada.” Comparado con el 6% de desviación del ejemplo BG/NBD del artículo anterior, este ajuste es notablemente mejor.

Esto es coherente con la naturaleza del proceso: en datos discretos con relativamente pocos períodos posibles (como n=6), hay menos formas en que el patrón observado puede desviarse del modelo teórico, comparado con un proceso continuo donde la variabilidad temporal es mucho mayor. No es una regla general —depende del dataset concreto— pero ilustra que la calidad del ajuste hay que evaluarla en su propio contexto, no comparándola directamente contra otros modelos.

Captura de pantalla con los gráficos obtenidos en la herramienta del laboradito tras ajustar el conjunto de datos de donaciones de Fader & Hardie.
Gráficos obtenidos en la herramienta del laboradito tras ajustar el conjunto de datos de donaciones de Fader & Hardie.

BG/NBD vs. BG/BB: la comparación directa

Ya hemos tocado esta distinción en artículos anteriores de la serie, pero vale la pena consolidarla aquí con los datos de ambos ejemplos reales:

BG/NBD (CDNOW)BG/BB (Donaciones)
TiempoContinuoDiscreto (períodos)
Proceso de compraPoisson(λ), λ~Gamma(r,α)Bernoulli(p), p~Beta(α,β)
Proceso de abandonoGeométrico tras cada compraGeométrico tras cada período
Estadísticas suficientes(x, t_x, T) en tiempo real(n, x, t_x) en número de períodos
Clientes en el ejemplo2.35711.104
P(alive) media78,7%43%
Desviación de calibración6%2,6%

La pregunta que determina cuál usar no es “¿cuál ajusta mejor?” sino “¿cómo es la estructura real de oportunidades de compra de mi negocio?”. Si el cliente puede comprar cualquier día sin restricción de calendario, BG/NBD. Si el cliente tiene una oportunidad de compra bien definida por período, y el período es el mismo para todos los clientes, BG/BB.

Publicidad


Casos de aplicación de BG/BB

Repasando los contextos donde BG/BB es la elección correcta, con el razonamiento de fondo:

  • Donaciones a campañas periódicas: el ejemplo del laboratorio. Cada campaña (mensual, trimestral, anual) es un período; el donante dona o no dona en cada una.
  • Renovación de seguros: cada año es un período; el asegurado renueva o no.
  • Tarjeta de crédito: decisión de financiar vs. liquidar: como discutimos en una conversación anterior de esta serie, el evento relevante no es cada transacción sino la decisión mensual de financiar el saldo o pagar a fin de mes. Eso es un slot mensual natural.
  • Catálogos de temporada: cada temporada es una oportunidad de compra discreta, independientemente de cuántas veces el cliente revise el catálogo.
  • Newsletters o campañas con cadencia fija: cada envío es una oportunidad de conversión, sí/no.

El hilo común es siempre el mismo: existe un calendario de oportunidades de compra que es exógeno al cliente individual, no generado por su propio comportamiento.

Cómo usar la herramienta

La herramienta BG/BB del laboratorio acepta cualquier CSV con estructura de panel por período (cliente, período, indicador de transacción y valor monetario si aplica), además del dataset de donaciones de ejemplo. Los parámetros configurables incluyen la unidad de período, el horizonte de predicción en número de períodos futuros, el margen bruto y la tasa de descuento.

Los outputs incluyen los parámetros ajustados de heterogeneidad en compra y abandono con su log-verosimilitud, el resumen de cartera, la distribución de P(activo), el gráfico de compras por período, la tabla completa de clientes ordenable por CLV, y la validación de calibración.

Un ejercicio útil al cargar tus propios datos: revisa primero la media poblacional de p y θ antes de interpretar cualquier resultado a nivel de cliente individual. Te da el marco de referencia, la probabilidad “típica”, contra el que se comparan después los casos individuales de la tabla, que es donde está el verdadero valor diagnóstico del modelo.

Cierre de la serie: el Dashboard

Con CLV Simple, RFM, BG/NBD y BG/BB cubiertos, el último artículo de la serie aborda el Dashboard, que ejecuta los cuatro enfoques sobre el mismo conjunto de datos y permite compararlos directamente. Ahí es donde se cierra el círculo: ver en una sola vista cómo el CLV clásico, la segmentación descriptiva RFM, y las dos familias de modelos probabilísticos convergen, o divergen, en sus conclusiones sobre el valor de la misma cartera de clientes.

Imagen de Mohamed Nuzrath en Pixabay

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicidad


Publicaciones relacionadas

  • Por Qué las Contraseñas Largas son más Seguras que las Complejas
  • Segmentación RFM: cómo clasificar tu cartera de clientes antes de calcular el CLV
  • Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción
  • Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring
  • Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)
  • BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas
  • Curiosidad: De dónde vienen foo, bar y foobar
  • Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Publicado en: Ciencia de datos Etiquetado como: CLV, Laboratorio

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

BG/BB: el modelo de CLV para compras en períodos discretos

agosto 25, 2026 Por Daniel Rodríguez

Por Qué las Contraseñas Largas son más Seguras que las Complejas

agosto 20, 2026 Por Daniel Rodríguez

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

agosto 18, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Cómo eliminar un entorno en Conda publicado el enero 15, 2024 | en Python
  • Gráficos de barras en Matplotlib publicado el julio 5, 2022 | en Python
  • Hoja en la que se puede obtener el último valor de una columna en Excel Obtener el último valor de una columna en Excel publicado el mayo 5, 2021 | en Herramientas
  • ¿Cómo cambiar el nombre de las columnas en Pandas? publicado el mayo 6, 2019 | en Python
  • Truco: Reproducir sonidos en Python publicado el febrero 28, 2022 | en Python

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.1 (11)

Aplicar el método D’Hondt en Excel

Comentarios recientes

  • Daniel Rodríguez en Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)
  • Juan en Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)
  • bif en JSON en bases de datos: cuándo es buena idea y cuándo no
  • bif en Cómo desinstalar Oracle Database 19c en Windows
  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto