Vai al contenuto principale
Cheat Sheet — Marketing Data Science - immagine ufficiale della lezione su GinnyTech, creata da AD

Cheat Sheet — Marketing Data Science

Riferimento rapido per tecniche e pattern di data science applicata al marketing.

AD
Creato da Andrii Dyshkantiuk
Lezione 90 / 216 Livello: Avanzato Durata: 10 min Prerequisiti: 1

Cosa imparerai

  • Comprendere il problema analitico e il contesto decisionale
  • Applicare esempi, metriche e controlli a casi reali

Cheat Sheet — Marketing Data Science

Prima di consegnare un modello marketing serve una checklist più concreta della sola accuracy: baseline, costo di azione, incremento atteso, segmento attivabile, rischio di bias e piano di monitoraggio. Cheat Sheet — Marketing Data Science raccoglie questi controlli in forma operativa.

Una scena da cui partire

Usa questa pagina come postazione di lavoro prima di attivare segmenti, predizioni o raccomandazioni. Il modello è pronto solo quando sai quale decisione cambia, con quale soglia, con quale guardrail e con quale rollback.

  • Contesto: Quale decisione deve migliorare il modello?
  • Metodo: Quale baseline rende il risultato credibile?
  • Applicazione: Quale controllo useresti domani prima di una campagna data-driven?

Dalla Segmentazione Statica alla Comprensione Dinamica del Cliente

La segmentazione è il fondamento di qualsiasi strategia di marketing intelligente. Tuttavia, l’approccio tradizionale, spesso basato su analisi RFM (Recency, Frequency, Monetary), pur essendo un punto di partenza valido, mostra oggi i suoi limiti. L’analisi RFM fotografa il comportamento passato del cliente, assegnandolo a cluster statici come “Clienti Fedeli”, “A Rischio” o “Clienti Persi”. Sebbene utile, questo metodo è reattivo. Ci dice cosa è successo, ma offre pochi indizi sul perché e su cosa accadrà dopo. Per esempio, un cliente con alta Frequenza e valore Monetario, ma bassa Recency, viene etichettato come “a rischio”. Ma perché? Ha trovato un’alternativa migliore? È in vacanza? Il suo bisogno è stagionale? L’RFM non può rispondere.

La data science moderna supera questi limiti integrando dati comportamentali ad alta dimensionalità e applicando algoritmi di clustering non supervisionati come il K-Means o il DBSCAN. Immaginiamo di lavorare per Zalando. Invece di basarci solo su transazioni, possiamo costruire un “vettore utente” che includa:

  • Dati di navigazione: categorie di prodotto visualizzate, filtri applicati (es. “sostenibile”, “in saldo”), tempo speso sulle pagine prodotto.
  • Interazioni con il marketing: tassi di apertura e click delle email, interazioni con le notifiche push.
  • Dati demografici e di preferenza: brand preferiti, taglie, stili salvati.

Applicando un algoritmo K-Means su questi vettori, normalizzati opportunamente, Zalando può scoprire segmenti molto più ricchi e azionabili dell’RFM. Potrebbero emergere cluster come i “Cacciatori di Offerte di Lusso” (navigano brand premium, ma acquistano solo con sconti >40%), gli “Esploratori di Stili Emergenti” (si concentrano su nuovi designer e brand di nicchia) o i “Compratori Funzionali” (acquistano sempre gli stessi articoli base, come t-shirt bianche o jeans, con un percorso di acquisto molto rapido). Ogni cluster non è definito solo da quanto spende, ma dal come e perché interagisce con la piattaforma. Questa comprensione permette di personalizzare l’esperienza a un livello superiore: ai “Cacciatori di Offerte” si inviano notifiche push mirate all’inizio dei saldi sui loro brand preferiti; agli “Esploratori” si presentano nuovi arrivi in homepage; ai “Compratori Funzionali” si offre un’opzione di riacquisto rapido. La segmentazione cessa di essere un report statico e diventa un motore dinamico di personalizzazione.

La Profezia del Churn: Modellazione Predittiva per la Retention

