Stats & Product Analytics for Analysts
Back to Thinking in Product Metrics

Optimize vs Monitor

Lagging metrics tell you what happened. Leading metrics tell you what's about to happen. Optimizing the wrong one wastes quarters.

3 minutesReading
🎯 Free Guest Mode: You are learning for free. Sign in to save your completion progress and quiz answers.

A leading indicator changes before the outcome you care about. A lagging indicator changes after. You optimize leading indicators; you monitor lagging ones.

Rolling time-series monitoring in Python

import pandas as pd
import numpy as np

# Daily time series tracking leading activation vs lagging ARR
dates = pd.date_range(start="2026-01-01", periods=60, freq="D")
np.random.seed(42)
daily_activations = np.random.poisson(lam=120, size=60) + np.linspace(0, 40, 60)
# ARR lags activations by ~14 days
daily_arr_gain = np.roll(daily_activations * 50, 14) + np.random.normal(0, 200, 60)

df_metrics = pd.DataFrame({"date": dates, "activations": daily_activations, "arr_gain": daily_arr_gain})
df_metrics["activations_7d_ma"] = df_metrics["activations"].rolling(7).mean()
df_metrics["arr_gain_7d_ma"] = df_metrics["arr_gain"].rolling(7).mean()

print("Latest 5 days of Leading vs Lagging Monitoring:")
print(df_metrics[["date", "activations_7d_ma", "arr_gain_7d_ma"]].tail(5).to_string(index=False))

Takeaway

Place leading indicators at the top of your weekly operating dashboard; place lagging financial metrics at the bottom.

Loading progress...