Vai al contenuto principale
OKR e KPI: dalle metriche agli obiettivi - immagine ufficiale della lezione su GinnyTech, creata da AD

OKR e KPI: dalle metriche agli obiettivi

Come tradurre dati in obiettivi misurabili (OKR) e indicatori di performance (KPI).

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

Cosa imparerai

  • Distinguere OKR che guidano il cambiamento da KPI che monitorano la salute del business
  • Scrivere Key Results misurabili con numero, baseline e target datato
  • Selezionare un set di KPI limitato, bilanciato e azionabile con soglie di allerta

OKR e KPI: dalle metriche agli obiettivi

Obiettivi e indicatori, per essere utili, devono finire in tabelle con unità di analisi, baseline e scadenze. Prima di parlare di formule, però, chiariamo la differenza che regge tutto il resto: gli OKR guidano il cambiamento verso un traguardo ambizioso, i KPI monitorano la salute continua del business. Confonderli significa spingere l’acceleratore mentre la macchina si sta rompendo.

La distinzione fondamentale

Gli OKR guidano il cambiamento verso un traguardo ambizioso mentre i KPI monitorano la salute continua del business.

Il metodo in cinque passi

  1. Scrivi la decisione che gli obiettivi devono guidare e chi ne risponde.
  2. Definisci un Objective qualitativo e memorabile legato a quella decisione.
  3. Aggiungi da tre a cinque Key Results con numero, baseline e target datato.
  4. Scegli da cinque a dieci KPI di salute con soglie di allerta esplicite.
  5. Collega ogni metrica a una tabella con unita di analisi, segmento e finestra temporale.

OKR e KPI a confronto

Gli OKR guidano il cambiamento, i KPI monitorano lo stato di salute. Rispondono a domande diverse e non vanno confusi.

DimensioneOKRKPI
ScopoGuidare il cambiamento verso un obiettivo ambiziosoMonitorare lo stato di salute del business
DomandaDove vogliamo arrivare?Come stiamo andando?
MisuraKey Results specifici con scadenzaMetriche continue con soglie di allerta
AspirazioneAmbiziosi, un risultato al 60-70% e gia un successoStabili, ci si attende un risultato pieno
EsempioO: dominare il mercato EU. KR: 500K nuovi clienti nel trimestreKPI: MRR, churn rate, CAC, rapporto tra LTV e CAC

Usa gli OKR per cambiare il comportamento del team e i KPI per accorgerti quando la macchina si rompe.

Come scrivere buoni OKR

Un Objective funziona quando e qualitativo, ispirazionale e memorabile. Ogni Key Result deve essere misurabile: da tre a cinque risultati, ognuno con numero, baseline e target. Un buon KR e crescere da 120 a 400 aziende clienti enterprise entro il quarto trimestre. La formula “aumentare i clienti enterprise” non e un KR perche manca di numero e scadenza. La regola pratica distingue attivita e risultato: lanciare 3 webinar e attivita, generare 200 MQL da webinar e risultato.

Se il Key Result non contiene numero, baseline e scadenza, resta un’intenzione e non guida il lavoro tabellare.

KPI: quali scegliere

Un buon set di KPI ha tre qualita. E limitato: da cinque a dieci indicatori e non cinquanta, perche oltre i dieci il focus si perde. E bilanciato: unisce indicatori anticipatori come la pipeline sales e indicatori storici come il revenue. Ed e azionabile: se il KPI si muove, sai cosa fare. Il tempo medio sul sito non e azionabile, il tasso di conversione del checkout si.

ElementoDefinizione operativaControllo minimo
Unita di analisiOggetto su cui misuri il fenomenoUtente, account, evento, ordine o periodo
Variabile osservataSegnale che rappresenta il comportamentoDefinizione stabile e tracciabile
BaselineStato contro cui confronti il segnalePeriodo, segmento, controllo o benchmark
Soglia decisionalePunto in cui cambia l’azioneCriterio scritto prima della lettura
Rischio residuoErrore che puo restare anche dopo l’analisiControllo di sensitivita o revisione qualitativa

Riferimento: Doerr, J. (2018). Measure What Matters. Portfolio.

La vista di controllo in SQL

Per collegare i Key Results ai dati settimanali, il pattern seguente crea una base analitica con metrica, segmento e finestra temporale.

