Zadanie #94
Autor:Ana Maria Simion
Trudność
Twój najlepszy wynik
Nie dotyczy
Churn klientów oznacza dobrowolną rezygnację z usług operatora telekomunikacyjnego. Zrozumienie czynników wpływających na churn jest niezbędne do opracowania strategii retencji oraz optymalizacji ofert i usług.
Sztuczna Inteligencja umożliwia złożoną analizę danych o klientach w celu:
Do rozwiązania tego problemu będziecie mieli do dyspozycji dwa pliki:
train.csv – zawiera wszystkie zmienne, włącznie z Churn, do trenowania modelitest.csv – zawiera te same zmienne, bez kolumny Churn, a dane z tego pliku są używane do generowania predykcji| Column | DType | Opis |
|---|---|---|
| SampleID | int | Unikalny identyfikator klienta |
| Age | int | Wiek klienta |
| Avg Monthly GB Download | int | Średnia miesięczna ilość pobranych danych (GB) |
| Avg Monthly Long Distance Charges | float | Średni miesięczny koszt połączeń dalekobieżnych |
| City | object | Miasto klienta |
| CLTV | int | Szacowana wartość życiowa klienta |
| Contract | object | Typ umowy (miesięczna, roczna itp.) |
| Country | object | Kraj klienta |
| Customer ID | object | Wewnętrzny unikalny identyfikator klienta |
| Dependents | int | Liczba osób na utrzymaniu |
| Device Protection Plan | int | 1 jeśli istnieje, 0 jeśli nie |
| Gender | object | Płeć klienta |
| Internet Service | int | Wskaźnik usługi internetowej |
| Internet Type | object | Typ połączenia internetowego |
| Lat Long | object | Współrzędne szerokości i długości geograficznej |
| Latitude | float | Szerokość geograficzna |
| Longitude | float | Długość geograficzna |
| Married | int | 1 jeśli klient jest żonaty/zamężna, 0 w przeciwnym razie |
| Monthly Charge | float | Miesięczny koszt usług |
| Multiple Lines | int | 1 jeśli istnieje więcej linii, 0 w przeciwnym razie |
| Number of Dependents | int | Całkowita liczba osób na utrzymaniu |
| Number of Referrals | int | Liczba rekomendacji przekazanych innym klientom |
| Offer | object | Typ otrzymanej oferty (jeśli istnieje) |
| Online Backup | int | 1 jeśli istnieje, 0 w przeciwnym razie |
| Online Security | int | 1 jeśli istnieje, 0 w przeciwnym razie |
| Paperless Billing | int | 1 jeśli istnieje fakturowanie elektroniczne |
| Partner | int | 1 jeśli klient ma partnera, 0 w przeciwnym razie |
| Payment Method | object | Metoda płatności rachunków |
| Phone Service | int | 1 jeśli istnieje usługa telefoniczna, 0 w przeciwnym razie |
| Population | int | Populacja miasta |
| Premium Tech Support | int | 1 jeśli istnieje wsparcie premium, 0 w przeciwnym razie |
| Quarter | object | Kwartał, w którym zarejestrowano dane |
| Referred a Friend | int | 1 jeśli klient polecił znajomego |
| Satisfaction Score | int | Wynik zadowolenia klienta |
| Senior Citizen | int | 1 jeśli klient jest seniorem, 0 w przeciwnym razie |
| State | object | Stan/prowincja klienta |
| Streaming Movies | int | 1 jeśli istnieje usługa streamingu filmów |
| Streaming Music | int | 1 jeśli istnieje usługa streamingu muzyki |
| Streaming TV | int | 1 jeśli istnieje usługa streamingu TV |
| Tenure in Months | int | Liczba miesięcy od początku umowy |
| Total Charges | float | Całkowita suma zapłacona przez klienta |
| Total Extra Data Charges | int | Dodatkowe koszty za dane |
| Total Long Distance Charges | float | Całkowita suma zapłacona za połączenia dalekobieżne |
| Total Refunds | float | Całkowita suma zwrócona klientowi |
| Total Revenue | float | Całkowity przychód wygenerowany przez klienta |
| Under 30 | int | 1 jeśli klient ma poniżej 30 lat |
| Unlimited Data | int | 1 jeśli plan ma nieograniczone dane |
| Zip Code | int | Kod pocztowy klienta |
| Ping Score | float | Wynik wydajności sieci |
| Avg Speed | float | Średnia prędkość połączenia internetowego |
| TV Type | object | Typ odbiornika TV |
| Link Quality Index | float | Indeks jakości łącza |
| Total Short Distance Charges | float | Koszty połączeń lokalnych |
| Churn | int | 1 jeśli klient zrezygnował, 0 w przeciwnym razie |
Dla tego problemu macie do rozwiązania 3 zadania.
Obliczcie dla każdego klienta ze zbioru testowego uproszczony wynik ryzyka finansowego oparty na wartościach Monthly Charge i Total Extra Data Charges.
FinancialRiskScore = (Monthly Charge > 70) + (Total Extra Data Charges > 10)Każdy komponent dodaje 1 punkt do wyniku jeśli:
Końcowy wynik mieści się między 0 a 2.
Obliczcie dla każdego klienta ze zbioru testowego wynik odzwierciedlający jakość usług na podstawie kolumn Avg Speed, Ping Score i Link Quality Index.
ServiceQualityScore = (Avg Speed < 50) + (Ping Score > 80) + (Link Quality Index < 30)Każdy komponent przyczynia się 1 punktem do wyniku.
Końcowy wynik mieści się między 0 (dobre doświadczenie) a 3 (słabe doświadczenie).
Dokładniej, jeśli spełniony jest pierwszy warunek (Avg Speed < 50) dodawany jest 1 punkt. Tak samo dla pozostałych.
Zbudujcie model klasyfikacji, który przewiduje Churn (0 = aktywny klient, 1 = klient, który zrezygnował) na podstawie wszystkich dostępnych informacji w train.csv.
test.csv muszą być 0 lub 1.Answer w pliku do przesłania będzie 0 lub 1 dla każdego klienta.Plik submission.csv musi zawierać:
id - ID pobrane z test.csv (kolumna SampleID)subtaskID
1 dla Zadania 12 dla Zadania 23 dla Zadania 3answer - wartość obliczona lub przewidziana dla klienta w wskazanym zadaniuDla Zadania 3, punkty są przyznawane według następujących zasad: