Problema #95
Autore:Ana Maria Simion
Difficoltà
Il tuo miglior punteggio
N/D
Il churn dei clienti rappresenta la rinuncia volontaria di questi ultimi ai servizi di un operatore di telecomunicazioni. La comprensione dei fattori che influenzano il churn è essenziale per sviluppare strategie di retention e per ottimizzare le offerte e i servizi.
L'Intelligenza Artificiale permette l'analisi complessa dei dati sui clienti per:
Per risolvere questo problema avrete a disposizione due file:
train.csv – contiene tutte le variabili, incluso Churn, per l'addestramento dei modellitest.csv – contiene le stesse variabili, senza la colonna Churn, e i dati di questo file sono utilizzati per generare le predizioni| Column | DType | Descrizione |
|---|---|---|
| SampleID | int | Identificatore unico del cliente |
| Age | int | Età del cliente |
| Avg Monthly GB Download | int | Media mensile dei dati scaricati (GB) |
| Avg Monthly Long Distance Charges | float | Costo medio mensile per chiamate a lunga distanza |
| City | object | Città del cliente |
| CLTV | int | Customer Lifetime Value stimato |
| Contract | object | Tipo di contratto (mensile, annuale ecc.) |
| Country | object | Paese del cliente |
| Customer ID | object | Identificatore unico interno del cliente |
| Dependents | int | Numero di persone a carico |
| Device Protection Plan | int | 1 se esiste, 0 se non esiste |
| Gender | object | Genere del cliente |
| Internet Service | int | Indicatore servizio internet |
| Internet Type | object | Tipo di connessione internet |
| Lat Long | object | Coordinate latitudine e longitudine |
| Latitude | float | Latitudine |
| Longitude | float | Longitudine |
| Married | int | 1 se il cliente è sposato, 0 altrimenti |
| Monthly Charge | float | Costo mensile dei servizi |
| Multiple Lines | int | 1 se esistono più linee, 0 altrimenti |
| Number of Dependents | int | Numero totale di persone a carico |
| Number of Referrals | int | Numero di raccomandazioni fatte ad altri clienti |
| Offer | object | Tipo di offerta ricevuta (se esiste) |
| Online Backup | int | 1 se esiste, 0 altrimenti |
| Online Security | int | 1 se esiste, 0 altrimenti |
| Paperless Billing | int | 1 se esiste fatturazione elettronica |
| Partner | int | 1 se il cliente ha un partner, 0 altrimenti |
| Payment Method | object | Metodo di pagamento delle fatture |
| Phone Service | int | 1 se esiste servizio telefonico, 0 altrimenti |
| Population | int | Popolazione della città |
| Premium Tech Support | int | 1 se esiste supporto premium, 0 altrimenti |
| Quarter | object | Trimestre in cui sono registrati i dati |
| Referred a Friend | int | 1 se il cliente ha raccomandato un amico |
| Satisfaction Score | int | Punteggio di soddisfazione del cliente |
| Senior Citizen | int | 1 se il cliente è senior, 0 altrimenti |
| State | object | Stato/provincia del cliente |
| Streaming Movies | int | 1 se esiste servizio di streaming film |
| Streaming Music | int | 1 se esiste servizio di streaming musica |
| Streaming TV | int | 1 se esiste servizio di streaming TV |
| Tenure in Months | int | Numero di mesi dall'inizio del contratto |
| Total Charges | float | Somma totale pagata dal cliente |
| Total Extra Data Charges | int | Costi aggiuntivi per i dati |
| Total Long Distance Charges | float | Somma totale pagata per chiamate a lunga distanza |
| Total Refunds | float | Somma totale restituita al cliente |
| Total Revenue | float | Ricavo totale generato dal cliente |
| Under 30 | int | 1 se il cliente ha meno di 30 anni |
| Unlimited Data | int | 1 se il piano ha dati illimitati |
| Zip Code | int | Codice postale del cliente |
| Ping Score | float | Punteggio di performance della rete |
| Avg Speed | float | Velocità media della connessione internet |
| TV Type | object | Tipo ricevitore TV |
| Link Quality Index | float | Indice qualità link |
| Total Short Distance Charges | float | Costi per chiamate locali |
| Churn | int | 1 se il cliente ha abbandonato, 0 altrimenti |
Per questo problema dovete risolvere 3 task.
Calcolate per ogni cliente del set di test un punteggio semplificato di rischio finanziario basato sui valori Monthly Charge e Total Extra Data Charges.
FinancialRiskScore = (Monthly Charge > 70) + (Total Extra Data Charges > 10)Ogni componente aggiunge 1 punto al punteggio se:
Il punteggio finale è compreso tra 0 e 2.
Calcolate per ogni cliente del set di test un punteggio che riflette la qualità dei servizi basato sulle colonne Avg Speed, Ping Score e Link Quality Index.
ServiceQualityScore = (Avg Speed < 50) + (Ping Score > 80) + (Link Quality Index < 30)Ogni componente contribuisce con 1 punto al punteggio.
Il punteggio finale è compreso tra 0 (esperienza buona) e 3 (esperienza scarsa).
Più precisamente, se è soddisfatta la prima condizione (Avg Speed < 50) viene aggiunto 1 punto. Lo stesso vale per le altre.
Costruite un modello di classificazione che predica Churn (0 = cliente attivo, 1 = cliente che ha abbandonato) basato su tutte le informazioni disponibili in train.csv.
test.csv devono essere 0 o 1.Answer nel file di submit sarà 0 o 1 per ogni cliente.Il file submission.csv deve contenere:
id - ID prelevato da test.csv (colonna SampleID)subtaskID
1 per Task 12 per Task 23 per Task 3answer - valore calcolato o predetto per il cliente al task indicatoPer il Task 3, il punteggio è assegnato secondo le seguenti regole: