Analiza și clasificarea churn-ului în servicii de telecomunicații (11-12)
Autor: Ana Maria Simion
Analiza și clasificarea churn-ului în servicii de telecomunicații
Context
Churn-ul clienților reprezintă renunțarea voluntară a acestora la serviciile unui operator de telecomunicații. Înțelegerea factorilor care influențează churn-ul este esențială pentru a dezvolta strategii de retenție și pentru a optimiza ofertele și serviciile.
Inteligența Artificială permite analiza complexă a datelor despre clienți pentru:
- identificarea clienților cu risc ridicat de a renunța
- segmentarea clienților în funcție de comportament și consum
- estimarea impactului diferitelor oferte și caracteristici asupra deciziei de churn
Pentru rezolvarea acestei probleme veți avea la dispoziție două fișiere:
train.csv– conține toate variabilele, inclusivChurn, pentru antrenarea modelelortest.csv– conține aceleași variabile, fără coloanaChurn, și datele din acest fișier sunt folosite pentru generarea predicțiilor
Descrierea setului de date
| Column | DType | Descriere |
|---|---|---|
| SampleID | int | Identificator unic al clientului |
| Age | int | Vârsta clientului |
| Avg Monthly GB Download | int | Media lunară a datelor descărcate (GB) |
| Avg Monthly Long Distance Charges | float | Cost mediu lunar pentru apeluri lungi |
| City | object | Orașul clientului |
| CLTV | int | Customer Lifetime Value estimat |
| Contract | object | Tipul contractului (lunar, anual etc.) |
| Country | object | Țara clientului |
| Customer ID | object | Identificator unic intern al clientului |
| Dependents | int | Număr de persoane dependente |
| Device Protection Plan | int | 1 dacă există, 0 dacă nu |
| Gender | object | Genul clientului |
| Internet Service | int | Indicator serviciu internet |
| Internet Type | object | Tipul de conexiune internet |
| Lat Long | object | Coordonate latitudine și longitudine |
| Latitude | float | Latitudine |
| Longitude | float | Longitudine |
| Married | int | 1 dacă clientul este căsătorit, 0 altfel |
| Monthly Charge | float | Costul lunar al serviciilor |
| Multiple Lines | int | 1 dacă există mai multe linii, 0 altfel |
| Number of Dependents | int | Număr total de persoane dependente |
| Number of Referrals | int | Număr de recomandări făcute altor clienți |
| Offer | object | Tipul ofertei primite (dacă există) |
| Online Backup | int | 1 dacă există, 0 altfel |
| Online Security | int | 1 dacă există, 0 altfel |
| Paperless Billing | int | 1 dacă există facturare electronică |
| Partner | int | 1 dacă clientul are partener, 0 altfel |
| Payment Method | object | Metoda de plată a facturilor |
| Phone Service | int | 1 dacă există serviciu de telefon, 0 altfel |
| Population | int | Populația orașului |
| Premium Tech Support | int | 1 dacă există suport premium, 0 altfel |
| Quarter | object | Trimestrul în care sunt înregistrate datele |
| Referred a Friend | int | 1 dacă clientul a recomandat un prieten |
| Satisfaction Score | int | Scor de satisfacție al clientului |
| Senior Citizen | int | 1 dacă clientul este senior, 0 altfel |
| State | object | Statul/provincia clientului |
| Streaming Movies | int | 1 dacă există serviciu de streaming filme |
| Streaming Music | int | 1 dacă există serviciu de streaming muzică |
| Streaming TV | int | 1 dacă există serviciu de streaming TV |
| Tenure in Months | int | Număr de luni de la începutul contractului |
| Total Charges | float | Suma totală plătită de client |
| Total Extra Data Charges | int | Costuri suplimentare pentru date |
| Total Long Distance Charges | float | Suma totală plătită pentru apeluri lungi |
| Total Refunds | float | Suma totală returnată clientului |
| Total Revenue | float | Venitul total generat de client |
| Under 30 | int | 1 dacă clientul are sub 30 de ani |
| Unlimited Data | int | 1 dacă planul are date nelimitate |
| Zip Code | int | Cod poștal al clientului |
| Ping Score | float | Scor de performanță al rețelei |
| Avg Speed | float | Viteza medie a conexiunii internet |
| TV Type | object | Tip receptor TV |
| Link Quality Index | float | Indice calitate link |
| Total Short Distance Charges | float | Costuri pentru apeluri locale |
| Churn | int | 1 dacă clientul a renunțat, 0 altfel |
Cerințe
Pentru această problemă aveți de rezolvat 3 task-uri.
Task 1 – Scor simplificat de risc financiar (20 puncte)
Calculați pentru fiecare client din setul de testare un scor simplificat de risc financiar bazat pe valorile Monthly Charge și Total Extra Data Charges.
- Formula:
FinancialRiskScore = (Monthly Charge > 70) + (Total Extra Data Charges > 10)
Fiecare componentă adaugă 1 punct la scor dacă:
- Monthly Charge > 70: risc crescut de churn din cauza costului lunar
- Total Extra Data Charges > 10: risc suplimentar datorat costurilor extra
Scorul final este cuprins între 0 și 2.
Task 2 – Scor de conectivitate și servicii (20 puncte)
Calculați pentru fiecare client din setul de testare un scor care reflectă calitatea serviciilor pe baza coloanelor Avg Speed, Ping Score și Link Quality Index.
- Formula:
ServiceQualityScore = (Avg Speed < 50) + (Ping Score > 80) + (Link Quality Index < 30)
Fiecare componentă contribuie cu 1 punct la scor.
Scorul final este cuprins între 0 (experiență bună) și 3 (experiență slabă).
Mai exact, dacă este îndeplinită prima condiție (Avg Speed < 50) este adunat 1 punct. La fel și pentru restul.
Task 3 – Clasificarea churn-ului (60 puncte)
Construiți un model de clasificare care să prezică Churn (0 = client activ, 1 = client care a renunțat) pe baza tuturor informațiilor disponibile în train.csv.
- Puteți folosi toate coloanele disponibile sau puteți selecta subsetul cel mai relevant pentru model.
- Predicțiile pentru fiecare client din
test.csvtrebuie să fie 0 sau 1. Answerîn fișierul de submit va fi 0 sau 1 pentru fiecare client.
Formatul fișierului de submisie
Fișierul submission.csv trebuie să conțină:
id- ID-ul preluat dintest.csv(coloanaSampleID)subtaskID1pentru Taskul 12pentru Taskul 23pentru Taskul 3`
answer- valoarea calculată sau prezisă pentru client la task-ul indicat
Evaluare
- Task 1 și Task 2: evaluare exactă (comparare cu răspunsurile corecte)
- Task 3: pentru evaluarea acestui task este folosită metrica AUC
Pentru Taskul 3, punctajul este acordat în funcție de următoarele reguli:
- AUC ≥ 0.90 → 60 puncte
- AUC ≤ 0.70 → 0 puncte
- Intervalul dintre ele: punctaj proporțional