# (Relatório Parcial) Implementação int-clusters LTV-Lite - 28 de outubro de 2022
## Personas
O Modelo Personas do LTV Lite pega o dado processado com colunas do ibge, caged, base cnpj e app user profile (inclusive income score e score de digitalização, este último calculado à parte, por enquanto) e verfica quais colunas possuem menos que **30%** de dados nulos, essas que realmente são usadas no DBSCAN;
Com isso uma amostra de cada grupo de segmentação é levada para clusterizar i.e cada grupo de segmentação podem gerar n clusters personas segmentados.
Um xgboost concatena a amostra com o resto das pessoas deste mesmo grupo que nao foram clusterizadas e classifica os individuos sem cluster personas.
Após isso o int-custers entra, pega essa base recém classificada e clusterizada e faz a interpretação. Ou seja, as features que vao aparecer dependem da quantidade de dados nulos.
### Exemplo Consultoria Natura
#### Contagem % de nulos
```
external_identifier 0.000000
grupo 0.000000
income_score 0.664235
score_dig 0.383355
max_daily_access 0.998329
days_between_access_avg 0.998843
mean_distance 1.000000
score_caged 0.883174
thermometer 0.781936
unidentified 0.000000
frequent 0.000000
infrequent 0.000000
ate_1_sal 0.653014
1_2_sal 0.653014
2_3_sal 0.653014
3_5_sal 0.653014
5_10_sal 0.653014
10_20_sal 0.653014
maior_20_sal 0.653014
idade_media 0.654644
n_idade_0_10 0.653014
n_idade_11_20 0.653014
n_idade_21_30 0.653014
n_idade_31_40 0.653014
n_idade_41_50 0.653014
n_idade_51_60 0.653014
n_idade_61_70 0.653014
n_idade_71_100 0.653014
n_domicilios 0.653105
moderate 0.000000
tempo_que_possui_categoria_BancosDigitais 0.000000
tempo_que_possui_categoria_RendaFormal 0.000000
tempo_que_possui_categoria_Concorrentes 0.000000
tempo_que_possui_categoria_RendaComplementar 0.000000
tempo_que_possui_categoria_BancosTradicionais 0.000000
tempo_que_possui_categoria_Investimento 0.000000
inatividade_nos_ultimos_3_meses 0.000000
Auxílio Emergencial 0.000000
Bancos Digitais 0.000000
Bancos Tradicionais 0.000000
Concorrentes 0.000000
Cupons 0.000000
Ecommerce 0.000000
Facebook 0.000000
Infantis 0.000000
Investimento 0.000000
Músicas, Filmes e Vídeos 0.000000
Natura Pay 0.000000
Planejamento de Viagens 0.000000
Redes Sociais e Comportamento 0.000000
Renda Complementar 0.000000
Renda Formal 0.000000
Serviços Financeiros 0.000000
Transporte (motorista) 0.000000
Transporte (passageiro) 0.000000
Vendas Cartão 0.000000
customer app 0.000000
dtype: float64
```
### Corte do json
um exemplo de um elemento do array extraido de
```
s3://cinnecta-ltv-lite/natura-consultoria-natura/458bf4ec-8fe4-4053-9108-4dab890b817d/new_features/personas/json/clusters-interpretation.json
```
```json
{
"Hibrido Altamente Bancarizado": [
{
"max_depth": 1,
"clusters": {
"5.0": [
{
"coverage": 100.0,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "infrequent",
"operator": "NOT",
"values": null
}
]
}
],
"6.0": [
{
"coverage": 100.0,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "infrequent",
"operator": "IS",
"values": null
}
]
}
],
"7.0": [
{
"coverage": 100.0,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "infrequent",
"operator": "NOT",
"values": null
}
]
}
],
"8.0": [
{
"coverage": 100.0,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "infrequent",
"operator": "IS",
"values": null
}
]
}
]
}
},
{
"max_depth": 3,
"clusters": {
"5.0": [
{
"coverage": 100.0,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "infrequent",
"operator": "NOT",
"values": null
},
{
"feature": "natura_pay",
"operator": "NOT",
"values": null
}
]
}
],
"6.0": [
{
"coverage": 100.0,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "infrequent",
"operator": "IS",
"values": null
},
{
"feature": "natura_pay",
"operator": "NOT",
"values": null
}
]
}
],
"7.0": [
{
"coverage": 100.0,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "infrequent",
"operator": "NOT",
"values": null
},
{
"feature": "natura_pay",
"operator": "IS",
"values": null
}
]
}
],
"8.0": [
{
"coverage": 100.0,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "infrequent",
"operator": "IS",
"values": null
},
{
"feature": "natura_pay",
"operator": "IS",
"values": null
}
]
}
]
}
},
```
### Exemplo Digio
### Corte do json
um exemplo de um elemento do array extraido de ```s3://cinnecta-ltv-lite/digio-seu-cartao-de-credito-digio/c3153b60-0f49-428f-a6d1-7e36fd525344/new_features/propensao/clusters-interpretation.json```
### Exemplo Neon
https://cinnecta-ltv-lite.s3.amazonaws.com/smiles-smiles/d593e3c1-83fd-47a8-9bbe-9e803929484c/metadata.json
## Grupos de Segmentação
### Exemplo Consultoria Natura
```
s3://cinnecta-ltv-lite/natura-consultoria-natura/458bf4ec-8fe4-4053-9108-4dab890b817d/new_features/propensao/clusters-interpretation.json
```
### Corte do json
```json
{
"max_depth": 3,
"clusters": {
"Outros": [
{
"coverage": 53.26,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "bancos_digitais",
"operator": "NOT",
"values": null
},
{
"feature": "bancos_tradicionais",
"operator": "NOT",
"values": null
},
{
"feature": "facebook",
"operator": "IS",
"values": null
}
]
},
{
"coverage": 23.82,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "bancos_digitais",
"operator": "NOT",
"values": null
},
{
"feature": "bancos_tradicionais",
"operator": "NOT",
"values": null
},
{
"feature": "facebook",
"operator": "NOT",
"values": null
}
]
}
],
"Hibrido": [
{
"coverage": 50.98,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "bancos_digitais",
"operator": "IS",
"values": null
},
{
"feature": "bancos_tradicionais",
"operator": "IS",
"values": null
},
{
"feature": "servicos_financeiros",
"operator": "IS",
"values": null
}
]
},
{
"coverage": 36.03,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "bancos_digitais",
"operator": "IS",
"values": null
},
{
"feature": "bancos_tradicionais",
"operator": "IS",
"values": null
},
{
"feature": "servicos_financeiros",
"operator": "NOT",
"values": null
}
]
}
],
"Hibrido Altamente Bancarizado": [
{
"coverage": 77.94,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "bancos_digitais",
"operator": "IS",
"values": null
},
{
"feature": "bancos_tradicionais",
"operator": "IS",
"values": null
},
{
"feature": "servicos_financeiros",
"operator": "IS",
"values": null
}
]
},
{
"coverage": 15.5,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "bancos_digitais",
"operator": "IS",
"values": null
},
{
"feature": "bancos_tradicionais",
"operator": "IS",
"values": null
},
{
"feature": "servicos_financeiros",
"operator": "NOT",
"values": null
}
]
}
],
"Exclusivamente Tradicional": [
{
"coverage": 83.59,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "bancos_digitais",
"operator": "NOT",
"values": null
},
{
"feature": "bancos_tradicionais",
"operator": "IS",
"values": null
},
{
"feature": "redes_sociais_e_comportamento",
"operator": "IS",
"values": null
}
]
}
],
"Exclusivamente Digital": [
{
"coverage": 87.18,
"rules_aggregation_type": "AND",
"rules": [
{
"feature": "bancos_digitais",
"operator": "IS",
"values": null
},
{
"feature": "bancos_tradicionais",
"operator": "NOT",
"values": null
},
{
"feature": "redes_sociais_e_comportamento",
"operator": "IS",
"values": null
}
]
}
]
}
```
### `preferencias_apps`
```json
{
"Exclusivamente Digital": {
"categoria_Auxílio Emergencial": -0.0228941925,
"categoria_Bancos Digitais": 0.1653104275,
"categoria_Bancos Tradicionais": -0.8519711494,
"categoria_Concorrentes": -0.1118879169,
"categoria_Cupons": -0.0016015634,
"categoria_Ecommerce": -0.1460604668,
"categoria_Facebook": -0.0252381358,
"categoria_Infantis": -0.0056775687,
"categoria_Investimento": -0.0218814835,
"categoria_Natura Pay": -0.0557438172,
"categoria_Planejamento de Viagens": -0.0609825701,
"categoria_Redes Sociais e Comportamento": -0.002011992,
"categoria_Renda Complementar": -0.0730812475,
"categoria_Renda Formal": -0.2081218809,
"categoria_Serviços Financeiros": -0.1391588897,
"categoria_Transporte (motorista)": -0.0126826325,
"categoria_Transporte (passageiro)": -0.1526048183,
"categoria_Vendas Cartão": -0.0954302102,
"categoria_customer app": 0.0
},
"Exclusivamente Tradicional": {
"categoria_Auxílio Emergencial": -0.0050379219,
"categoria_Bancos Digitais": -0.8589683771,
"categoria_Bancos Tradicionais": 0.0896889567,
"categoria_Concorrentes": -0.1405292004,
"categoria_Cupons": -0.0009131258,
"categoria_Ecommerce": -0.1164430976,
"categoria_Facebook": -0.0014625083,
"categoria_Infantis": -0.0166715495,
"categoria_Investimento": -0.0253843106,
"categoria_Natura Pay": -0.0153671177,
"categoria_Planejamento de Viagens": 0.0003597282,
"categoria_Redes Sociais e Comportamento": -0.0006794661,
"categoria_Renda Complementar": -0.1740846038,
"categoria_Renda Formal": -0.083052434,
"categoria_Serviços Financeiros": -0.2108866423,
"categoria_Transporte (motorista)": -0.0107966475,
"categoria_Transporte (passageiro)": -0.0642058477,
"categoria_Vendas Cartão": -0.0567251518,
"categoria_customer app": 0.0
},
"Hibrido Altamente Bancarizado": {
"categoria_Auxílio Emergencial": 0.0255673397,
"categoria_Bancos Digitais": 0.2380100489,
"categoria_Bancos Tradicionais": 0.1644992083,
"categoria_Concorrentes": 0.1787160635,
"categoria_Cupons": 0.0046079215,
"categoria_Ecommerce": 0.1948348135,
"categoria_Facebook": 0.0170030072,
"categoria_Infantis": 0.0154744927,
"categoria_Investimento": 0.0420015603,
"categoria_Natura Pay": 0.0342232175,
"categoria_Planejamento de Viagens": 0.0577244274,
"categoria_Redes Sociais e Comportamento": 0.002424367,
"categoria_Renda Complementar": 0.1850161999,
"categoria_Renda Formal": 0.2069462687,
"categoria_Serviços Financeiros": 0.2827948928,
"categoria_Transporte (motorista)": 0.0268395916,
"categoria_Transporte (passageiro)": 0.1501210481,
"categoria_Vendas Cartão": 0.1019728929,
"categoria_customer app": 0.0
},
"Hibrido": {
"categoria_Auxílio Emergencial": -0.0081119314,
"categoria_Bancos Digitais": 0.2897108793,
"categoria_Bancos Tradicionais": 0.1466682553,
"categoria_Concorrentes": -0.0166099686,
"categoria_Cupons": -0.0025133868,
"categoria_Ecommerce": -0.0262354556,
"categoria_Facebook": 0.0012108935,
"categoria_Infantis": 0.0006414516,
"categoria_Investimento": -0.011087412,
"categoria_Natura Pay": 0.005104105,
"categoria_Planejamento de Viagens": -0.0239278954,
"categoria_Redes Sociais e Comportamento": 0.0018560528,
"categoria_Renda Complementar": -0.0103022754,
"categoria_Renda Formal": -0.0370867252,
"categoria_Serviços Financeiros": -0.0403557457,
"categoria_Transporte (motorista)": -0.0097561767,
"categoria_Transporte (passageiro)": -0.0181356873,
"categoria_Vendas Cartão": -0.0114649097,
"categoria_customer app": 0.0
},
"Outros": {
"categoria_Auxílio Emergencial": -0.0213447772,
"categoria_Bancos Digitais": -0.5422234535,
"categoria_Bancos Tradicionais": -0.5735527277,
"categoria_Concorrentes": -0.1454487592,
"categoria_Cupons": -0.0015285643,
"categoria_Ecommerce": -0.1847097725,
"categoria_Facebook": -0.0451456457,
"categoria_Infantis": -0.018212067,
"categoria_Investimento": -0.0209535602,
"categoria_Natura Pay": -0.0584900379,
"categoria_Planejamento de Viagens": -0.034338776,
"categoria_Redes Sociais e Comportamento": -0.0184840709,
"categoria_Renda Complementar": -0.1761642694,
"categoria_Renda Formal": -0.1771472842,
"categoria_Serviços Financeiros": -0.2442584336,
"categoria_Transporte (motorista)": -0.0163470712,
"categoria_Transporte (passageiro)": -0.1688870043,
"categoria_Vendas Cartão": -0.091643855,
"categoria_customer app": 0.0
}
}
```
Na interpretação de clusters (pegando max_depth=3, como exemplo), o grupo "Outros" é classificado como Não Digital, não tradicional e que tem preferencia por apps de entretenimento. Comparando com o dado de `preferências_apps` "Outros também possui baixo interesse em Bancos Digitais e Bancos tradicionais:
```
"categoria_Bancos Digitais": -0.5422234535
"categoria_Bancos Tradicionais": -0.5735527277
```
O grupo Exclusivamente tradicional, por sua vez, não é Banco Digital e É Banco Tradicional, olhando no dado de `preferencias_apps` constatamos que, de fato, o Exclusivamente Tradicional tem a menor preferência por bancos Digitais:
```
"categoria_Bancos Digitais": -0.8589683771
```
O grupo Exclusivamente digital, é o contrário do exclusivamente tradicionalm tendo uma menor preferencia por bancos tradicionais:
```
"categoria_Bancos Tradicionais": -0.8519711494
```
Os Grupos híbridos possuem interesse em ambas as modalidades de banco (olhando pelo dado de `preferencias_apps`), o quê também corrobora com a interpretação, conforme se é percebido.