Kohavi / Tang / Xu · OEC
OEC design — worked (food-delivery)
The Overall Evaluation Criterion is the one metric an experiment optimizes — a short-term, in-window proxy chosen because it predicts the long-term goal you can't measure in two weeks. Set it and its guardrails before launch; never pick metrics after peeking.
1Name the goal
The long-term value you actually care about (6-mo retained revenue, LTV).
2List proxies
Short-term metrics measurable inside the window.
3Validate
On history: does moving the proxy retain/monetize better? Check sensitivity + directional alignment (no proxy that rises while value falls — Goodhart).
4Compose
Into a single OEC — one primary metric or a normalized weighted combo.
5Attach guardrails
Must-not-regress metrics that catch the proxy being gamed.
Worked — food-delivery app (illustrative)
Goal: 26-week retained gross profit per signup. Window: 14 days. Candidates: sessions/user, items browsed, completed orders/user (14d), push opt-in.
Validation: users with ≥3 completed orders in 14d retained at 58% to week 26 vs 19% for <3 → strong, sensitive, aligned. "Sessions" rose with a confusing UI (users lost, clicking around) → rejected (rises while value falls).
OEC = completed orders per user in first 14 days.
Guardrails (ship-blocking if they regress): median delivery-time SLA, refund/cancellation rate, support-contacts per order, app-crash rate, unsubscribe rate, and (regulated) any consent/disclosure metric. A treatment that lifts the OEC but blows a guardrail does not ship.
Effect-size rule: a stat-sig tiny OEC lift may still not be worth shipping once you price the opportunity cost (eng, complexity, surface risk). Judge effect size vs the next-best use of the slot, not just p<0.05.