Olá Habr! Neste artigo, nós, consultores da prática de análise do departamento de suporte de vendas, consideraremos a importância de avaliar corretamente a qualidade da modelagem na solução de problemas analíticos. Como parte de nosso trabalho, geralmente precisamos resolver o problema de criar modelos preditivos com base nos dados do cliente. Ao mesmo tempo, não apenas uma descrição do problema analítico pode vir dos clientes, mas também um procedimento para avaliar a qualidade dos modelos desenvolvidos. E às vezes acontece que o cliente se oferece para comparar o ouriço com a cobra. Geralmente, isso pode ser encontrado quando os dados são pré-divididos em amostras de treinamento e teste, porque a coleta de dados para as duas amostras pode variar um pouco.
Essa é precisamente a situação que tivemos em um dos casos em que o cliente queria testar a "força" das comunicações direcionadas.

Declaração do problema
O banco realizou uma campanha única, na qual telefonou para parte de seus clientes (~ 10 mil clientes) e se ofereceu para comprar um produto de empréstimo específico. No final da campanha, foram coletados dados sobre a
resposta às comunicações. O banco nos descreveu não apenas a tarefa em si, que deve ser resolvida, mas também indicou como e em quais dados o modelo deve ser construído, além de como verificar a qualidade.
O que foi exigido de nós:
- Crie um modelo para prever a resposta da comunicação.
- Para criar o modelo, use dados de clientes que não participaram da campanha. Para isso, o banco nos forneceu dados anônimos para todos os clientes, excluindo da amostra os clientes que participaram de uma campanha única.
- Como o evento de destino ao criar o modelo, use o fato de solicitar um produto de empréstimo, proposto como parte da campanha.
A qualidade do modelo construído deveria ser verificada nos clientes que participaram da campanha. I.e. se o modelo predizer que o cliente está inclinado a comprar um produto de empréstimo e que o cliente recebeu uma resposta positiva dos resultados da comunicação, considera-se que o modelo previu corretamente a resposta.
Primeiras preocupações
Já na fase de discussão do método de avaliação da qualidade, houve uma preocupação sobre a incorretividade desse método de avaliação. Existem duas razões para a incorreta.
Em primeiro lugar, diferentes variáveis-alvo na fase de construção do modelo e na avaliação da sua qualidade. Um modelo para
prever o fato de solicitar um produto de empréstimo sem qualquer comunicação é construído e a qualidade é verificada pelos resultados da aplicação do modelo na tarefa de
prever a resposta à comunicação .
Em segundo lugar, os clientes que participaram da campanha podem ser muito diferentes de todos os clientes (já que é razoável supor que os clientes foram selecionados para participar da campanha de acordo com alguns critérios).
Apesar das preocupações, concordamos em tentar construir um modelo com a declaração do problema atual. No entanto, solicitamos uma parte dos dados com os resultados da chamada do cliente para uso como uma amostra independente (teste).
Modelagem
Enquanto esperávamos parte dos dados com os resultados da chamada, construímos o modelo para clientes que não participaram da campanha (~ 200 mil clientes, cerca de 5% compraram um produto de empréstimo). Bons resultados foram obtidos (Gini ~ 0,75 nas amostras de treinamento, validação e teste).
Mais tarde, enviamos dados por parte dos clientes que participaram da campanha. O modelo construído anteriormente foi aplicado a esses dados. Ao aplicar o modelo a essa parte da amostra, os resultados deixaram muito a desejar (Gini = 0,16).
Distribuições

Eles começaram a classificar a amostra de clientes que participaram da campanha e descobriram que a distribuição de dados em muitas variáveis não coincidia com a distribuição de dados de clientes que não participaram da campanha.
Era assim que as distribuições eram
A NDA não permite marcação nos eixos.
Daí a explicação dos maus resultados. Eles tentaram construir um modelo para a parte dos clientes que participaram da campanha (cerca de 5 mil - resposta = 8%). O resultado é ruim (dados insuficientes - indicadores de baixa qualidade - Gini ~ 0,3).
Os problemas
Como resultado, foram feitas várias suposições sobre o escasso resultado da simulação:
- Diferentes variáveis-alvo (lembre-se de que estamos aprendendo a determinar a propensão a comprar um produto de empréstimo e prevemos a resposta à comunicação ).
- A amostra de clientes que participaram da campanha não foi gerada aleatoriamente, e é por isso que a distribuição de preditores nela pode ser diferente da distribuição na população geral de todos os clientes do banco.
- na amostra de clientes que não participaram da campanha, há clientes que não podem solicitar um empréstimo
- os clientes que participam da campanha praticamente não têm produtos para empréstimos: apenas 2% têm entradas no histórico de pagamentos de empréstimos, em comparação com 19% dos clientes que não participaram da campanha.
- Não há dados suficientes sobre os resultados da campanha para usá-los na construção do modelo.
Resolução de problemas
- É sempre necessário, desde o início, determinar os critérios corretos para avaliar o resultado.
- As variáveis de destino devem ser as mesmas.
- Os dados sobre os quais eles propõem estudar e sobre os quais propõem testar o resultado devem ser de uma população em geral.
- É necessário discutir o escopo do projeto com antecedência (e eles se aplicam a amostras de treinamento e teste).
- A falta de dados é uma mudança na tarefa (o suficiente) ou a expectativa de novas comunicações.
Sumário
Os argumentos acima foram apresentados aos colegas do banco e a tarefa foi decidida em refazer.
Na nova declaração do problema, fomos obrigados a prever a resposta à campanha regular. No entanto, desta vez, tivemos dados de comunicação para a mesma campanha anteriormente. O resultado foi um projeto bem-sucedido (foi possível aumentar a resposta em mais de 2 vezes).
Conclusões
Como resultado, voltamos ao básico da modelagem:
- É sempre necessário entender se o que modelamos coincide com o que o cliente deseja de nós. Nesse caso, para prever a resposta às comunicações, era necessário ter dados de comunicação.
- Os dados devem ser da mesma população. Se o modelo for treinado nos mesmos padrões e na amostra de teste para encontrar outros padrões, há pouca chance de obter um bom índice de qualidade na amostra de teste.