Author: Ana Maria Simion
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:
Pentru rezolvarea acestei probleme veți avea la dispoziție două fișiere:
train.csv – conține toate variabilele, inclusiv Churn, pentru antrenarea modelelortest.csv – conține aceleași variabile, fără coloana Churn, și datele din acest fișier sunt folosite pentru generarea predicțiilor| 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 |
Pentru această problemă aveți de rezolvat 3 task-uri.
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.
FinancialRiskScore = (Monthly Charge > 70) + (Total Extra Data Charges > 10)
Fiecare componentă adaugă 1 punct la scor dacă:
Scorul final este cuprins între 0 și 2.
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.
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.
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.
test.csv trebuie să fie 0 sau 1.Answer în fișierul de submit va fi 0 sau 1 pentru fiecare client.Fișierul submission.csv trebuie să conțină:
id - ID-ul preluat din test.csv (coloana SampleID)subtaskID
1 pentru Taskul 12 pentru Taskul 23 pentru Taskul 3`answer - valoarea calculată sau prezisă pentru client la task-ul indicatPentru Taskul 3, punctajul este acordat în funcție de următoarele reguli: