MCP tool: pm_calculate_roi

ROI (Return on Investment)

Whether a product investment will pay back, how fast, and by how much.

When to use this

You're deciding whether to fund a project with a clear cost and a measurable gain. You can name the gain in dollars (saved CAC, added revenue, reduced support load that actually reduces headcount). You'll commit to measuring the gain after launch. You'd actually kill the project if the math came out badly.

When NOT to use this

Pure-research bets where the gain is unknowable up front. Defensive moves you'd do regardless of the math (security fixes, compliance work, table-stakes parity features). Small fast decisions where the analysis costs more than the decision itself. Most product ROI math is theatre. If you won't measure the gain after launch and you wouldn't kill the project based on the number, skip the calculator and just decide.

Inputs

  • Cost: Total fully-loaded cost. Engineering, design, PM, QA time. Plus any infra, tools, or vendor spend. Don't use base salary -- use loaded cost (salary + benefits + overhead, usually 1.3-1.5x base).
  • Gain: Expected dollar benefit over a defined window (usually 12 months). Be specific about whether this is revenue, saved cost, or both.
  • Time horizon: Usually 12 months. Longer horizons inflate ROI without telling you anything new.

The math

ROI = (gain - cost) / cost
Payback period = cost / monthly_gain
Benefit-cost ratio = gain / cost

ROI is the headline number. Payback tells you when the money comes back. Benefit-cost ratio is a quick gut check ("for every $1 in, $X out").

A worked example

Your team is debating whether to build a self-serve onboarding flow.

Cost:

  • 3 engineers x 8 weeks
  • Loaded cost: $4,000/week per engineer
  • Total: 3 x 8 x $4,000 = $96,000

Gain:

  • Cuts CAC by $80 per self-serve signup
  • ~600 self-serve signups per month
  • Monthly saved CAC: 600 x $80 = $48,000
  • 12-month gain: $48,000 x 12 = $576,000

The math:

Payback = $96,000 / $48,000 = 2 months
12-month ROI = ($576,000 - $96,000) / $96,000 = 500%
Benefit-cost ratio = $576,000 / $96,000 = 6.0

2-month payback is strong. 500% 12-month ROI is also strong. Both numbers agree the project is worth doing. The risk is the gain estimate -- 600 signups/month and $80 saved CAC are both forecasts, not facts. A 50% miss on either input still leaves you with a positive ROI in this case, which is the actual stress test worth running.

How pmtoolkit does it differently

The calculator surfaces payback alongside ROI. A 200% ROI over 5 years and a 50% ROI over 4 months are very different bets, and ROI alone hides that. You can also set a confidence band on the gain estimate (low / expected / high) because the cost is real, but the gain is a guess. If the low-end gain still gives positive ROI, the project survives stress-testing.

Common mistakes

  • ROI without payback. A 10x ROI over a decade is worse than 2x in a year for most companies. Cash timing matters.
  • Point estimates instead of ranges. Gain is almost always overestimated. Run the math with a low-end gain too.
  • Ignoring opportunity cost. The team could have built something else. The right comparison is to the next best project, not to nothing.
  • Counting "saved hours" as cash. Time savings are real only if you actually reduce headcount or reallocate the freed time to revenue-generating work. Otherwise you're calling a softer workday a financial gain.
  • Using a 5-year horizon to make the ROI look better. If you need 5 years to justify the project, it probably shouldn't be the priority.
  • No post-launch measurement plan. If you won't check the gain after launch, the projection is fiction with extra steps.

Try it