Calculer et projeter la CLV

Machine Learning pour le marketing en Python

Karolis Urbonas

Head of Analytics & Science, Amazon

L'objectif de la CLV

  • Mesurer la valeur client en chiffre d'affaires / profit
  • Établir un benchmark des clients
  • Identifier l'investissement maximal en acquisition client
  • Ici, pour simplifier, nous ignorons la marge et utilisons des formules de CLV basées sur le chiffre d'affaires

Formule CLV traditionnelle basée sur le chiffre d'affaires

Machine Learning pour le marketing en Python

Calcul de la CLV basique

# 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
Machine Learning pour le marketing en Python

Calcul de la CLV granulaire

# 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
Machine Learning pour le marketing en Python

Calcul de la CLV traditionnelle

# 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
Machine Learning pour le marketing en Python

Quelle méthode utiliser ?

  • Dépend du modèle économique.
  • Le modèle de CLV traditionnel suppose un churn définitif = le client « meurt ».
  • Le modèle traditionnel est peu robuste avec une faible rétention : il sous-estime la CLV.
  • Le plus difficile à prévoir : la fréquence future.
Machine Learning pour le marketing en Python

Calculons la valeur vie client !

Machine Learning pour le marketing en Python

Preparing Video For Download...