Obliczanie i prognozowanie CLV

Uczenie maszynowe w marketingu w Pythonie

Karolis Urbonas

Head of Analytics & Science, Amazon

Cel CLV

  • Pomiar wartości klienta w przychodach / zysku
  • Porównywanie klientów
  • Określenie maksymalnej inwestycji w pozyskanie klienta
  • W naszym przypadku – pomijamy marżę zysku dla uproszczenia i używamy formuł CLV opartych na przychodach

Tradycyjna formuła CLV oparta na przychodach

Uczenie maszynowe w marketingu w Pythonie

Podstawowe obliczanie CLV

# Calculate monthly spend per customer
monthly_revenue = online.groupby(['CustomerID','InvoiceMonth'])['TotalSum'].sum().mean()

# Calculate average monthly spend monthly_revenue = np.mean(monthly_revenue)
# Define lifespan to 36 months lifespan_months = 36
# Calculate basic CLV clv_basic = monthly_revenue * lifespan_months
# Print basic CLV value print('Average basic CLV is {:.1f} USD'.format(clv_basic))
Average basic CLV is 4774.6 USD
Uczenie maszynowe w marketingu w Pythonie

Szczegółowe obliczanie CLV

# Calculate average revenue per invoice
revenue_per_purchase = online.groupby(['InvoiceNo'])['TotalSum'].mean().mean()

# Calculate average number of unique invoices per customer per month freq = online.groupby(['CustomerID','InvoiceMonth'])['InvoiceNo'].nunique().mean()
# Define lifespan to 36 months lifespan_months = 36
# Calculate granular CLV clv_granular = revenue_per_purchase * freq * lifespan_months
# Print granular CLV value print('Average granular CLV is {:.1f} USD'.format(clv_granular))
Average granular CLV is 1635.2 USD
Revenue per purchase: 34.8 USD
Frequency per month: 1.3
Uczenie maszynowe w marketingu w Pythonie

Tradycyjne obliczanie CLV

# Calculate monthly spend per customer
monthly_revenue = online.groupby(['CustomerID','InvoiceMonth'])['TotalSum'].sum().mean()

# Calculate average monthly retention rate retention_rate = retention_rate = retention.iloc[:,1:].mean().mean()
# Calculate average monthly churn rate churn_rate = 1 - retention_rate
# Calculate traditional CLV clv_traditional = monthly_revenue * (retention_rate / churn_rate)
# Print traditional CLV and the retention rate values print('Average traditional CLV is {:.1f} USD at {:.1f} % retention_rate'.format( clv_traditional, retention_rate*100))
Average traditional CLV is 49.9 USD at 27.3 % retention_rate
Monthly average revenue: 132.6 USD
Uczenie maszynowe w marketingu w Pythonie

Którą metodę wybrać?

  • Zależy od modelu biznesowego.
  • Tradycyjny model CLV – zakłada, że rezygnacja jest ostateczna, tzn. klient „umiera".
  • Tradycyjny model jest mało wiarygodny przy niskich wskaźnikach retencji – może zaniżać CLV.
  • Najtrudniejszy element do prognozowania – częstotliwość zakupów w przyszłości.
Uczenie maszynowe w marketingu w Pythonie

Obliczmy wartość życiową klienta!

Uczenie maszynowe w marketingu w Pythonie

Preparing Video For Download...