Back to Blog
Building an ROI Calculator from Real Settlement Data
Product6 min readJanuary 23, 2026Precedent Team

Building an ROI Calculator from Real Settlement Data

In this post, we'll build an ROI calculator from scratch. Not a spreadsheet with guesses — an actual model grounded in real settlement data, where every number has a source and every assumption is explicit. By the end, you'll understand exactly how we turn raw case outcomes into a credible ROI estimate.

Starting Point: The Raw Data

We have 522 personal injury settlements from the Hines Law Firm, comparing demands drafted with Precedent versus their traditional process. Here's what the data looks like:

MetricTraditionalWith PrecedentDelta
Avg settlement$47,200$54,752+16%
Tender rate31%53%+71%
Days to settle14278-45%
Hours to draft4-100.25~95% reduction

The $50K bracket performed even better — +42% settlement increase. That's the kind of number that makes you want to put it in big bold letters.

We didn't. Here's why, and here's how we built a calculator that's actually defensible.

Step 1: Pick One Benefit

The data shows multiple improvements: settlement size, tender rate, resolution speed, drafting time. The temptation is to add them all up. Don't.

These metrics aren't independent. Higher tender rates (settling at policy limits) contribute to higher average settlements. Faster resolution might correlate with better outcomes. If we sum everything, we're almost certainly double-counting.

So we pick one primary benefit for the revenue calculation: settlement increase. The others are supporting evidence, not separate line items.

python
# Wrong: double-counting correlated benefits total_benefit = settlement_lift + tender_improvement + speed_savings # inflated # Right: one clear benefit primary_benefit = settlement_lift # defensible

Step 2: Use the Average, Not the Best Case

The $50K cases showed +42%. The overall average was +16%. Which do we use?

The average. Always the average.

Here's the reasoning. Every firm has a different case mix. Hines might skew toward case types where Precedent helps most. Another firm might not. If we use +42% and someone sees +25%, we've broken trust — even though +25% is excellent.

If we use +16% and they see +25%, we've exceeded expectations.

python
# The tempting choice settlement_lift_rate = 0.42 # best segment # The correct choice settlement_lift_rate = 0.16 # overall average

This is a general principle: conservative assumptions that you can defend beat aggressive assumptions that might be true.

Step 3: Model Imperfect Adoption

Even after a firm buys the software, not every demand will use it. Some attorneys prefer their old process. Some case types might not fit. There's always a ramp-up period.

We model this explicitly:

python
adoption_rate = 0.80 # 80% of demands use Precedent affected_cases = annual_demands * adoption_rate

Is 80% pessimistic? Maybe. But it means the model works even without perfect execution. A prospect who achieves 95% adoption will outperform the estimate. That's the right direction to be wrong.

Step 4: Count the Buyer's Share, Not the Gross

When a settlement increases by $10,000, the law firm doesn't pocket $10,000. They keep their contingency fee — typically 33%.

python
gross_settlement_lift = affected_cases * avg_case_value * settlement_lift_rate firm_revenue_lift = gross_settlement_lift * contingency_rate # Example gross_settlement_lift = 480 * 50000 * 0.16 # $3,840,000 firm_revenue_lift = 3840000 * 0.33 # $1,267,200

This seems obvious, but many ROI calculators show gross numbers. That's misleading. The buyer cares about their benefit, not the total value created.

Step 5: Separate Time Savings from Revenue

Time savings and revenue gains are different beasts. Time savings are predictable — if drafting takes 15 minutes instead of 6 hours, you can measure that immediately. Revenue gains take months to materialize and depend on case outcomes.

We calculate them separately:

python
# Tier 1: Time savings (predictable, immediate) hours_before = annual_demands * current_hours_per_demand hours_after = annual_demands * 0.25 # 15 minutes hours_saved = hours_before - hours_after time_savings = hours_saved * hourly_cost # $45/hr fully-burdened # Tier 2: Revenue lift (variable, delayed) firm_revenue_lift = affected_cases * avg_case_value * 0.16 * 0.33

This lets a skeptical prospect focus on Tier 1 alone. If time savings justify the cost, revenue lift is upside. That's a much easier conversation than "trust us on both."

Putting It Together

Let's run through a complete example. A mid-sized PI firm:

  • 50 demands/month (600/year)
  • 6 hours per demand currently
  • $50,000 average case value
  • 33% contingency

Tier 1: Time Savings

python
hours_before = 600 * 6 # 3,600 hours/year hours_after = 600 * 0.25 # 150 hours/year hours_saved = 3450 # hours time_savings = 3450 * 45 # $155,250/year

Tier 2: Revenue Lift

python
affected_cases = 600 * 0.80 # 480 cases gross_lift = 480 * 50000 * 0.16 # $3,840,000 firm_revenue = 3840000 * 0.33 # $1,267,200/year

ROI Calculation

python
software_cost = 600 * 175 # $105,000/year (at 50+ volume pricing) total_benefit = 155250 + 1267200 # $1,422,450 roi = total_benefit / software_cost # 13.5x

That's 13.5x. Not 100x. Not 500x. A number we can walk through line by line.

What We Left Out

The model doesn't include:

  • Faster resolution (45% improvement in days-to-settle). Real benefit — faster cash flow, lower carrying costs — but hard to quantify precisely without assumptions about cost of capital.
  • Tender rate improvement (71% better). Already captured in settlement increase; counting separately would double-count.
  • Quality of life. Attorneys aren't doing 6-hour grunt work anymore. Real but subjective.

Everything we left out makes the actual ROI higher than what we show. That's intentional.

The Principle

Most ROI calculators work backwards from "what number will close deals" to "what assumptions get us there." We worked forwards from "what does the data actually show" to "what's the most conservative defensible estimate."

The difference is trust. A prospect who believes a 13.5x return will sign. A prospect who's skeptical of a 100x claim will ask for references, push back on methodology, and drag out the sales cycle.

You can play with the calculator yourself. Click "How We Calculated This" to see every assumption. If you can find a flaw, we want to know — that's how we make it better.


Resources:

Share

Similar Articles