Vai al contenuto principale
Caso studio: analisi prodotto completa - immagine ufficiale della lezione su GinnyTech, creata da AD

Caso studio: analisi prodotto completa

Progetto pratico: analizzare il prodotto end-to-end e presentare raccomandazioni. Dalla health dashboard alla segmentazione comportamentale, fino alla roadmap prioritizzata.

AD
Creato daAndrii Dyshkantiuk
Lezione 41 / 236Livello: AvanzatoDurata: 28 minPrerequisiti: 1

Cosa imparerai

  • Misurare salute prodotto con MAU, DAU/MAU, activation e retention per coorte
  • Isolare il mix di acquisizione dal degrado reale con coorti per canale
  • Tradurre i driver in roadmap a tre orizzonti con owner e soglia di rollback

Caso studio: analisi prodotto completa

Questa lezione si sviluppa sul binario ml-tabellare: il caso FitTrack è una lunga tabella che parte dai numeri di salute e arriva alla roadmap, passando per coorti, segmenti e ipotesi verificate. È il banco di prova dell’intero modulo, dove tutti i concetti delle lezioni precedenti vengono messi a lavorare insieme su un problema concreto.

Il compito in sintesi

Il caso FitTrack mostra come unire journey, coorti e segmenti per passare da metriche di volume a roadmap con decisioni verificabili.

Il percorso metodologico in sei passi

  1. Definisci decisione, metrica norte e baseline storica prima di interrogare i dati.
  2. Misura salute con MAU, rapporto DAU su MAU, activation e retention per coorte.
  3. Isola mix di acquisizione da degrado reale con coorti per canale.
  4. Trova il collo di bottiglia con funnel operativo e tempi mediani.
  5. Segmenta per comportamento e identifica driver con modello interpretabile.
  6. Traduci insight in tre orizzonti con owner, scadenza e soglia di rollback.

Salute e coorti che smascherano il volume

FitTrack raggiunge 2,3 milioni di download in diciotto mesi con CAC in calo del 34 percento. Nello stesso periodo il primo workout crolla dal 52 al 38 percento. La retention a 30 giorni scende al 18 percento contro il 31 storico.

Il modello freemium a 9,99 euro al mese regge solo con curva stabile. Il LTV premium stimato è 140 euro. Tra gennaio e giugno i MAU salgono del 67 percento da 180k a 301k. Nello stesso periodo il rapporto DAU su MAU scende dal 22 al 19 percento.

-- Stickiness trend mensile
WITH monthly AS (
  SELECT
    DATE_TRUNC('month', event_date) AS month,
    COUNT(DISTINCT user_id) AS mau,
    COUNT(DISTINCT CASE WHEN event_date >= DATE_TRUNC('month', event_date) + INTERVAL '1 day' THEN user_id END) AS dau
  FROM events
  WHERE event_name IN ('app_open', 'workout_start', 'workout_complete')
  GROUP BY 1
)
SELECT
  month,
  mau,
  dau,
  ROUND(dau::numeric / NULLIF(mau, 0) * 100, 1) AS dau_mau_pct
FROM monthly
ORDER BY month;

Le coorti paid social da metà aprile mostrano retention a 30 giorni tra 14 e 19 percento. Il confronto è contro 28-33 organico. Il mix passa da 70 organico a 55 paid. Il payback si allunga da 4,2 a 11,8 mesi oltre la soglia interna di 8 mesi.

-- Retention D30 per coorte settimanale e canale
WITH signup_cohort AS (
  SELECT
    user_id,
    DATE_TRUNC('week', MIN(event_date))::date AS cohort_week,
    MAX(CASE WHEN utm_source IS NOT NULL THEN utm_source ELSE 'organic' END) AS acquisition_channel
  FROM events
  WHERE event_name = 'signup'
  GROUP BY user_id
),
retention_d30 AS (
  SELECT
    sc.cohort_week,
    sc.acquisition_channel,
    COUNT(DISTINCT sc.user_id) AS cohort_size,
    COUNT(DISTINCT CASE
      WHEN e.event_date BETWEEN sc.cohort_week AND sc.cohort_week + INTERVAL '30 days'
      AND e.event_name IN ('workout_complete', 'app_open')
      THEN e.user_id END) AS retained_users
  FROM signup_cohort sc
  LEFT JOIN events e ON sc.user_id = e.user_id
  GROUP BY 1, 2
)
SELECT
  cohort_week,
  acquisition_channel,
  cohort_size,
  retained_users,
  ROUND(retained_users::numeric / NULLIF(cohort_size, 0) * 100, 1) AS retention_d30_pct
FROM retention_d30
WHERE cohort_week >= '2024-01-01'
ORDER BY cohort_week DESC, acquisition_channel;

Activation e cinque archetipi comportamentali

L’activation con primo workout entro 24 ore è al 38 percento. La mediana è a 47 minuti. Chi attiva entro 15 minuti trattiene al 41 percento a 30 giorni. Chi attiva oltre i 60 minuti trattiene solo al 12 percento.

