Calcolare e proiettare il CLV

Machine Learning per il marketing con Python

Karolis Urbonas

Head of Analytics & Science, Amazon

L’obiettivo del CLV

  • Misura il valore cliente in ricavi/profitto
  • Confronta i clienti (benchmark)
  • Stima l’investimento massimo per acquisizione
  • Qui, per semplicità, ignoriamo il margine e usiamo formule CLV basate sui ricavi

Formula CLV tradizionale basata sui ricavi

Machine Learning per il marketing con Python

Calcolo CLV di base

# 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))
Il CLV base medio è 4774.6 USD
Machine Learning per il marketing con Python

Calcolo CLV granulare

# 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))
Il CLV granulare medio è 1635.2 USD
Ricavo per acquisto: 34.8 USD
Frequenza mensile: 1.3
Machine Learning per il marketing con Python

Calcolo CLV tradizionale

# 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))
Il CLV tradizionale medio è 49.9 USD con retention del 27.3 %
Ricavo medio mensile: 132.6 USD
Machine Learning per il marketing con Python

Quale metodo usare?

  • Dipende dal modello di business.
  • Il modello tradizionale assume churn definitivo = il cliente "muore".
  • Poco robusto con retention bassa: sottostima il CLV.
  • La parte più difficile da prevedere: la frequenza futura.
Machine Learning per il marketing con Python

Calcoliamo i valori di customer lifetime!

Machine Learning per il marketing con Python

Preparing Video For Download...