Prevedere l’abbandono dei clienti (churn) è una delle applicazioni di maggior valore della data science nel marketing, specialmente nei modelli di business basati su abbonamento (SaaS, streaming, media). Un modello di churn è, nella sua essenza, un classificatore binario: per ogni cliente, prevederà se rimarrà (classe 0) o abbandonerà il servizio (classe 1) entro un determinato orizzonte temporale (es. i prossimi 30 giorni). La sfida principale in questo contesto è quasi sempre lo sbilanciamento delle classi. In un business sano, il numero di clienti che abbandonano ogni mese è molto inferiore a quello di coloro che restano. Un tasso di churn del 3% significa che il 97% dei dati appartiene alla classe maggioritaria.

Questo sbilanciamento rende la metrica dell’accuratezza (accuracy) non solo inutile, ma pericolosa. Un modello banale che predice “nessun churn” per tutti i clienti otterrebbe un’accuracy del 97%, pur essendo completamente inutile dal punto di vista operativo. Dobbiamo quindi usare metriche più sofisticate. L’AUC-ROC (Area Under the Receiver Operating Characteristic Curve) è lo standard del settore. Misura la capacità del modello di distinguere tra le due classi, indipendentemente dalla soglia di classificazione scelta. Un AUC di 0.5 equivale a un lancio di moneta, mentre un AUC di 1.0 rappresenta un modello perfetto. In pratica, un modello con AUC >0.80 è considerato buono, >0.85 eccellente. Altre metriche utili sono la Precision (quanti di quelli che abbiamo predetto come churner lo sono davvero?) e il Recall (quanti dei veri churner siamo riusciti a identificare?), spesso visualizzate in una curva Precision-Recall.

Caso Studio: Netflix e la Retention proattiva Netflix è maestra nell’usare la data science per minimizzare il churn. Invece di basarsi su feature ovvie come “giorni dall’ultimo login”, i loro modelli analizzano pattern di visione molto più sottili. Le feature ingegnerizzate per i loro modelli di churn includono:

  • Viewing velocity: la rapidità con cui un utente completa una serie TV. Un binge-watching intenso seguito da inattività è un segnale di rischio.
  • Content diversity: il numero di generi diversi esplorati. Gli utenti che guardano solo un tipo di contenuto sono più a rischio se quel contenuto si esaurisce.
  • Search behavior: un aumento delle ricerche fallite (“contenuto non trovato”) può indicare frustrazione e un potenziale churn.
  • Device usage: un utente che smette di usare l’app su un dispositivo (es. la smart TV) potrebbe aver cambiato le sue abitudini.

Identificando un utente con un alto “churn score”, Netflix non si limita a inviare un’email generica “Ci manchi!”. Attiva interventi personalizzati: una notifica push che annuncia l’arrivo della nuova stagione della serie preferita dell’utente, una riga dedicata nella UI con raccomandazioni basate sulla sua cronologia di visione, o persino un’offerta di upgrade del piano. In questo modo, il modello predittivo non è un fine, ma l’innesco di un workflow di retention automatizzato che, secondo stime, ha contribuito a mantenere il loro tasso di churn globale costantemente sotto il 2.5% nel 2022, un valore eccezionalmente basso per il settore dello streaming.

Il Valore del Cliente nel Tempo (LTV): Da Metrica a Leva Strategica

Il Customer Lifetime Value (LTV o CLV) è la stima del profitto netto totale che un’azienda può aspettarsi di generare da un singolo cliente durante l’intera durata della sua relazione. Comprendere l’LTV è vitale perché sposta il focus dall’ottimizzazione a breve termine (es. massimizzare i ricavi di una singola campagna) a una strategia di crescita sostenibile a lungo termine. La regola d’oro è che il Costo di Acquisizione del Cliente (CAC) deve essere significativamente inferiore all’LTV. La sfida è: come possiamo prevedere l’LTV di un nuovo cliente basandoci su poche interazioni iniziali?

