Go to main content
OKR and KPI: from metrics to objectives - official lesson image on GinnyTech, created by AD

OKRs and KPIs: from metrics to goals

How to translate data into measurable objectives (OKRs) and key performance indicators (KPIs).

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

What you will learn

  • 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

OKRs and KPIs: from metrics to goals

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.

SizeOKRKPI
PurposeDrive change toward an ambitious goalMonitor business health status
QuestionDove vogliamo arrivare?Come stiamo andando?
MeasureKey Results specifici con scadenzaMetriche continue con soglie di allerta
AspirationAmbiziosi, un risultato al 60-70% e gia un successoStabili, ci si attende un risultato pieno
ExampleO: 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.

How to write good OKRs

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

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

KPI: which to choose

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 by checkout si.

ElementOperational DefinitionControllo minimo
Unit of analysisOggetto 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.

Book a call