DS223: Marketing Analytics
Project Demo Presentation
Group 5
Team
Project | Product Manager: Ani Gumruyan
Database Developer: Hakob Janesian
API Developer: Vahan Yeranosyan
Data Analyst: Aida Martirosyan
Data Scientist: Anna Misakyan
Problem Definition
Keeping the existing customers of the Internet Service Provider company and efficiently managing acquisition costs for new ones.
Project Description
The project aims to develop a Python package for predicting a customer's Lifetime Value (CLV) for an Internet Service Provider company.
The CLV predictor will help understand the expected revenue from each customer over time, assisting in making informed strategic decisions. This package will make the process easier for Internet service providers, ultimately supporting improved customer-focused services and steady revenue.
SocraCLV
“Know Thyself.” – Socrates
!pip install SocraCLV
The package "SocraCLV" is a call for the company to "know themselves" in the realm of company-customer dynamics.
As the name suggests, the package is not just about analytics but involves a philosophically flavoured approach to understanding and predicting Customer Lifetime Value to gain meaningful insights about the long-term relationships between the company and customers.
Package Functionality
I. Database SetUp
The full spectrum of package functionality starts with creating the database schema, i.e tables in the system.
runpy.run_module("clv.db.schema")
II. Data Transition
The follow-up action is loading the data (generated/existing) into the initialized database.
!python basic_clv.py
III. CLV
The next and the major set of actions is calculating CLV scores and loading into the database.
!python calculate_clv.py
MM: average monthly margin
r: discount rate
p: survival probability in period i, based on parametric model AFT(Accelerated Failure Time)
IV. API Connection
The follow-up action is connecting to and activating the API server.
def run():
from clv.api.fast import app
uvicorn.run(app, host = "0.0.0.0", port = 8000)
# Running the Uvicorn server in a new thread
thread = Thread(target = run)
thread.start()
Application Scenarios
The CLV predictor will be used to segment customers into four categories.
Lost Cause : CLV score below first quantile
Free Rider : CLV score between first and second quantiles
Vulnerable : CLV score between second and third quantiles
Star : CLV score above third quantile
Application Scenario 1: Enhancing customer engagement strategies
Lost Cause : The company will focus on providing basic automated support and affordable plans to prevent further losses.
Free Rider : The company will provide targeted promotions and opportunities for upselling, encouraging these customers to increase their engagement.
Vulnerable : The company can introduce loyalty programs with discounts to ensure these customers stay engaged and continue to be valuable to the company.
Star : The company will assign dedicated account managers, and access to premium customer support, which will maximize revenue generated from these customers.
Application Scenario 2: Introducing efficient marketing budget allocation
Lost Cause : The company will direct minimal marketing efforts toward these customers, with a focus on basic retention messages and cost-effective plan promotions.
Free Rider : The company will start target marketing campaigns for these customers, showcasing upsell opportunities and promotions to drive increased value.
Vulnerable : The company will allocate marketing resources to nurture these customers with emphasize on retention and loyalty-building campaigns.
Star : The company will introduce personalized marketing campaigns for these customers, highlighting premium services and loyalty rewards to reinforce their value.
Success Assessment
The additional action projected in the API scope includes assessing the success of application scenarios after their launch.
Thank you for your attention!
Let's give the floor to our API developer who will present the technical side of the project demo :)