Esistono tre approcci principali, di complessità crescente:

  1. LTV Storico: il metodo più semplice. Si calcola la media dei ricavi generati da coorti di clienti passati e la si proietta sui nuovi. LTV = (Ricavo medio per cliente per mese) * (Durata media della vita del cliente in mesi). È facile da calcolare ma poco accurato, in quanto tratta tutti i clienti come una media e non cattura le differenze di comportamento.
  2. Modelli Probabilistici: approcci come il BG/NBD (Beta Geometric / Negative Binomial Distribution) e il modello Gamma-Gamma sono lo standard per i business non contrattuali (es. e-commerce). Il BG/NBD modella il processo di acquisto e di “morte” (churn) del cliente come processi stocastici, permettendo di prevedere il numero di transazioni future per ogni singolo cliente. Il modello Gamma-Gamma, usato in combinazione, stima il valore monetario medio di queste transazioni future. Questi modelli richiedono solo tre input per cliente: la sua “recency” (tempo dall’ultimo acquisto), “frequency” (numero di acquisti ripetuti) e “monetary value” (valore medio degli acquisti).
  3. Modelli di Machine Learning: per i business basati su abbonamento o con dati comportamentali ricchi, i modelli di regressione (es. Gradient Boosting, reti neurali) sono più potenti. Questi modelli possono prevedere l’LTV usando un’ampia gamma di feature, come il canale di acquisizione, i dati demografici, le prime azioni compiute sulla piattaforma e le categorie di prodotto acquistate.

Caso Studio: Stripe e l’LTV nel B2B Per un’azienda come Stripe, che fornisce infrastrutture di pagamento per altre aziende, l’LTV dei suoi clienti (le aziende che usano Stripe) è una metrica fondamentale. Un semplice modello transazionale non basterebbe. Stripe può usare un modello di machine learning per prevedere l’LTV a 36 mesi di un nuovo business che si iscrive. Le feature predittive non sarebbero solo le transazioni, ma:

  • Time-to-first-live-transaction: quanto tempo impiega un nuovo account a passare dalla sandbox alla produzione. Un tempo più breve indica un’alta intenzione e una maggiore probabilità di successo.
  • Initial transaction volume growth: il tasso di crescita del volume processato nelle prime 8 settimane.
  • Industry vertical: il settore di appartenenza del cliente (es. SaaS, e-commerce, marketplace) è un forte predittore del potenziale di crescita.
  • Product adoption: l’utilizzo di prodotti aggiuntivi di Stripe (es. Radar per la frode, Billing per gli abbonamenti) è correlato a un LTV più alto. Un modello XGBoost addestrato su questi dati potrebbe prevedere con accuratezza l’LTV di un nuovo cliente dopo soli 60 giorni, permettendo a Stripe di allocare in modo più efficiente le risorse di vendita e supporto. Ad esempio, i clienti con un alto LTV previsto potrebbero essere assegnati a un account manager dedicato, aumentando la retention e massimizzando il loro potenziale di crescita. Questa segmentazione basata sull’LTV previsto ha permesso a Stripe di ottimizzare il suo go-to-market, contribuendo a una crescita del 40% del Gross Payment Volume nel 2021.

Misurare l’Impatto Reale: Inferenza Causale nel Marketing Mix

Il marketing è inondato di correlazioni. “Gli utenti che usano la feature X hanno un churn più basso”. Questo significa che dovremmo spingere tutti a usare la feature X? Non necessariamente. Forse gli utenti che usano la feature X sono semplicemente i più engaged e sarebbero rimasti comunque. Confondere correlazione e causalità è uno degli errori più costosi che un’azienda possa fare. L’inferenza causale è la branca della statistica e dell’econometria che ci fornisce gli strumenti per isolare l’impatto causale di un intervento.

Lo standard aureo per l’inferenza causale è l’A/B test (o Randomized Controlled Trial). Un gruppo di utenti (Trattamento) viene esposto a un intervento (es. una nuova campagna email), mentre un gruppo statisticamente identico (Controllo) non lo è. La differenza nell’outcome di interesse (es. tasso di conversione) tra i due gruppi può essere attribuita causalmente all’intervento. Tuttavia, gli A/B test non sono sempre possibili. Non si può fare un A/B test per una campagna pubblicitaria in metropolitana o per un cambio di prezzo a livello nazionale.