WITH base_events AS (
  SELECT
    user_id,
    account_id,
    event_type,
    event_time,
    DATE_TRUNC('week', event_time) AS week,
    source,
    device_type
  FROM events
  WHERE event_time >= CURRENT_DATE - INTERVAL '180 days'
    AND user_id IS NOT NULL
),
weekly_user_metrics AS (
  SELECT
    week,
    user_id,
    COALESCE(source, 'unknown') AS source,
    COALESCE(device_type, 'unknown') AS device_type,
    COUNT(*) AS total_events,
    COUNT(DISTINCT DATE(event_time)) AS active_days,
    COUNT(DISTINCT event_type) AS event_diversity,
    MAX(CASE WHEN event_type IN ('purchase', 'subscribe', 'activation') THEN 1 ELSE 0 END) AS reached_key_outcome
  FROM base_events
  GROUP BY week, user_id, source, device_type
)
SELECT
  week,
  source,
  device_type,
  COUNT(DISTINCT user_id) AS users,
  ROUND(AVG(active_days), 2) AS avg_active_days,
  ROUND(AVG(event_diversity), 2) AS avg_event_diversity,
  ROUND(AVG(reached_key_outcome) * 100, 2) AS key_outcome_rate
FROM weekly_user_metrics
GROUP BY week, source, device_type
ORDER BY week, source, device_type;

La query produce trend, segmenti e differenze tra canali. Da qui leggi l’avanzamento dei Key Results senza riscrivere la logica ogni volta.

Il controllo di stabilita in Python

Una metrica utile resta stabile per orientare il lavoro e sensibile per segnalare i cambiamenti reali.


# df contiene: week, segment, users, key_outcome_rate
# key_outcome_rate espresso in percentuale, es. 12.4

df = df.sort_values(['segment', 'week']).copy()
df['previous_rate'] = df.groupby('segment')['key_outcome_rate'].shift(1)
df['wow_change_pp'] = df['key_outcome_rate'] - df['previous_rate']
df['rolling_mean'] = df.groupby('segment')['key_outcome_rate'].transform(
    lambda s: s.rolling(4, min_periods=2).mean()
)
df['rolling_std'] = df.groupby('segment')['key_outcome_rate'].transform(
    lambda s: s.rolling(4, min_periods=2).std()
)
df['z_score'] = (df['key_outcome_rate'] - df['rolling_mean']) / df['rolling_std']

anomalies = df[df['z_score'].abs() >= 2].sort_values('z_score')
print(anomalies[['week', 'segment', 'key_outcome_rate', 'wow_change_pp', 'z_score']])

Il controllo evita di premiare oscillazioni casuali e segnala quando un KPI merita una review settimanale.

Gli errori tipici da evitare

Il primo errore e aggregare troppo presto. Una media globale nasconde segmenti che si muovono in direzioni opposte. Il secondo e ignorare la qualita del dato: eventi duplicati, tracking incompleto, timezone incoerenti e cambi di definizione producono conclusioni false. Il terzo e confondere attivita con risultato, premiando webinar lanciati invece di MQL generati. Ogni analisi deve includere definizione esplicita della metrica, confronto per segmento e controllo contro un periodo precedente o un gruppo di controllo.

Un caso reale: gli OKR di Google

Google adotta gli OKR nel 1999 dopo la presentazione di John Doerr, che aveva visto il metodo in Intel. L’azienda collega ogni trimestre Objective ambiziosi a Key Results misurabili con baseline e target datati. La regola resta quella descritta da Doerr nel 2018 in Measure What Matters: un risultato intorno al 60-70% su un KR ambizioso conta come successo. La pratica scala con l’azienda perche distingue la direzione dal monitoraggio di salute. Il caso mostra la gerarchia corretta: gli OKR spingono il cambiamento e i KPI impediscono di rompere la macchina mentre si accelera.

Verdetto: usa gli OKR per cambiare il comportamento del team e i KPI per accorgerti quando la macchina si rompe, mai uno al posto dell’altro: se il Key Result non contiene numero, baseline e scadenza, resta un’intenzione e non guida il lavoro tabellare.

Domande per verificare la tua comprensione

  1. Quale decisione migliora distinguendo un OKR ambizioso da un KPI di salute?
  2. Cosa rende un Key Result misurabile rispetto a una semplice attivita?
  3. Quanti KPI terresti in un set azionabile e perche?
  4. Quale baseline useresti per dire se un Key Result sta davvero avanzando?
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