Someone asks "what's the ROI on this?" in a planning meeting. The room goes quiet. The PM pulls up a slide. The stakeholder nods. Everyone moves on.
I've done that. For a long time, ROI was something I produced to satisfy a question - not something that changed what I built.
Working at Flo broke that habit. Flo has 80 million monthly active users, and each of them has a limit on how much time she'll spend in the app. That sounds obvious, but it has a real consequence: every feature you add displaces something she was already doing. Every minute spent on a new health insight is a minute not spent on cycle tracking. Every onboarding screen is a screen she might not finish. When you're building across cycle tracking, pregnancy, perimenopause, and general health at once, you can't just stack features and assume they coexist. You have to calculate cannibalisations. You have to put every initiative on the same ground - same formula, same units - or you're not comparing them, you're just listing them.
Most teams reach for ROI after someone questions a decision. That's too late.
What PMs get wrong about ROI
ROI feels like it demands certainty. Precise costs, clean projections. Most product decisions happen with incomplete data on a deadline, so the tool gets abandoned for fuzzier, faster options - RICE scores, gut feel, whoever argued most convincingly in the last meeting.
ROI doesn't need precision. It needs written assumptions.
When you estimate expected gain, you have to define what "gain" means. Revenue? Retention? Activation? If you can't agree, you're not ready to build. When you include opportunity cost - what that same team could build instead - a feature that looked cheap starts looking expensive. The number will be wrong. But the process surfaces disagreements that would otherwise show up six months into delivery.
Framework 1: feature ROI scorecard
For each feature, estimate four things:
Adjusted ROI = (Expected Gain × Probability) ÷ Fully-Loaded Cost
Time-Adjusted ROI = Adjusted ROI ÷ Months to Value
The first formula tells you the return. The second tells you whether it's worth waiting for. A feature scoring 2.5× that takes 18 months to deliver sits very differently on a roadmap than one scoring 2.0× that ships in six weeks. Use both — rank by time-adjusted ROI when you need to choose between options with similar scores.
When you write "30% confidence," someone will ask what would get you to 60%. That's the conversation worth having before engineering starts.
If two features land within 20% of each other, stop arguing the number. Use judgment - user pain severity, strategic fit, tech debt - to break the tie. The scorecard earns its keep when the gap is bigger than that.
In practice: Flo stories
Flo's content team wanted to build a daily health stories feature for pregnant users - short video content covering what to expect each week of pregnancy. Here's how the scorecard looked:
Test results: 61% watch rate, 30%+ lift in app opens. Probability validated, cost looked different. The feature went to 480,000+ pregnant users.
Framework 2: Invest, harvest, watch, or exit
A lot of PM time goes to existing features, not new ones. Should this keep getting investment? Should it stay as-is? Should it go?
Invest: users are already there; you're leaving value on the table.
Harvest: it's working; protect it and don't over-resource it.
Watch: low traction but real potential - define a success metric, run one bet. If it misses, move it to Exit.
Exit: low usage, no clear path to value. Deprioritise or deprecate.
In practice: Anonymous mode
In 2022, the US Supreme Court overturned Roe v. Wade - ending the constitutional right to abortion since 1973 and leaving abortion policy to individual states. Overnight, millions of women became worried their period tracking data could be used as legal evidence against them. For a period tracking app with 80 million users, this was a direct threat to user trust, and therefore to the business.
Usage: near zero
ROI potential: high - user retention at risk, competitive differentiation available, regulatory credibility on the line
Quadrant: Watch - run one focused bet
Flo built Anonymous mode, which lets users track their health without linking data to an identifiable account. The team could say what they expected to get back, which made the investment defensible. It won the IAPP Privacy Innovation Award and made TIME's Best Inventions list in 2023.
One question worth asking about any matrix: how often do you update it? The market moves. New opportunities appear. Features that were Watch six months ago might now be obvious Exits - or might have earned a move to Invest. A quarterly refresh works for most teams. But the real trigger isn't the calendar. It's a shift in context: a competitor ships, usage drops, a bet misses its metric. When that happens, update the matrix then, not at the next planning cycle. And when something sits in Exit for two consecutive reviews with no movement - delete it from the roadmap entirely. Keeping dead initiatives on the list is its own tax on team attention.
Where it actually fits in your week
I used to dread the "what's the ROI?" question. Now I ask it first. The shift happened gradually - but the thing I noticed most wasn't the big decisions. It was the ones I'd been quietly postponing for months without being able to explain why. There's a feature you keep bumping down the list. You can't fully articulate it in a planning meeting. The ROI scorecard turned out to be just that - a way to put on paper what I'd already half-calculated in my head. The instinct was usually right. Now I could show it.
Most recently it changed how I handled H2 planning. Ideas and hypotheses come in from every direction - other departments, stakeholders, leadership. Before, that conversation was exhausting. Now everyone works off the same inputs. It's easier to collaborate, easier to say no, easier to focus. That's what the tool actually does. Not the number - the shared language.