In questi casi, si ricorre a metodi quasi-sperimentali. Uno dei più potenti è il Difference-in-Differences (DiD). Questo metodo è utile per misurare l’impatto di un evento o di una policy che viene applicata solo a un gruppo (o a una geografia) e non a un altro. L’idea è di confrontare la differenza nell’outcome per il gruppo di trattamento prima e dopo l’intervento con la differenza nell’outcome per il gruppo di controllo nello stesso periodo di tempo. Questo secondo “differencing” permette di controllare per trend temporali che avrebbero influenzato entrambi i gruppi indipendentemente dall’intervento (es. stagionalità, eventi macroeconomici).

Immaginiamo che Bolt, il servizio di ride-hailing, lanci un’aggressiva campagna di sconti a Roma, ma non a Milano (che funge da gruppo di controllo). Per misurare l’impatto causale, non confronteremmo semplicemente le corse a Roma dopo la campagna con quelle prima. Confronteremmo l’aumento delle corse a Roma (Post_Roma - Pre_Roma) con l’aumento (o diminuzione) delle corse a Milano nello stesso periodo (Post_Milano - Pre_Milano). L’effetto causale della campagna è (Post_Roma - Pre_Roma) - (Post_Milano - Pre_Milano). Se le corse a Roma sono aumentate del 25% e a Milano del 5% (a causa, magari, del bel tempo), l’impatto incrementale della campagna è di 20 punti percentuali, non 25. Questo approccio rigoroso permette ai team di marketing di valutare il vero ROI delle loro iniziative su larga scala e di prendere decisioni di budget più informate.

Officina Analitica: Costruiamo un Modello di Churn Predittivo

Passiamo ora dalla teoria alla pratica. Questa sezione vi guiderà attraverso la costruzione di un modello di churn, simulando un progetto reale. L’obiettivo non è solo scrivere codice, ma sviluppare il ragionamento analitico che sta dietro ogni scelta.

Supponiamo di lavorare per un servizio di streaming musicale e di avere una tabella user_activity con i seguenti campi: user_id, subscription_start_date, last_seen_date, total_streams_last_30d, distinct_artists_last_30d, support_tickets_opened, has_churned_next_month.

Esercizio 1: Estrazione e Feature Engineering in SQL

Il primo passo è trasformare i dati grezzi in feature significative per il modello. Il vostro compito è scrivere una query SQL che, partendo dalla tabella user_activity, crei un dataset di training. La query dovrebbe calcolare, per ogni utente, le seguenti feature:

  • tenure_days: giorni dalla data di iscrizione ad oggi.
  • recency_days: giorni dall’ultima attività ad oggi.
  • avg_daily_streams: total_streams_last_30d / 30.
  • engagement_ratio: distinct_artists_last_30d / total_streams_last_30d (un valore basso potrebbe indicare un ascolto passivo di playlist).
  • La variabile target churn_label (che è già has_churned_next_month).

Una query di partenza potrebbe assomigliare a questa:

SELECT
    user_id,
    DATEDIFF(CURRENT_DATE, subscription_start_date) AS tenure_days,
    DATEDIFF(CURRENT_DATE, last_seen_date) AS recency_days,
    total_streams_last_30d / 30.0 AS avg_daily_streams,
    CASE
        WHEN total_streams_last_30d > 0 THEN distinct_artists_last_30d / CAST(total_streams_last_30d AS REAL)
        ELSE 0
    END AS engagement_ratio,
    support_tickets_opened,
    has_churned_next_month AS churn_label
FROM
    user_activity
WHERE
    -- Filtriamo per avere un dataset di training di un mese specifico
    -- per evitare data leakage
    snapshot_date = '2023-10-31';

Esercizio 2: Modello Baseline e Valutazione Corretta

