
OKR e KPI: dalle metriche agli obiettivi
Come tradurre dati in obiettivi misurabili (OKR) e indicatori di performance (KPI).
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
Collegamenti
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
- Scrivi la decisione che gli obiettivi devono guidare e chi ne risponde.
- Definisci un
Objectivequalitativo e memorabile legato a quella decisione. - Aggiungi da tre a cinque
Key Resultscon numero,baselinee target datato. - Scegli da cinque a dieci
KPIdi salute con soglie di allerta esplicite. - 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.
| Dimensione | OKR | KPI |
|---|---|---|
| Scopo | Guidare il cambiamento verso un obiettivo ambizioso | Monitorare lo stato di salute del business |
| Domanda | Dove vogliamo arrivare? | Come stiamo andando? |
| Misura | Key Results specifici con scadenza | Metriche continue con soglie di allerta |
| Aspirazione | Ambiziosi, un risultato al 60-70% e gia un successo | Stabili, ci si attende un risultato pieno |
| Esempio | O: dominare il mercato EU. KR: 500K nuovi clienti nel trimestre | KPI: 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.
| Elemento | Definizione operativa | Controllo minimo |
|---|---|---|
| Unita di analisi | Oggetto su cui misuri il fenomeno | Utente, account, evento, ordine o periodo |
| Variabile osservata | Segnale che rappresenta il comportamento | Definizione stabile e tracciabile |
| Baseline | Stato contro cui confronti il segnale | Periodo, segmento, controllo o benchmark |
| Soglia decisionale | Punto in cui cambia l’azione | Criterio scritto prima della lettura |
| Rischio residuo | Errore che puo restare anche dopo l’analisi | Controllo 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
- Quale decisione migliora distinguendo un
OKRambizioso da unKPIdi salute? - Cosa rende un
Key Resultmisurabile rispetto a una semplice attivita? - Quanti
KPIterresti in un set azionabile e perche? - Quale
baselineuseresti per dire se unKey Resultsta davvero avanzando?
Bloccato su questo argomento o vuoi applicarlo al tuo caso? Prenota una call di 15 minuti con un analista esperto.
Percorso collegato
Lezioni da leggere insieme
Questi collegamenti portano la lezione dentro il resto del corso: basi da riprendere, passaggi successivi e connessioni tematiche tra moduli.