North star, input and guardrail metrics
One number should tell everyone whether customers are getting the value you promise. Below it, a tree of input metrics tells each team what it can move this month, and guardrails stop anyone winning by breaking something else. This lesson shows you how to pick the number, build the tree, find the input that matters most and check that the tree still holds.
By the end you can
- Pick a north star metric that measures value delivered, and reject vanity metrics
- Break the north star into a metric tree whose inputs a team can move within weeks
- Work out with simple arithmetic which input moves the north star most
- Pair inputs with guardrails and counter-metrics that catch a number being hit the wrong way
- Build a metric tree for an internal tool, where the value is time and accuracy
The everyday picture
A farmer can't order her mango trees to give a bigger harvest. The harvest is what she cares about, and it arrives once a year, far too late to steer by. So she watches the things that make it: how many trees are healthy, how many flowers set fruit, how heavy each fruit grows, and how many reach the market before they spoil. Each of those she can change this month. She waters, prunes, nets the trees against birds and picks at the right time.
She also knows the trap. A heavy dose of fertiliser gives a bigger harvest this year and tired soil for the next five. So she tests the soil every season and stops pushing when it starts to suffer.
That is a metric tree. The harvest is the north star, the one result that shows the farm is working. The things she watches are the input metrics. The soil test is a guardrail. This lesson builds the same three things for a product.
A north star measures value delivered
A north star metric is the one number that best captures the value customers get from your product. Amplitude's North Star framework, written up by John Cutler and colleagues, pairs it with three to five input metrics that the team can move directly. The idea is old and simple: if customers get more of the value, the business results follow, and the team has one shared answer to "are we winning?".
A good north star passes six tests:
- It counts value received, not activity you caused. "Orders delivered on time" counts groceries in a kitchen. "App opens" counts taps.
- It moves before revenue. Revenue and profit are results. They arrive late and have many causes, so they make poor steering numbers (the output, outcome and impact split from pm-11).
- The team can influence it through inputs it controls.
- Anyone can say it in one sentence, from a store manager to the managing director.
- It fits the strategy. Someone reading it should be able to guess what the company is betting on.
- It is hard to game on its own, and where it can be gamed, a guardrail sits next to it.
The opposite is a vanity metric. Mangrove has about 2 million registered customers. That number only ever goes up, even in a week when half of them had a bad experience and stopped ordering. Downloads, page views and total sign-ups behave the same way. They feel good and decide nothing.
Amplitude describes three "games" a product can be playing, and the game tells you what kind of north star to look for. In the attention game (streaming, social media) value is time well spent. In the transaction game (grocery delivery, ride-hailing, wallets) value is a completed exchange. In the productivity game (work tools, internal apps) value is work done faster and more accurately.
Mangrove's customer app plays the transaction game, and its promise is groceries in 30 minutes. A plain count of orders would miss half the promise, so the north star is weekly on-time orders: orders delivered within 30 minutes of checkout, counted per week. Weekly fits a grocery habit. Daily numbers jump with rain and payday, and monthly numbers arrive too slowly to steer by.
Quick check
Which is the best north star for the Partner app, where 1,800 corner shops order stock?
Option 3 counts value a shop owner actually received: stock that arrived as ordered, through the app. Registered shops only goes up. Sessions count activity, and a confusing app produces more of them. Revenue matters, but it lags and depends on prices, credit and the season, so a team can't steer by it week to week.
From one number to a tree
A north star on its own tells a team whether it is winning, but not what to do on Monday. A metric tree breaks it into the parts that produce it, until each leaf is something one team can move with its own work. Build it in four moves:
- Write the north star as a formula. Weekly on-time orders = active customers × orders per active customer × on-time rate.
- Split each part. Parts that multiply are rates and averages. Parts that add are segments that don't overlap: active customers = new customers + returning customers.
- Add the drivers. Some inputs aren't arithmetic parts but causes. The on-time rate is driven by how fast a store picks the order, how fast a rider is assigned, and how long the ride takes.
- Stop at a team. A leaf is finished when one team owns it, can move it within weeks, and has a data source for it.
Then put this week's numbers on every box and check they multiply back to the top. At Mangrove: 62,500 new customers plus 187,500 returning (75% of last week's 250,000) gives 250,000 active customers. They place 1.70 orders each, and 91% arrive within 30 minutes. 250,000 × 1.70 × 0.91 = 386,750 on-time orders a week. If your numbers don't multiply back, a definition is wrong somewhere, and you have found it before anyone argued about it.
Notice the difference between the two kinds of link. Arithmetic links are certain: if orders per customer rises 1%, the north star rises 1%. Causal links are beliefs that need evidence. "Better stock accuracy means fewer cut items, which means customers order more often" is a good bet, but it is a hypothesis until data supports it. Draw the two differently, so nobody mistakes a guess for a law.
The drivers of the on-time rate also show why averages mislead. A typical "Now" order spends about 9 minutes being picked and packed, 4 waiting for a rider and 13 on the road: 26 minutes, comfortably inside 30. The late orders are the ones where two stages run slow at once. So the drivers are written as shares of orders inside a time limit ("picked within 10 minutes"), which track the slow tail, instead of average minutes, which hide it. Percentiles and tails are explained in Measuring speed and reliability.
Input metrics a team can move
An input metric earns its place in the tree when it is:
- Controllable: the team's own work moves it. Store operations can change pick paths; it can't change the weather.
- Fast: it moves within days or weeks, so the team sees whether its work is landing.
- Predictive: when it moves, the north star moves too. Check this in past data, and later with a test (Experiments).
- Owned: one team reports it every week.
Amazon calls these controllable input metrics, and Colin Bryar and Bill Carr's Working Backwards (2021) tells how its selection metric was refined. The first version counted new product detail pages, and teams added pages for products few people wanted. It became detail page views, so a page only counted if customers looked at it. Then the share of those views where the item was in stock. Finally, the share where it was in stock and ready for two-day shipping, which Amazon named Fast Track In Stock. Each change came when the old version stopped predicting sales. Expect to refine your inputs the same way.
If you are stuck for inputs, Amplitude suggests four prompts: breadth (how many customers or stores use it), depth (how much of the job they do in the product), frequency (how often) and efficiency (how fast or cheaply the job gets done).
Which input moves the north star most?
The arithmetic is short. In a product of factors, a 1% rise in any factor raises the result by 1%. In a sum, a 1% rise in one part raises the total by that part's share. New customers are 25% of active customers, so 1% more new customers adds only 0.25% to the north star.
North star now: 250,000 active x 1.70 orders x 91% on time = 386,750
+1% orders per customer (1.70 -> 1.717) +1.00% = about +3,868
+1% on-time rate (91% -> 91.9%) +1.00% = about +3,868
+1% returning rate (75% -> 75.75%) +0.75% = about +2,901
+1% new customers (62,500 -> 63,125) +0.25% = about +967Sensitivity is half the answer. The other half is what a 1% rise costs. Adding 625 new customers a week may be one campaign. Adding 0.9 points of on-time at 91% may need a new dispatch rule, and at 97% it may need many more riders. Put the sensitivity next to the effort, then decide.
Quick check
The returning rate rises from 75% to 78% and nothing else changes. About how many more on-time orders a week?
Three more points of 250,000 is 7,500 more returning customers. Each places 1.70 orders, 91% on time: 7,500 × 1.70 × 0.91 ≈ 11,600. 7,500 is the extra customers, not orders. 3,900 is the effect of a 1% rise in a multiplying factor, a different change.
Guardrails and counter-metrics
In pm-11 you added guardrails to OKRs. A metric tree needs them for the same reason: any input pushed hard enough can be hit in a way that hurts. Pair each input that can be gamed with a counter-metric, the number that gets worse when the input is hit the wrong way.
| Input pushed | How it can be hit badly | Counter-metric (limit) |
|---|---|---|
| On-time rate | Keep many riders waiting on standby | Delivery cost per order (under $2.60) |
| Picked within 10 minutes | Pickers rush and grab the wrong item | Wrong or missing items per 100 orders (under 3) |
| Ride within 15 minutes | Riders speed in traffic and rain | Speed alerts and incidents per 1,000 rides |
| Orders per customer | Buy orders with vouchers | Discount spend per order (under $0.80) |
| New customers | Big first-order discounts attract people who never return | Week-4 retention of the new cohort (pm-23) |
One more guardrail protects the measurement itself. Mangrove counts an order as delivered when the rider taps "delivered" in the Rider app. Put enough pressure on the on-time rate and some riders will tap it a street early. So the team also tracks the share of "delivered" taps made more than 100 metres from the address, and customer reports of orders not received. When a metric becomes a target, guard the way it is measured as well as what it measures.
Keep the list short: two to five guardrails for the whole tree, each with a limit written down before anyone pushes. In the cost example, Mangrove's riders can carry the load up to about 95% on time. Above that, every extra point needs more standby riders, and cost per order climbs faster and faster.
Quick check
The dispatch team proposes measuring "rider assigned within 5 minutes" and paying a bonus on it. Which counter-metric matters most?
The quickest way to hit "assigned within 5 minutes" is to assign orders to riders who are too far away or about to finish a shift, who then drop them. Reassignments catch that. App installs and basket size don't change when the target is gamed.
Metric trees for internal tools
The Store app sells nothing, so its tree plays the productivity game: value is work done faster and more accurately. Its north star could be supplier deliveries received right in the app per week: received by scanning at the dock, and never corrected later. Each store gets about 4 supplier deliveries a day, so 320 stores receive about 8,960 a week. If 60% are received in the app at the dock and 92% of those are right first time (today about 1 goods received note in 12 is corrected later), the north star is about 8,960 × 0.60 × 0.92 ≈ 4,950.
The inputs come from the four prompts. Breadth: stores where receiving in the app is switched on. Depth: the share of a store's deliveries received in the app. Efficiency: minutes per delivery, which also acts as a guardrail, because an app that slows receiving will be dropped for paper as soon as nobody is watching. Below the inputs sit the things that make or break them on a handheld: staff signed in at shift start, scanners charged, and offline receipts that sync without errors (Offline-first apps and data sync).
The link to the customer tree matters in two ways. It lets Imran explain the Store app's work in the terms the managing director already uses: better receiving should mean fewer cut items and more repeat orders. And it warns him not to steer by stock accuracy alone, because accuracy also depends on theft, damage, counts and DC deliveries, and it moves over months. The Store app team steers by its own north star and reports the downstream link once a quarter.
Internal tools add one trap that consumer apps rarely have: what counts as "a delivery" in the denominator. If stock transfers from the DC, which arrive with an electronic note and are always received in the app, are mixed with supplier deliveries, the adoption number looks better than the dock really is. You will take that number apart in Funnels, activation and adoption.
Try it. The simulator draws Mangrove's tree with this week's numbers: 250,000 active customers × 1.70 orders × 91% on time = 386,750. Read the bars under the tree first and find which input adds most for a 1% rise. Then drag On-time rate up towards 99% and watch the delivery cost box: it turns red above $2.60, at about 97.3% on time. Finally, slide New customers down to 0 and see what still carries the tree.
- Factors that multiply the whole tree (orders per customer, on-time rate) move it 1% for 1%. Parts of a sum (new and returning customers) move it by their share, so returning customers matter three times as much as new ones here.
- Past 95% on time, the north star still rises but each point costs more riders. A north star without a counter-metric can be "won" by burning money.
Do it
Build a metric tree for a product you own, with numbers on every box, owners for every input and guardrails written down.
Write the value sentence
One sentence, in the user's words, saying what they get. "Customers get their groceries within 30 minutes, every week." "Store staff receive every delivery right, first time, without paper."
Pick the north star and test it
Choose the count of that value per period. Run the six tests: value received, moves before revenue, team can influence it, one sentence, fits the strategy, hard to game alone. Write the exact definition and the data source.
Write the formula and split it
Multiply rates and averages, add non-overlapping segments, then add the causal drivers underneath. Stop each branch when one team can move the leaf within weeks.
Fill in owners, levers and numbers
For every input: today's value, the owning team, the levers they control, how fast it moves and where the number comes from. Check the numbers multiply back to the north star.
Run the sensitivity, then add effort
Work out what +1% in each input does to the north star. Put the rough cost of that 1% next to it.
Add guardrails and validate the links
For each input, ask "how could we hit this and make things worse?" and pick the counter-metric with a limit. Mark every causal link as a hypothesis, check it against past data, and plan a test for the ones you will bet a quarter on. Review the tree every quarter.
Markdown# Metric tree: Mangrove "Now" delivery Value: customers get their groceries within 30 minutes, every week. North star: weekly on-time orders (delivered within 30 min of checkout) = active customers x orders per active customer x on-time rate = 250,000 x 1.70 x 91% = 386,750 Source: order table, delivered_at - placed_at | Input | Now | Owner | Levers | Moves in | +1% moves NS | |------------------------------|--------|----------------|---------------------------|----------|--------------| | New customers a week | 62,500 | Growth | campaigns, referrals | days | +0.25% | | Returning rate | 75% | App team, CRM | onboarding, reminders | weeks | +0.75% | | Orders per active customer | 1.70 | App team | reorder, slots, in stock | weeks | +1% | | On-time rate | 91% | Ops, dispatch | the drivers below | weeks | +1% | | Picked within 10 min | 78% | Store ops | pick paths, staffing | weeks | driver | | Rider within 5 min | 85% | Dispatch | assignment rules | days | driver | | Ride within 15 min | 88% | Dispatch | delivery zones | weeks | driver | | Stock accuracy (cut items) | 82% | Store app | receiving, counts | months | driver | Guardrails (limit, set before pushing) - Delivery cost per order: $2.10 today (max $2.60) - Wrong or missing items per 100 orders: 2.1 (max 3) - "Delivered" taps over 100 m from the address: 0.8% (max 2%) - Discount spend per order: $0.55 (max $0.80) Hypotheses to check this quarter: picking -> on-time (20-store pilot); stock accuracy -> repeat orders (history, then a store-level test)
Bring it to your team
Ask these when a team proposes a metric or a target.
- What value does this number say the customer got? Could it rise while customers are worse off?
- Where does this input sit in the tree, and what does +1% in it do to the north star?
- Is the link from this input to the north star arithmetic or a belief? What evidence do we have?
- How could we hit this number and make things worse? What is the counter-metric and its limit?
- Who owns this input, how fast can they move it, and where exactly does the number come from?
- When did we last check that this input still predicts the north star?
Red flags
- A north star that only goes up, such as registered users or total downloads.
- A dashboard with thirty metrics and no tree showing how they connect.
- Inputs no team owns, or one input owned by three teams.
- A target with a bonus attached and no guardrail.
- Causal links drawn as if they were arithmetic, never checked against data.
Practice
Build the Partner app's metric tree
The Partner app serves about 1,800 corner shops and about 4,000 orders a week. About 62% of orders are placed in the app; the rest are phoned to about 40 sales reps. In a typical week, about 1,100 shops place at least one order in the app, 2.25 app orders each on average, and 85% of app orders are delivered complete (no short-shipped lines). Pick a north star, write its formula with these numbers, list four inputs with an owner each, and add two guardrails with the way each input could be gamed.
- Your north star counts value a shop received (for example, app orders delivered complete per week), not registrations or sessions
- Your formula multiplies back to about 2,100 a week (1,100 × 2.25 × 85%)
- Each input has one owner and a lever that owner controls
- Your guardrails would catch a real way to game an input, such as reps entering phone orders in the app on shops' behalf, or shops switching channel but ordering less in total
Show a model answer
North star: weekly partner orders placed in the app and delivered complete = shops ordering in the app × app orders per shop × complete rate = 1,100 × 2.25 × 0.85 ≈ 2,104.
Inputs: shops ordering in the app each week (sales reps and the Partner app team: onboarding, rep visits); app orders per shop (Partner app team, Lagoon Digital: one-tap reorder, credit visibility); complete rate (DC operations and buyers: show only stock the DC can ship); time from order to delivery (DC operations and drivers).
Guardrails: total orders per shop across all channels, which catches shops ordering less after moving to the app; share of app orders created by a rep's login, which catches reps moving phone orders into the app to hit the number; orders amended or returned after delivery, which catches one-tap reorders repeating the wrong items.
Pick the proposal that moves the north star most
Using the tree from the first task (1,100 shops × 2.25 orders × 85% complete), work out the change in the north star for each proposal, rank them, and name one guardrail each. A: 100 more shops order in the app each week, at the same rate. B: app orders per shop rise from 2.25 to 2.40. C: the complete rate rises from 85% to 90%.
- Your three answers are about +191 (A), +140 (B) and +124 (C), ranked A, B, C
- You show the relative effect as well (A +9.1%, B +6.7%, C +5.9%)
- You add one cost or risk to each, so the ranking is not decided by sensitivity alone
Show a model answer
Now: 1,100 x 2.25 x 0.85 = 2,104
A: 1,200 x 2.25 x 0.85 = 2,295 +191 (+9.1%)
B: 1,100 x 2.40 x 0.85 = 2,244 +140 (+6.7%)
C: 1,100 x 2.25 x 0.90 = 2,228 +124 (+5.9%)A moves it most, but new app shops may be the less engaged ones, so watch their week-4 retention and total orders across channels. B could come from splitting orders into smaller ones, so watch delivery cost per drop. C is the slowest to deliver but improves the experience for every existing shop, and its guardrail is lost sales from removing items the DC can't ship.
Check yourself
A ride-hailing PM proposes "weekly app opens" as the north star because it moves fast and the team can influence it. What is the strongest objection?
A ride-hailing app plays the transaction game: value is a completed trip. App opens can rise when the product gets worse, because people reopen it to check on a driver who isn't coming. Noise and period choice are real questions, but secondary. Opens can be split into inputs; that doesn't make them the right top number.
Over six weeks the north star rose 4%. In the same weeks, week-4 retention of new customers fell from 22% to 14% and discount spend per order doubled. What is the best reading?
Guardrails exist for exactly this. The north star rose because new customers were bought with discounts, and the counter-metrics say they won't stay. Treating the north star as the only truth is the mistake guardrails prevent. Fast growth often lowers average retention, but an 8-point drop in a cohort plus doubled discount spend has a clear cause.
Store operations raised "orders picked within 10 minutes" from 78% to 90% in a month. The on-time rate didn't move. What should you do first?
When an input moves and its parent doesn't, either the measurement is being gamed (pickers tapping "picked" before they finish) or the constraint has moved to another stage. Both are findable in a day. Dropping the input or waiting ignores the evidence, and a bonus would reward a number that has stopped predicting anything, which is how Amazon's teams learned to refine their inputs.
Flashcards
Key takeaways
- A north star counts value customers received, moves before revenue, and fits in one sentence. Registered users and downloads are vanity metrics.
- A metric tree splits the north star into multiplying factors and adding segments, then adds causal drivers, until each leaf is owned by one team.
- Factors move the north star 1% for 1%; parts of a sum move it by their share. Weigh that sensitivity against what each 1% costs.
- Every input that can be gamed needs a counter-metric with a limit, and the way the metric is recorded needs guarding too.
- Internal tools play the productivity game: count work done right, link it to the customer tree, and steer by your own north star.
Sources and further reading
- Every Product Needs a North Star Metric: Here's How to Find Yours, Julia Sholtz, Amplitude blog, 2024 (inputs, the three games, vanity metrics)
- The North Star Playbook, John Cutler and colleagues, Amplitude
- How Amazon uses input metrics, Holistics, excerpting Colin Bryar and Bill Carr, Working Backwards, St. Martin's Press, 2021
- Alistair Croll and Benjamin Yoskovitz, Lean Analytics, O'Reilly, 2013