Vai al contenuto principale
PMF e product-market fit analytics - immagine ufficiale della lezione su GinnyTech, creata da AD

PMF e product-market fit analytics

Misurare il product-market fit con metodi quantitativi: retention, NRR e Sean Ellis test.

AD
Creato daAndrii Dyshkantiuk
Lezione 78 / 236Livello: AvanzatoDurata: 22 minPrerequisiti: 1

Cosa imparerai

  • Misurare il product-market fit con retention piatta, NRR e Sean Ellis test
  • Calcolare il Net Revenue Retention su 12 mesi mobili per coorte di partenza
  • Segmentare le risposte della survey per individuare il segmento con fit reale

PMF e product-market fit analytics

Questa lezione appartiene al binario ml-tabellare: misureremo il fit con tabelle, coorti e soglie, non con modelli. E una delle domande piu importanti che un team di prodotto possa porsi, e merita risposte che reggano al controllo.

Il fit non si dichiara

Il product-market fit indica che uno specifico segmento trae valore ricorrente dal prodotto e lo dimostra con uso, pagamento e passaparola. Non e un’opinione: e un fatto che si osserva nei dati.

Il percorso in sei passi

La diagnosi segue un ordine preciso, e ogni passaggio produce un numero che il successivo usa come base.

  1. Definisci il segmento candidato e la finestra di osservazione prima di misurare.
  2. Calcola la retention per coorte a 30, 60 e 90 giorni sullo stesso denominatore di attivati.
  3. Misura il Net Revenue Retention su 12 mesi mobili a partire dai contratti attivi.
  4. Somministra la domanda di Sean Ellis agli utenti attivi negli ultimi 30 giorni.
  5. Confronta crescita organica e coorti successive per verificare miglioramento nel tempo.
  6. Decidi se restringere il mercato, iterare il prodotto o scalare acquisizione.

Le cinque metriche che contano

Il fit non si dichiara con una metrica sola. La tabella fissa soglie operative e fonti dati per una diagnosi tabellare.

MetricaSoglia PMFPeriodo di misuraFonte dati
Retention D30 flatnessD30 vicina a D60 e D90 con variazione inferiore al 20 per cento3 mesi per coorteEvent tracking
NRR SaaSOltre il 100 per centoRolling 12 mesiFatture e contratti
Sean Ellis testOltre il 40 per cento di molto delusoSurvey trimestraleSurvey in-app
Organic growth shareOltre il 40 per cento di nuovi utentiMensile in trendAcquisition tracking
Cohort-over-cohortOgni coorte migliore della precedenteMensileRetention matrix

Verdetto: dai priorita a retention piatta e NRR sopra il 100 per cento, perche survey e crescita organica descrivono mentre uso e spesa dimostrano.

Retention piatta e ricavo ricorrente

Una curva che si appiattisce indica un nucleo stabile di utenti che ha trovato valore duraturo. La query sotto calcola retention media e dispersione per periodo di coorte.

WITH cohort_retention AS (
  SELECT cohort_month, period_number,
         COUNT(DISTINCT user_id) AS active,
         FIRST_VALUE(COUNT(DISTINCT user_id)) OVER (PARTITION BY cohort_month ORDER BY period_number) AS cohort_size
  FROM user_activity
  GROUP BY cohort_month, period_number
)
SELECT period_number,
       AVG(active * 1.0 / cohort_size) AS avg_retention,
       STDDEV(active * 1.0 / cohort_size) AS stddev_retention
FROM cohort_retention
GROUP BY period_number
ORDER BY period_number;

Se la media resta intorno al 4 per cento dal periodo 3 al periodo 9, il prodotto trattiene un nucleo stabile e il segnale di fit regge. Il controllo economico arriva dal Net Revenue Retention, calcolato per coorte di partenza su 12 mesi.

WITH mrr_by_customer AS (
  SELECT customer_id, month, SUM(mrr) AS mrr
  FROM invoices GROUP BY 1, 2
),
cohort_start AS (
  SELECT customer_id, MIN(month) AS start_month, SUM(mrr) AS start_mrr
  FROM mrr_by_customer GROUP BY 1
),
mrr_12m_later AS (
  SELECT cs.customer_id, cs.start_month, cs.start_mrr,
         COALESCE(SUM(mbc.mrr) FILTER (WHERE mbc.month = cs.start_month + INTERVAL '12 months'), 0) AS end_mrr
  FROM cohort_start cs
  LEFT JOIN mrr_by_customer mbc ON cs.customer_id = mbc.customer_id
  GROUP BY 1, 2, 3
)
SELECT start_month,
       SUM(start_mrr) AS starting_arr,
       SUM(end_mrr) AS ending_arr,
       ROUND(SUM(end_mrr) * 100.0 / SUM(start_mrr), 1) AS nrr_pct
FROM mrr_12m_later
GROUP BY start_month;

Un NRR oltre il 100 per cento indica che l’espansione supera contrazione e abbandono anche senza nuova acquisizione. I riferimenti pubblici citati nel modulo sono Snowflake al 158 per cento, Twilio al 135 per cento e Crowdstrike al 125 per cento.

Domanda di Sean Ellis per segmento

La domanda chiede quanto l’utente sarebbe deluso se il prodotto non esistesse piu, con quattro risposte da molto deluso a per niente deluso. La soglia operativa e oltre il 40 per cento di molto deluso. Il codice sotto seleziona gli attivi recenti e analizza le risposte per segmento.

# Identifica chi sondare: attivi negli ultimi 30 giorni
eligible = df[df['days_since_last_active'] <= 30]
# Campiona 500-1000 utenti, invia survey in-app o email
# Analisi per segmento: power user vs casual
results = survey_data.groupby('user_segment')['response'].value_counts(normalize=True)
print(results.unstack())

Segmenta sempre per canale, coorte, piano, paese, device e maturita, perche la media aggregata puo nascondere un segmento con fit forte e uno senza.

L’errore che trasforma il fit in etichetta

L’errore piu comune e trattare il fit come etichetta invece che come diagnosi per segmento. Succede quando il team mostra una media senza baseline, senza coorti e senza verifica su spesa. La domanda di controllo resta operativa: se questo risultato fosse instabile, quale scelta sbaglierei tra restringere, iterare o scalare.

Il caso Superhuman

Il caso di riferimento e il percorso di Superhuman, client email premium da 30 dollari al mese guidato da Rahul Vohra. Il team registra crescita piatta e somministra la domanda di Sean Ellis: solo il 22 per cento risponde molto deluso. Segmentando le risposte emerge che quel gruppo raggiunge regolarmente Inbox Zero. Il team riprogetta l’onboarding per portare tutti verso quel comportamento. Dopo 6 mesi la quota di molto deluso sale al 58 per cento e il prodotto accumula una lista di attesa di centinaia di migliaia di persone.

Quattro domande per verificare il fit

  1. Quale appiattimento della retention indica un nucleo stabile di utenti?
  2. Quale soglia di NRR dimostra espansione netta senza nuova acquisizione?
  3. Quale quota di molto deluso nel test di Sean Ellis segnala fit?
  4. Quale segmento analizzeresti per primo quando la media sembra mediocre?
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