WP WordPress Intermedio

Predictive LTV & Churn — Documentación completa

Guía de instalación, configuración y uso del plugin de puntuación LTV predictiva y segmentación RFM automática para WooCommerce.

Actualizado Versión del módulo 1.0.0

Guía completa del plugin Predictive LTV & Churn para WooCommerce: instalación, configuración de los Email Service Providers, uso del panel de control, comprensión del modelo predictivo y de la segmentación RFM automática.

Visión general

Predictive LTV & Churn es un plugin de WooCommerce que puntúa a cada cliente de tu tienda según dos dimensiones: su valor de vida previsto (Lifetime Value) y su probabilidad de abandono (churn). A partir de ahí, clasifica automáticamente a cada cliente en uno de los 9 segmentos de negocio accionables, y sincroniza esa información con Brevo, Mailchimp o Klaviyo para permitirte dirigir tus campañas de email con precisión.

El motor se inspira en el modelo BG/NBD utilizado por los data scientists, pero funciona sin configuración previa: aprende continuamente la baseline real de tu tienda (tasa de recompra, ticket medio, intervalo entre pedidos) para dar predicciones razonables desde el primer pedido.

Caso de uso típico. Un cliente hace su primer pedido. El plugin lo detecta, calcula inmediatamente su LTV previsto (con confianza baja pero valor útil), lo asigna al segmento «Cliente nuevo» y lo envía a Brevo con los atributos DFPLC_PREDICTED_LTV y DFPLC_SEGMENT. Tu automatización de Brevo puede entonces disparar una secuencia de bienvenida adaptada.

Instalación

Requisitos

  • WordPress 6.2 o superior
  • WooCommerce 7.0 o superior (probado hasta 9.4)
  • PHP 7.4 o superior (8.x recomendado)
  • Una clave API para al menos un ESP entre Brevo, Mailchimp o Klaviyo

Pasos de instalación

  1. Descarga el archivo ZIP dfpredictivectvchurn.zip desde tu cuenta DataFirefly.
  2. En la administración de WordPress, ve a Plugins > Añadir nuevo > Subir plugin.
  3. Selecciona el ZIP y haz clic en Instalar ahora.
  4. Haz clic en Activar plugin.
  5. Al activarse, el plugin crea automáticamente 3 tablas dedicadas en tu base de datos: wp_dfplc_customer_scores, wp_dfplc_export_queue, wp_dfplc_baseline.
El plugin declara formalmente su compatibilidad con el High Performance Order Storage (HPOS) de WooCommerce mediante FeaturesUtil. Ningún acceso directo a las tablas wp_postmeta, todo pasa por wc_get_orders().

Primer inicio y puntuación inicial

Justo después de la activación, tu panel de control está vacío: ningún cliente ha sido puntuado todavía. Tienes dos opciones.

Opción 1: puntuación incremental automática

No hagas nada. El plugin puntuará a los clientes a medida que lleguen nuevos pedidos. Es la vía más suave para bases grandes.

Opción 2: puntuación retroactiva del historial completo

Ve a Predictive LTV > Panel de control y haz clic en el botón Recalcular todos los clientes. El plugin recorrerá tu historial de pedidos por lotes de 50 clientes, calculará cada puntuación, actualizará la baseline de la tienda y luego refrescará los quintiles RFM. Según el tamaño de tu base, cuenta con:

  • Menos de 500 clientes: unos segundos
  • 500 a 5 000 clientes: de 30 segundos a 3 minutos
  • Más de 5 000 clientes: de 5 a 15 minutos (el procesamiento continúa en segundo plano)
En una tienda con más de 20 000 clientes, se recomienda desactivar temporalmente la opción de «recálculo en tiempo real» durante la puntuación inicial para evitar la doble carga.

Configuración de los Email Service Providers

El plugin soporta tres ESP simultáneamente. Puedes activar uno, dos o los tres. Cada configuración se hace en Predictive LTV > Ajustes.

Brevo (antes Sendinblue)

  1. Conéctate a tu cuenta de Brevo, ve a SMTP & API > API Keys.
  2. Crea una clave v3 con los permisos Contacts como mínimo.
  3. Crea una lista dedicada (por ejemplo «DataFirefly LTV»), anota su ID numérico.
  4. En el plugin, pega la clave API en Clave API Brevo y el ID de lista en ID de lista Brevo.
  5. Haz clic en Probar la conexión para validar las credenciales.