Il funnel perde il passaggio maggiore alla scelta piano. Qui la conversione passa dal 54 al 42 percento. La causa è l’eccesso di opzioni prima del valore.

-- Funnel onboarding con tempi
WITH steps AS (
  SELECT
    user_id,
    MIN(CASE WHEN event_name = 'app_open' THEN event_date END) AS t0,
    MIN(CASE WHEN event_name = 'goal_selected' THEN event_date END) AS t1,
    MIN(CASE WHEN event_name = 'plan_chosen' THEN event_date END) AS t2,
    MIN(CASE WHEN event_name = 'workout_start' THEN event_date END) AS t3,
    MIN(CASE WHEN event_name = 'workout_complete' THEN event_date END) AS t4
  FROM events
  WHERE event_date >= '2024-04-01'
  GROUP BY user_id
)
SELECT
  COUNT(*) AS total_signups,
  COUNT(t1)::numeric / COUNT(*) * 100 AS pct_goal,
  COUNT(t2)::numeric / COUNT(*) * 100 AS pct_plan,
  COUNT(t3)::numeric / COUNT(*) * 100 AS pct_start,
  COUNT(t4)::numeric / COUNT(*) * 100 AS pct_complete,
  PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY EXTRACT(EPOCH FROM (t4 - t0))/60) AS median_min_to_complete
FROM steps;
SegmentoQuota utentiWorkout in 14 giorniRetention D30LTV stimato
inactive31 percento03 percento0 euro
curious_dormant24 percento1-28 percento12 euro
casual_mover22 percento3-522 percento45 euro
consistent_builder14 percento6-1154 percento128 euro
athlete_power9 percento12 e oltre78 percento280 euro

Gli athlete_power sono il 9 percento della base. Generano il 52 percento del revenue premium e il 61 percento dei referral organici. Il clustering è stabile con silhouette a 0,62.

Driver e roadmap a tre orizzonti

Il modello logistico regolarizzato studia la transizione da casual a consistent. I driver sono primo workout rapido, riepilogo progressi entro 24 ore, reminder contestuali entro 3 giorni e challenge entro 7 giorni. Il modello ha AUC a 0,82 con validazione temporale su coorti successive.

# Driver analysis: logistic regression con SHAP
import pandas as pd
import shap
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler

# feature matrix X (utenti casual_mover nei primi 14gg), target y (diventa consistent_builder entro 60gg)
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
model = LogisticRegression(penalty='l2', C=0.1, max_iter=1000, random_state=42)
model.fit(X_scaled, y)

# SHAP per interpretabilità
explainer = shap.LinearExplainer(model, X_scaled)
shap_values = explainer.shap_values(X_scaled)
shap.summary_plot(shap_values, X, feature_names=feature_names)
OrizzonteIniziativaMetrica successoBaseline
Quick win 0-4 settPiano preselezionato con workout da 10 minuti in un tapQuota workout entro 15 minutiMediana a 47 minuti
Strategico 4-16 settChallenge sociali Primi 14 giorni con squadQuota casual verso consistent a 60 giorni18 percento verso target 28
Moonshot oltre 16 settCoach adattivo su segnali real-timeRetention D30 coorti paid18 percento verso target 35

Il verdetto dell’analisi: la quick win riduce il tempo al valore, lo strategico sposta il segmento e il moonshot scala solo con dataset etichettato.

Verdetto: la quick win vince per ridurre il tempo al valore, lo strategico per spostare il segmento; il moonshot si scala solo con dataset etichettato.

Riferimenti: Croll e Yoskovitz Lean Analytics 2013, Kohavi Tang e Xu Trustworthy Online Controlled Experiments 2020, McClure AARRR 2007, Fogg Behavior Model 2009, Chapelle e Li Empirical Evaluation of Thompson Sampling 2011.

Strava: la conferma esterna del playbook

Nel 2022 Strava supera 100 milioni di atleti registrati dopo anni di crescita guidata da challenge sociali, segmenti e kudos invece di solo acquisizione paid. Le challenge da 7 e 14 giorni creano accountability esterna e il tasso di passaggio da uso occasionale a uso costante sale in modo misurabile tra chi partecipa. Il meccanismo replica FitTrack con primo valore rapido, feedback visibile sui progressi e pressione sociale leggera. La lezione tabellare è identica: coorte, comportamento iniziale e retention prima e dopo l’intervento sociale.

Domande per chiudere il caso

  1. Quale metrica norte segnala per prima il secchio bucato?
  2. Quale canale spiega il calo di retention tra coorti?
  3. Quale step del funnel blocca l’activation misurata?
  4. Quale driver sposta casual verso consistent builder?
Serve una mano concreta?

Bloccato su questo argomento o vuoi applicarlo al tuo caso? Prenota una call di 15 minuti con un analista esperto.

Prenota una call