Una volta estratto il dataset, il passo successivo è costruire un modello baseline. In Python, usando scikit-learn, addestrate un modello di LogisticRegression usando solo due feature: recency_days e tenure_days. Dopo aver diviso i dati in training set e test set (con stratify=y per mantenere la proporzione di churn), calcolate sia l’accuracy che l’AUC-ROC sul test set.

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, roc_auc_score
from sklearn.preprocessing import StandardScaler

# Assumiamo che 'df' sia il DataFrame caricato dalla query SQL
# df = pd.read_csv('churn_features.csv')

# Definiamo features e target
features = ['recency_days', 'tenure_days', 'avg_daily_streams', 'engagement_ratio', 'support_tickets_opened']
target = 'churn_label'

X = df[features]
y = df[target]

# Dividiamo i dati
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42, stratify=y
)

# Standardizziamo le feature
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

# Addestriamo il modello
model = LogisticRegression(class_weight='balanced', random_state=42)
model.fit(X_train_scaled, y_train)

# Facciamo le predizioni
y_pred = model.predict(X_test_scaled)
y_pred_proba = model.predict_proba(X_test_scaled)[:, 1] # Probabilità per la classe positiva

# Valutiamo il modello
accuracy = accuracy_score(y_test, y_pred)
auc = roc_auc_score(y_test, y_pred_proba)

print(f"Accuracy: {accuracy:.4f}")
print(f"AUC-ROC: {auc:.4f}")

# Un'accuracy del 97% potrebbe sembrare ottima, ma se il churn rate è del 3%,
# è un risultato mediocre. L'AUC ci dà una misura molto più affidabile
# della performance del modello.

Riflettete sulla differenza tra i due valori. Perché l’AUC è una metrica più informativa in questo scenario?

Esercizio 3: Iterazione e Interpretazione del Modello

Ora, migliorate il modello. Usate tutte le feature che avete creato e sostituite la LogisticRegression con un modello più potente come XGBoost (xgboost.XGBClassifier). Dopo aver addestrato il nuovo modello, non fermatevi alla metrica di valutazione. Analizzate le feature_importances_ del modello addestrato. Quali sono le 3 feature più predittive del churn? Per ciascuna di esse, formulate un’ipotesi di business e proponete un’azione concreta che il team di marketing o di prodotto potrebbe intraprendere. Ad esempio, se recency_days è la feature più importante, un’azione potrebbe essere lanciare una campagna di re-engagement automatico via email per gli utenti che non accedono da più di 14 giorni. Questo esercizio finale chiude il cerchio, collegando l’output quantitativo del modello a una decisione di business qualitativa e azionabile.

Una cheat sheet di marketing data science serve quando ti impedisce di scegliere il modello sbagliato solo perché è familiare. Segmentazione, churn, CLV e inferenza causale non sono famiglie di tecniche da collezionare: sono risposte diverse a domande diverse. Il valore professionale nasce quando sai collegare il metodo alla decisione, dichiarare il limite del dato e trasformare l’output del modello in una scelta di budget, prodotto o retention. Il modello non è il prodotto finale; la decisione informata che abilita lo è.

References

  1. Fader, P. S., & Hardie, B. G. (2009). Counting Your Customers: The Easy Way. In P. S. Fader & B. G. Hardie (Eds.), Probability Models for Customer-Base Analysis.
  2. Athey, S., & Imbens, G. W. (2017). The

Problema reale

Nel dominio di marketing data science, Cheat Sheet — Marketing Data Science serve a risolvere questo problema: usare modelli e segmentazioni per decidere dove intervenire, non per produrre complessità fine a se stessa. La lezione non va trattata come teoria isolata, ma come un modo per migliorare una scelta concreta con dati, assunzioni esplicite e controlli minimi.

Obiettivo operativo: Comprendere il problema analitico e il contesto decisionale; Applicare esempi, metriche e controlli a casi reali. Se alla fine non sai indicare quale decisione cambia, quale dato osservi e quale errore vuoi evitare, la lezione non è ancora diventata competenza applicata.

Modello concettuale

FaseCosa chiarireOutput
DomandaQuale scelta reale deve migliorare?Decisione da prendere
MisuraQuale segnale osservabile rappresenta il problema?Metrica o dato sorgente
ControlloQuale baseline rende il risultato interpretabile?Confronto credibile
AzioneChe cosa cambia dopo l’analisi?Prossimo passo operativo