Los siguientes atributos se crearán automáticamente en cada contacto Brevo: DFPLC_PREDICTED_LTV, DFPLC_LTV_CONF, DFPLC_CHURN_PROB, DFPLC_SEGMENT, DFPLC_TOTAL_ORDERS, DFPLC_TOTAL_SPENT, DFPLC_RFM_R, DFPLC_RFM_F, DFPLC_RFM_M, DFPLC_LAST_ORDER.

Mailchimp

  1. En Mailchimp, ve a Account > Extras > API keys, crea una clave.
  2. Localiza el List ID de tu audiencia (en Audience > Settings > Audience name and defaults).
  3. En el plugin, pega la clave y el ID de lista.
  4. Haz clic en Probar la conexión.
Mailchimp limita los nombres de merge fields a 10 caracteres. El plugin utiliza por tanto nombres acortados: DFPLTV (LTV previsto), DFCONF (confianza), DFCHURN (churn), DFSEG (segmento), DFORDERS, DFSPENT, DFRFM (concatenación de R+F+M en 3 dígitos).

Klaviyo

  1. En Klaviyo, ve a Account > Settings > API Keys, crea una Private API Key con los scopes Profiles: Full Access y Lists: Full Access.
  2. Opcional: recupera el ID de la lista (visible en la URL /list/<LIST_ID>) si quieres que el plugin suscriba los contactos.
  3. En el plugin, pega la clave y opcionalmente el ID de lista.
  4. Haz clic en Probar la conexión.

Comprender el modelo predictivo

La probabilidad de que el cliente siga activo

El plugin calcula p_alive = exp(-days_since_last / expected_interval), donde expected_interval es el intervalo medio entre dos pedidos de este cliente (o la baseline de la tienda si solo tiene un pedido). Esta fórmula decrece exponencialmente: cuanto más tiempo pasa desde el último pedido, mayor es la probabilidad de que el cliente esté «perdido». La probabilidad de abandono es simplemente (1 - p_alive) × 100.

El LTV previsto

La fórmula es: predicted_ltv = total_spent + p_alive × expected_future_orders × avg_aov_customer. Para un cliente nuevo (un solo pedido), el plugin utiliza la baseline de la tienda para estimar los pedidos futuros. Para un cliente con varios pedidos, extrapola su ritmo personal sobre un horizonte de un año.

La confianza

La puntuación de confianza combina dos componentes: la calidad del historial personal (cuantos más pedidos tenga el cliente, mejor) y la riqueza de la baseline de la tienda (cuantos más datos tenga la tienda, mejor). La fórmula pondera 0,6 × history_score + 0,4 × baseline_score.

Para un cliente nuevo cuyo primer pedido tiene menos de 30 días, la probabilidad de abandono se neutraliza alrededor del 50 % para evitar falsos positivos. Ninguna señal fiable permite todavía decir si volverá o no.

Los 9 segmentos de negocio

El plugin coloca a cada cliente en exactamente un segmento siguiendo una lógica de prioridad descendente. Los umbrales utilizan los quintiles RFM (percentiles 20, 40, 60, 80) calculados sobre tu base real.

  • Campeones: cliente con R ≥ 4, F ≥ 4 y M ≥ 4. Top RFM a fidelizar.
  • Alto valor en riesgo: LTV previsto ≥ p80 pero R ≤ 3 y churn ≥ 40 %. Señal de alerta crítica.
  • Riesgo de abandono: churn ≥ 70 % y M ≥ 3. Cliente valioso que se aleja.
  • Cliente nuevo: 1 pedido y menos de 30 días de antigüedad.
  • Potencial fiel: 2 pedidos o más, R ≥ 4. A punto de volverse fiel.
  • Fiel: F ≥ 4 pero M ≤ 3. Recurrente pero ticket pequeño.
  • Inactivo: R ≤ 2 y F ≥ 2. Fue bueno, ya no lo es.
  • Perdido: R = 1 y churn ≥ 90 %. Perdido, probablemente de forma definitiva.
  • Bajo valor: LTV previsto ≤ p25. Bajo potencial económico.
Si tu tienda tiene menos de 20 clientes puntuados, la segmentación pasa al modo «por defecto» y asigna simplemente new_customer o loyal según el número de pedidos. Los quintiles solo son estadísticamente significativos por encima de ese umbral.

Uso del panel de administración

Panel de control

Vista sintética con cuatro KPI: número total de clientes puntuados, LTV media prevista, tasa media de abandono, tamaño de la cola de exportación. Debajo, la distribución por segmento se muestra en barras coloreadas, con la leyenda asociada. La baseline de la tienda es visible en la parte inferior: tasa de recompra, ticket medio, intervalo medio entre pedidos.

