Skip to content

Codeup repository for 'Classification Project' using 'Telco' Dataset

Notifications You must be signed in to change notification settings

Jared-Wood135/telco_project

Repository files navigation

Telco Project - README

Table of Contents:




Project Description:

Back to 'Table of Contents'

Using the 'telco' dataset from a SQL database, figure out what are causes to customer churn within the company.



Project Goals:

Back to 'Table of Contents'

  • Implement Data Science Pipeline
  • Acquire 'Telco' Dataset
  • Prepare 'Telco' Dataset
  • Explore 'Telco' Dataset
  • Model 'Telco' Dataset
  • Deliver 'Telco' Dataset



  • Hypothesis/Questions:

    Back to 'Table of Contents'

    Hypothesis:

    Given that 'Telco' is a company providing a cellular and internet service to consumers(People), I believe that being able to identify what is deemed as valuable to the consumer weighed by it's cost is the primary cause to customer churn.

    Questions:

  • What does telco offer
  • What is the price of everything
  • Are there specific services that retain better
  • Are there specific services that retain worse
  • Are there demographics of individuals
  • What sort of advertisements are posted
  • Are there customer comments for those who churned
  • Are there customer comments for those who joined
  • Are there timestamps for joining and leaving
  • Are there customer satisfaction reports
  • Are there reports of faulty services/equipment
  • What is the situation locally(placement, access, patterns, crime, common knowledge/beliefs/morals/ethics of community)



  • Data Dictionary:

    Back to 'Table of Contents'

    Field Name Data Type Data Format Description Example
    gender object str Defines gender of customer 'Male'
    senior_citizen int 1, 0 Defines customer as being of senior-citizen status or not 1
    partner object str Defines customer as having a partner or not 'Yes'
    dependents object str Defines customer as having dependents or not 'Yes'
    tenure int # Defines customer's tenure in months 12
    phone_service object str Defines customer as having phone service or not 'Yes'
    multiple_lines object str Defines customer as having multiple lines or not 'Yes'
    online_security object str Defines customer as having online security or not 'Yes'
    online_backup object str Defines customer as having online backup or not 'Yes'
    device_protection object str Defines customer as having device protection or not 'Yes'
    tech_support object str Defines customer as having tech support or not 'Yes'
    streaming_tv object str Defines customer as having tv streaming service or not 'Yes'
    streaming_movies object str Defines customer as having movie streaming service or not 'Yes'
    paperless_billing object str Defines customer as having paperless billing or not 'Yes'
    monthly_charges float 00.00 Defines customer's monthly charges in USD($) 37.48
    total_charges float 00.00 Defines customer's total charges with telco company in USD($) 7862.44
    churn object str Defines customer churn status within the telco company 'Yes'
    churn_month datetime YYYY-MM-DD Defines customer's date of churn 2022-01-31
    signup_date datetime YYYY-MM-DD Defines customer's date of signing-up with the company 2021-04-21
    contract_type object str Defines customer's contract type 'Month-to-month'
    internet_service_type object str Defines customer's internet service type 'DSL'
    payment_type object str Defines customer's payment type 'Mailed Check'
    sign_year object str Defines customer's signup year 2021
    sign_month object str Defines customer's signup month 12
    sign_day object str Defines customer's signup day 21
    sign_dayofweek object str Defines customer's signup day-of-week 0 (Monday)
    value_per_total_services float float Defines the mean cost per service for the customer in USD 12.87
    value_per_total_extra_services float float Defines the mean cost per extra service for the customer in USD 12.87
    DUMMY COLUMNS uint 0, 1 Dummy columns generated from object columns 0



    Planning:

    Back to 'Table of Contents'

    Planning

  • This good ol’ thingy

  • Acquire

  • env.file
  • SQL query
  • acquire.py
  • acquire.ipynb

  • Prepare

  • Remove unwanted cols
  • Aggregate cols
  • Confirm veracity of cols
  • prepare.py
  • prepare.ipynb

  • Explore

  • Determine best cols
  • Do hypothesis null/alternate
  • Stat check best cols
  • explore.py
  • explore.ipynb

  • Modeling

  • Decision Tree
  • Best model
  • Random Forest
  • Best model
  • KNN
  • Best model
  • Linear Regression
  • Best model
  • TOP 3 COMPARISON
  • modeling.py
  • modeling.ipynb

  • Delivery

  • Final notebook (.ipynb)
  • Readme.md



  • Instructions To Replicate:

    Back to 'Table of Contents'

    1. Clone this repo
    2. Create 'env.py' file that connects to SQL
    3. Run desired .ipynb


    Takeaways:

    Back to 'Table of Contents'

    Key Findings:

    • Less Likely to Churn
      • 'partner' = 'Yes'
      • 'dependents' = 'Yes'
      • 'online_security' = 'Yes', 'No internet service'
      • 'online_backup = 'No internet service'
      • 'device_protection' = 'Yes', 'No internet service'
      • 'tech_support' = 'Yes', 'No internet service'
      • 'streaming_tv' = 'No internet service'
      • 'streaming_movies' = 'No internet service'
      • 'contract_type' = 'One year', 'Two year'
      • 'total_services' = '1', '6', '7', '8', '9'
      • 'total_extra_services' = '0', '3', '4', '5', '6'
    • AVOID
      • 'payment_type' = 'Electronic check'
      • 'contract_type' = 'Month-to-month'
      • 'total_services'= '3', '4'
      • 'total_extra_services' = '1', '2'

    Recommendations:

    • Focus advertisement efforts towards families and couples and avoid older population
    • Market offers as single services or bundled services with at least 3 additional services
    • For customers, that want internet services
      • Get them to go with DSL services
      • Minimum add-ons of 3
    • For paying customers:
      • Do not allow monthly contracts
      • Do not allow electronic check forms of payment

    Takeaways:

    • Target audience:
      • Couples
      • Families/Dependents
      • Non-senior citizen
    • Services Emphasis:
      • Internet Services:
        • No internet or DSL
        • If internet, then bundle at least 3 add-ons
    • Payments:
      • DO NOT ALLOW ELECTRONIC CHECK
    • Contracts:
      • DO NOT ALLOW MONTH CONTRACT

    If I Had More Time:

    • For customer service:
      • Why does everyone only signup on the 21st of any given month/year
      • Why did everyone churn on 31JAN2022
      • What happened in 2021
      • Assess customer comments/sentiment:
        • Are our services adequate for their price
        • Are our services performing properly or breaking
        • Why did the customer signup/churn
    • For marketing:
      • What are the prices of all services/bundles we provide
      • What advertisements are we running
    • Further exploration:
      • Why is month-to-month contract popular
      • Why is tenure getting shorter, but monthly charges dropping
      • Are extra services necessary or a burden
      • Compare local competition if any
      • Establish local 'common knowledge'/'norm'

    About

    Codeup repository for 'Classification Project' using 'Telco' Dataset

    Topics

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published