martes, 14 de abril de 2009

Punto de corte en modelo de fuga

Si tomamos el modelo de fuga (churn o attrition) como un problema de ordenamiento, es claro que la parte más difícil es establecer el orden de los clientes de acuerdo a su propensión estimada a cancelar sus productos o servicios. Esto puede hacerse con un score calculado a partir de un árbol de decisión, un generador de reglas de decisión, una red neuronal, etc.

Ahora, una vez ordenados los clientes, ¿sobre cuántos se debe efectuar la acción de retención? Una sencilla respuesta es definirlo por el presupuesto que tiene destinado el departamento de Marketing. Si cada acción cuesta $10, y el presupuesto es de $40.000, simplemente se toman los primeros 4.000 clientes de la lista ordenada y se realiza la acción sobre ellos.

El problema con este enfoque es que no toma en cuenta la ganancia esperada de cada cliente de la lista, y puede quedarse corto (no llegando a efectuar la acción sobre clientes que tienen ganancia esperada positiva), o peor aún, pasarse del punto de corte óptimo, efectuando la acción sobre clientes que tienen ganancia esperada negativa. Veámoslo con un ejemplo:

Costo de acción: $10
Ganancia por acierto de predicción: $500
Saldo por acierto: $490
Clientes: 100.000
Clientes que se fugarían: 1.000 (1% del total)

Supongamos que un árbol de decisión nos genera una lista de 5 nodos que clasifican los clientes, para los cuales se estima la siguiente distribución esperada:


ClientesFuga%
Nodo 12005025,00%
Nodo 21.00010010,00%
Nodo 32.5002008,00%
Nodo 480.0006000,75%
Nodo 516.300500,31%
Total100.0001.0001,00%

La ganancia esperada para cada nodo se puede calcular como la ganancia de los aciertos, menos el costo de realizar la acción sobre el total de clientes del nodo. Para el nodo 1 esto sería $500 * 50 - $10 * 200 = $38.000. Dividiendo esto por el total de clientes se obtiene una ganancia esperada por cada cliente del nodo: $38.000/200 = $190. Completando la tabla anterior:

ClientesFuga% Ganancia
esperada
G.E. por cliente
Nodo 12005025,00%$38.000$190
Nodo 21.00010010,00%$70.000$70
Nodo 32.5002008,00%$135.000$54
Nodo 480.0006000,75%-$320.000-$4
Nodo 516.300500,31%-$123.000-$8
Total100.0001.0001,00%

Entonces, si se toman sólo los nodos de ganancia esperada positiva, se efectuaría la acción sobre 3.700 clientes, obteniéndose una ganancia de $243.000 (sumas de los valores de los 3 primeros nodos). Si se continúa efectuando la acción sobre 300 clientes más (para llegar a 4.000), al pertenecer al siguiente nodo estos tienen una ganacia esperada de -$4, dando un total de -$1.200, disminuyendo la ganancia total a $241.800. Convendría ahorrar los $3.000 que se gastarían en estos 300 clientes y sumarlos a la ganancia de los nodos positivos, dando un total general del proyecto de +$246.000.

lunes, 13 de abril de 2009

SPSS renombra sus productos

En la nueva versión de sus productos prevista para 2010, SPSS cambia sus nombres unificándolos bajo el prefijo PASW (Predictive Analytics Software):

SPSS Statistic -> PASW Statistics 17
Clementine -> PASW Modeler 13
Dimensions mrStudio -> PASW Data Collection Base
SPSS Predictive Enterprise Services Base Services -> PASW Collaboration Services
etc...

Todo más claro, aunque "Clementine" es un nombre mucho más lindo...

KDD Cup 2009

¡Todavía estamos a tiempo de participar! Al menos en el desafío "lento", cuya fecha límite es el 11 de mayo (el "rápido" terminó el 10 de abril).

Se trata de desarrollar un modelo (o varios) para predecir fuga (churn o attrition), afinidad (appetency, compra de nuevos productos o servicios) y venta cruzada (up-selling, compra de productos adicionales) en una base de datos de clientes de una empresa francesa de telefonía.

Hay un desafío rápido y uno lento, y a la vez un dataset grande (15.000 variables) y uno pequeño (230 variables).

El desafío rápido busca evaluar la capacidad de obtener buenas predicciones sobre el dataset grande en un tiempo limitado (5 días). El desafío lento da más tiempo y se puede trabajar sobre la base grande o sobre la pequeña (pensada para aquellos que no cuentan con equipo tan poderosos).

Yo ya me bajé el dataset pequeño, espero tener tiempo para desarrollar los modelos y participar. :)

Presentación

Este blog tiene por objetivo presentar (e idealmente discutir) ideas, softwares y noticias relacionadas con Data Mining (o Minería de Datos), Aprendizaje Automático (Machine Learning) y temas afines, desde la perspectiva de un estudiante argentino del tema.

Está dirigido a aquellos que estén estudiando el tema (pienso en las alumnos de las maestrías que se dictan en la UBA, la Universidad Austral, y la Universidad de Bologna), trabajen en el área, o simplemente tengan un interés autodidacta. En algunos artículos se asume un conocimiento mínimo de los softwares más utilizados.

Cada artículo está escrito en forma independiente, es decir, no da por sentado que se leyeron los anteriores, y de ser necesario incluye links a las referencias pertinentes.

El sistema de comentarios permite escribir como usuario registrado o como anónimo, y desde ya se agradece cualquier tipo de feedback. De todas maneras me reservo el derecho de eliminar sin previo aviso todo aquello que no esté relacionado con el tópico en cuestión (especialmente el spam).

El Autor

Mi nombre es Andrés Parra, tengo formación en Ingeniería en Computación, vivo en Buenos Aires, y estoy cursando la maestría de la UBA. No estoy trabajando en el área, aunque espero hacerlo pronto. Estos temas me apasionan como a quien gusta de resolver crucigramas y acertijos. Espero poder transmitir parte de esa inquietud. :)

Mi correo es parra.andres arroba gmail.com, para lo que guste mandar.