2 votos

Predicción de la pérdida de clientes en un conjunto de datos altamente pasivo y desequilibrado

Intento crear un modelo para predecir la rotación en el sector de los seguros. El objetivo es "predecir la probabilidad de que cada miembro se dé de baja el próximo mes". He creado un conjunto de datos de una fila por miembro y por mes en el que cada miembro tiene una fila por cada mes que ha estado activo, la información demográfica durante ese mes, la información del hogar, los siniestros realizados ese mes, las primas pagadas y las llamadas realizadas al centro de contacto de clientes. A continuación se muestra un ejemplo de cómo podría ser el conjunto de datos

Id Año Mes product.x product.y claim prem calls

x 2017 8 1 0 250 180 1

x 2017 9 1 0 270 180 0

x 2017 10 1 0 0 180 0

x 2017 11 1 0 250 180 0

Ahora a la pregunta: El conjunto de datos de prueba son los miembros activos a finales de este mes. El conjunto de datos de entrenamiento es el resto de los datos, que también tiene los mismos miembros + algunos miembros que cambiaron. Dado que los miembros del conjunto de datos de prueba también están presentes en el conjunto de datos de entrenamiento sin ninguna variación entre meses (en el sector de los seguros, no hay grandes cambios en la actividad de los individuos a lo largo de los meses. pagan la misma prima que el mes pasado, la mayoría compran medicamentos regularmente, por lo que las reclamaciones regulares y los datos demográficos cambian raramente), el modelo siempre da como resultado que todos los miembros estarán activos.

¿Cómo puedo resolver esta cuestión? ¿Estoy cometiendo un error en la división del conjunto de datos?

Cualquier idea será muy apreciada

actualización para mkl:

tienes razón. los datos están lejos de ser perfectos. pero lo estamos consiguiendo al incorporar más variables. Actualmente, he probado lo siguiente - Realicé una validación cruzada de k pliegues en todo el conjunto de datos con el aprendiz de conjunto de árboles y el bosque aleatorio (predice que todos los clientes son activos. Puntuación kappa cero) - Realicé una división en el conjunto de datos de una fila por miembro y por mes de tal manera que tengo un conjunto de datos de prueba designado que consiste en todos los miembros que están activos al principio del mes. El resto es el conjunto de datos de entrenamiento. Así pues, el conjunto de datos de formación contiene los miembros denominados y cada miembro tiene varias filas por cada mes hasta que terminan. Ahora, el conjunto de datos de entrenamiento es bastante pequeño (los miembros dados de baja en un año son muy pocos comparados con los miembros activos en el conjunto de datos de entrenamiento). Hice un sobremuestreo de los datos de entrenamiento y utilicé el GBM. Todavía no hay resultados

1voto

icelava Puntos 548

No predigas un sí/no. En su lugar, prediga un probabilidad que alguien va a batir. A continuación, basa cualquier acción (por ejemplo, llamarlos, ofrecerles un descuento, lo que sea) en esa probabilidad y en los costes de las acciones correctas/incorrectas.

Este hilo anterior puede ser útil.

1voto

Adam Puntos 3

La cuestión es si los datos que ha recogido pueden explicar el churn en absoluto. El modelo puede aprender algunas ponderaciones / umbrales, pero no extraerá conocimientos / reglas que estén fuera de sus datos. Por ejemplo, si el factor más influyente es (el cambio de) los ingresos y usted no lo tiene en sus datos, sus predicciones estarán lejos de ser perfectas.

Suponiendo que la respuesta sea positiva -es decir, que la observación de sus características pueda darle una respuesta razonable sobre la probabilidad de la pérdida de clientes-, ¿cómo predice la pérdida de clientes? ¿Cuál es su modelo o enfoque?

¿Utilizan algunos agregados sobre las características y sus combinaciones, como "suma de siniestros > suma de primas en los últimos 6 meses", "el número de llamadas está aumentando en cada mes durante los últimos 3 meses"?

0voto

hermes Puntos 7855

¿Por qué no se asignan observaciones a Train y Test en función de la ID?

crear una columna que sea ID mod 10, y luego utilizar la lógica if/then para asignar. Así no tendrá el mismo asegurado en ambos conjuntos de datos.

También añadiría que definiría una columna de pliegues basada en el ID. Es probable que tengas a la misma persona en todos tus pliegues.

¿Este seguro se contrata a través de la empresa o es directo? ¿Hay variaciones según la época del año?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X