Clientes

Lista paginada con filtros por segmento, ordenable por LTV previsto, por churn, por número de pedidos o por fecha del último pedido. Cada fila muestra el email, el segmento (con pastilla de color), el LTV previsto, la confianza, el porcentaje de churn, la puntuación RFM, el número de pedidos, el total gastado y la fecha del último pedido.

Exportaciones

Un panel por cada ESP configurado, con dos acciones: Probar la conexión para verificar las credenciales, y Sincronizar todos los clientes para poner en cola toda la base hacia ese ESP. Un botón global Procesar la cola permite forzar el procesamiento inmediato (sin esperar al cron horario).

Ajustes

Configuración general (recálculo en tiempo real, exportación automática, segmentos a exportar automáticamente, umbrales de churn y de alto valor) y luego un panel por ESP con clave API e ID de lista.

Tareas programadas

El plugin programa dos tareas WP-Cron desde su activación.

  • dfplc_daily_recalculation: se ejecuta cada día a las 3:00 h. Recalcula la baseline de la tienda, refresca los quintiles RFM y vuelve a puntuar hasta 500 clientes cuya puntuación tiene más de 24 horas.
  • dfplc_hourly_export: se ejecuta cada hora. Desapila 100 filas de la cola de exportación y envía los datos a los ESP configurados. Las filas fallidas se reintentan hasta 3 veces antes de marcarse como definitivamente fallidas.
Si utilizas un cron de sistema (mediante wp-cron.php --disable_wp_cron), asegúrate de que tu programación llame a WordPress al menos una vez por hora, de lo contrario la cola de exportación se acumulará.

API REST

El plugin expone un namespace REST completo dfplc/v1, protegido por la capability manage_woocommerce. Utilizable para paneles externos, scripts de automatización o dashboards BI.

  • GET /wp-json/dfplc/v1/stats: estadísticas globales (totales, distribución por segmento, cola de exportación, baseline).
  • GET /wp-json/dfplc/v1/customers: lista paginada de clientes puntuados con filtros y ordenación.
  • POST /wp-json/dfplc/v1/recalculate: dispara un recálculo por lotes.
  • POST /wp-json/dfplc/v1/exporter/{provider}/test: prueba la conexión de un ESP.
  • POST /wp-json/dfplc/v1/exporter/{provider}/sync-all: pone en cola toda la base hacia un ESP.
  • POST /wp-json/dfplc/v1/queue/process: fuerza el procesamiento de la cola de exportación.

La autenticación se hace mediante un nonce wp_rest para las llamadas desde el admin de WordPress, o mediante autenticación REST estándar de WordPress (Application Passwords, JWT, etc.) para llamadas externas.

Multilingüe y traducción

El plugin viene con cinco catálogos de traducción: francés, inglés, español, alemán e italiano. El textdomain es dfpredictivectvchurn. Los archivos .po se encuentran en languages/; puedes editarlos con Poedit o Loco Translate para añadir otros idiomas o personalizar ciertas cadenas.

Loco Translate genera automáticamente los archivos .mo compilados con cada guardado. Es el método más sencillo si no te sientes cómodo con la línea de comandos.

Desinstalación

El archivo uninstall.php se dispara automáticamente por WordPress cuando eliminas el plugin desde la pantalla Plugins. Realiza las siguientes operaciones:

  • Elimina las 3 tablas personalizadas (dfplc_customer_scores, dfplc_export_queue, dfplc_baseline)
  • Elimina todas las opciones con prefijo dfplc_
  • Elimina el transient dfplc_quintiles
  • Desprograma las dos tareas WP-Cron

No queda ningún dato residual tras la desinstalación.

Solución de problemas

«Las puntuaciones no se actualizan»

Verifica que WP-Cron esté activo (opción DISABLE_WP_CRON no definida en wp-config.php) o que un cron de sistema llame regularmente a wp-cron.php. También puedes forzar un recálculo manual desde el panel de control.

«La cola de exportación se acumula»

Prueba la conexión de cada ESP configurado. Si la clave API está caducada o revocada, las llamadas fallan silenciosamente en el cron. Consulta la columna last_error de la tabla wp_dfplc_export_queue para identificar la causa exacta.

«Mis cifras parecen incoherentes»

Asegúrate de que la baseline se haya recalculado después de tu puntuación inicial. Si importaste un gran lote de pedidos históricos, fuerza un recálculo completo desde el panel de control para refrescar todas las estadísticas.

Recursos

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte