Go to main content
PMF and product-market fit analytics - official lesson image on GinnyTech, created by AD

PMF and product-market fit analytics

Measure product-market fit with quantitative methods: retention, NRR, and Sean Ellis test.

AD
Created byAndrii Dyshkantiuk
Lesson 78 / 236Level: AdvancedDuration: 22 minPrerequisites: 1

What you will learn

  • 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 and 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.

MetricPMF ThresholdMeasurement PeriodData source
Retention D30 flatnessD30 vicina a D60 e D90 con variazione inferiore al 20 per cento3 months per cohortEvent tracking
NRR SaaSOltre il 100 per centoRolling 12 monthsFatture e contratti
Sean Ellis testOltre il 40 per cento di molto delusoQuarterly surveyIn-app survey
Organic growth shareOltre il 40 per cento di nuovi utentiMensile in trendAcquisition tracking
Cohort-over-cohortEach cohort better than the previousMonthlyRetention 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;

A 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.

# Identify who to survey: active in the last 30 days
eligible = df[df['days_since_last_active'] <= 30]
# Sample 500-1000 users, send survey in-app or by email
# Analysis by segment: power users 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.

Book a call