Churn Prediction

Data Driven Growth with Python

Churn Prediction with XGBoost Binary Classification

Tämä artikkelisarja on suunniteltu selittämään, miten Pythonia käytetään yksinkertaistetusti yrityksen kasvun vauhdittamiseen soveltamalla ennakoivaa lähestymistapaa kaikkiin toimiisi. Se tulee olemaan ohjelmoinnin, data-analyysin ja koneoppimisen yhdistelmä.

käsittelen kaikkia aiheita seuraavissa yhdeksässä kirjoituksessa:

1 – Tunne mittarisi

2 – asiakkaan segmentointi

3 – asiakkaan Elinaikaennuste

4 – Churnin ennuste

5 – seuraavan ostopäivän ennustaminen

6 – myynnin ennustaminen

7 – markkinoiden Vastemallit

8 – uplift modeling

9 – A/B testauksen suunnittelu ja toteutus

artikkeleilla on omat koodinpätkät, joiden avulla voit helposti soveltaa niitä. Jos olet erittäin Uusi ohjelmointi, voit olla hyvä johdanto Python ja Pandas (kuuluisa kirjasto, jota käytämme kaikessa) täällä. Mutta vielä ilman koodaus johdatus, voit oppia käsitteitä, miten käyttää tietoja ja alkaa tuottaa arvoa ulos siitä:

joskus sinun täytyy juosta ennen kuin voit kävellä-Tony Stark

ennakkoehtona varmista, että Jupyter Notebook ja Python on asennettu tietokoneellesi. Koodinpätkiä suoritetaan vain Jupyter-muistikirjassa.

Okei, aloitetaan.

Data Driven Growth-sarjan kolmessa viimeisessä osassa olemme löytäneet olennaisten mittareiden seurannan, asiakkaiden segmentoinnin ja elinikäisen arvon ennustamisen ohjelmallisesti. Koska tunnemme parhaat asiakkaamme segmentoinnin ja elinikäisen arvon ennustamisen avulla, meidän pitäisi myös tehdä kovasti töitä säilyttääksemme heidät. Se tekee Retention korko on yksi kriittisimmistä mittareista.

Retentioaste on osoitus siitä, kuinka hyvin tuotemarkkinasi sopivat (PMF). Jos PMF ei ole tyydyttävä, sinun pitäisi nähdä asiakkaat kirnuavat hyvin pian. Yksi tehokkaita työkaluja parantaa Retention korko (siis PMF) on Kirn ennustaminen. Käyttämällä tätä tekniikkaa, voit helposti selvittää, kuka todennäköisesti Kirnu tiettynä aikana. Tässä artikkelissa käytämme Telco-aineistoa ja käymme läpi seuraavat vaiheet kehittääksemme Churn-ennustemallin:

  • eksploratiivinen data-analyysi
  • Feature engineering
  • tutkitaan, miten ominaisuudet vaikuttavat retentioon käyttämällä logistista regressiota
  • rakennetaan luokittelumalli xgboostilla

eksploratiivinen Data-analyysi

aloitamme tarkastamalla, miltä tietomme näyttävät ja visualisoimme, miten se on vuorovaikutuksessa etikettimme kanssa (kirnuiltiin vai ei?). Aloitetaan tietojen Tuomisella ja tulostetaan ensimmäiset kymmenen riviä:

df_data = pd.read_csv('churn_data.csv')
df_data.head(10)

Lähtö:

parempi tapa nähdä kaikki sarakkeet ja niiden tietotyyppi on käyttää. info () menetelmä:

näyttää siltä, että tietomme kuuluvat kahteen kategoriaan:

  • kategoriset ominaisuudet: Sukupuoli, suoratoisto-tv, Maksutapa & jne.
  • numeeriset ominaisuudet: hallintaoikeudet, kuukausimaksut, kokonaismaksut

nyt kategorisista alkaen valotetaan kaikkia ominaisuuksia ja katsotaan, miten hyödyllisiä ne ovat tunnistaa, jos asiakas on menossa Kirnu.

Sivuhuomautuksena meillä olevassa aineistossa Kirnusarake on merkkijono, jolla on kyllä / ei-arvot. Me muuntaa sen kokonaisluku, jotta se on helpompi käyttää meidän analyysi.

df_data.loc = 0 
df_data.loc = 1

sukupuoli

käyttämällä alla olevaa koodilohkoa voimme helposti visualisoida, miltä Muuntumisnopeus (1-Retentioaste) näyttää kunkin arvon osalta:

df_plot = df_data.groupby('gender').Churn.mean().reset_index()
plot_data = ,
y=df_plot,
width = ,
marker=dict(
color=)
)
]plot_layout = go.Layout(
xaxis={"type": "category"},
yaxis={"title": "Churn Rate"},
title='Gender',
plot_bgcolor = 'rgb(243,243,243)',
paper_bgcolor = 'rgb(243,243,243)',
)
fig = go.Figure(data=plot_data, layout=plot_layout)
pyoff.iplot(fig)

tuloste:

jalostusaste sukupuolen mukaan

jalostusasteen sukupuolijakauma:

Naisasiakkaat ovat todennäköisemmin Kirnu vs. miesasiakkaat, mutta ero on minimaalinen (~0,8%).

toistetaanpa tämä kaikille kategoriallisille sarakkeille. Jotta emme toista, mitä teimme sukupuolen, löydät koodin tarvitaan kaikille alla:

nyt käydään läpi ominaisuuksia, jotka kertovat merkittävimmän eron arvoissaan:

Internet-palvelu

nettipalvelun mukaan kirjautuminen

tämä kaavio paljastaa, että asiakkaat, joilla on valokuitu Internet-palveluna, kirnuavat todennäköisemmin. Odotan normaalisti Valokuituasiakkaiden kirnuavan vähemmän, koska he käyttävät enemmän premium-palvelua. Mutta tämä voi tapahtua korkeiden hintojen, kilpailun, asiakaspalvelun ja monista muista syistä.

sopimus

sopimuksen mukaan

odotetusti lyhyempi sopimus tarkoittaa korkeampaa kirnuastetta.

Tekninen tuki

Tekninen tuki

asiakkaat eivät käytä teknistä tukea ovat enemmän kuin kirnua (~25% ero).

Maksutapa

automatisointi maksu tekee asiakkaan todennäköisemmin säilyttää oman alustan (~30% ero).

muut

Vastaa

Sähköpostiosoitettasi ei julkaista.