Il modello concettuale è intenzionalmente semplice: decisione, dato, controllo, azione. Ogni approfondimento tecnico deve rafforzare almeno uno di questi quattro punti.

Formalizzazione rigorosa

Per rendere Cheat Sheet — Marketing Data Science analizzabile, definisci prima l’unità di lavoro: cliente, campagna, segmento, previsione o feature. Poi collega questa unità a una metrica osservabile: lift, errore, stabilità, valore marginale e costo operativo. Infine dichiara la decisione attesa: modello, esperimento, segmento attivabile o raccomandazione.

ElementoSpecifica richiesta
Unità di analisicliente, campagna, segmento, previsione o feature
Segnale principalelift, errore, stabilità, valore marginale e costo operativo
BaselinePeriodo precedente, gruppo comparabile, benchmark o scenario controfattuale
Decisionemodello, esperimento, segmento attivabile o raccomandazione
RischioScambiare un numero disponibile per una prova sufficiente

La formalizzazione e solida quando un altro analista può riprodurre la logica, criticare le assunzioni e ottenere la stessa decisione partendo dagli stessi dati.

Esempio o caso studio

Prima di approvare una campagna guidata da modello, il team passa dalla checklist: baseline, segmento attivabile, costo per contatto, guardrail, holdout e monitoraggio dopo il lancio. Il valore della cheat sheet è ridurre il rischio di dimenticare un controllo proprio quando la pressione operativa aumenta.

Evidenza osservataLettura prudenteAzione consigliata
Il numero miglioraPotrebbe essere effetto reale o variazione normaleCercare confronto e segmento
Un segmento cambia più degli altriLa media aggregata nasconde una differenzaSeparare coorti o casi d’uso
Il costo cresce insieme al risultatoL’impatto va letto sul margineStimare trade-off e sostenibilità

Lab / esercizio

Livello base

Scrivi una scheda di una pagina per Cheat Sheet — Marketing Data Science: decisione da supportare, metrica primaria, baseline, rischio principale e azione se il segnale e confermato.

Livello intermedio

Costruisci una tabella con tre segmenti, periodi o scenari. Per ciascuno indica cosa cambia, quale spiegazione alternativa e plausibile e quale controllo useresti prima di raccomandare un azione.

Livello research-grade

Prepara un decision memo: ipotesi, dati richiesti, criteri di esclusione, controlli di qualità, soglia decisionale, rischio residuo e piano di monitoraggio dopo la decisione.

Dataset e materiali consigliati

Usa CRM, campagne, transazioni, feature marketing, testo, embeddings e serie storiche. Se non hai accesso a dati reali, crea un dataset sintetico con almeno 200 righe, una dimensione temporale, una dimensione segmento e una metrica di outcome.

Errore tipico da evitare

L’errore più comune e usare Cheat Sheet — Marketing Data Science come etichetta invece che come processo. Succede quando il team mostra un grafico senza decisione, una metrica senza baseline, o una conclusione senza indicare quale assunzione potrebbe invalidarla.

La domanda di controllo è: se questo risultato fosse instabile, quale scelta sbaglierei? Se la risposta non è concreta, manca ancora il collegamento tra analisi e azione.

Quiz o checkpoint

  1. Quale decisione concreta dovrebbe migliorare questa lezione?
  2. Quale unità di analisi rende il problema misurabile?
  3. Quale baseline useresti per evitare una lettura ingenua?
  4. Quale errore tipico potrebbe cambiare la conclusione?
  5. Quale output consegneresti a uno stakeholder non tecnico?

Riepilogo operativo

Cheat Sheet — Marketing Data Science diventa utile quando produce una decisione più chiara, non quando aggiunge terminologia. Usa il framework problema, modello, formalizzazione, esempio, lab e checkpoint per trasformare la lezione in pratica verificabile. Categoria: Sintesi Operativa. Difficoltà: advanced. Tempo stimato: 10 min.