Skip to content

comparative-fault

Apply US comparative-negligence rules to a damages award. When more than one party is at fault, the claimant's recovery is reduced by their own share of responsibility — and US states do that in four materially different ways.

comparative-fault is a pure-Rust, zero-dependency crate implementing all four regimes. It is the math behind the WorthMyClaim settlement estimator, a free tool for sizing injury claims.

The four regimes

Rule Reduction Recovery barred at
Pure comparative By fault share never
Modified, 50% bar By fault share fault ≥ 50%
Modified, 51% bar By fault share fault > 50%
Contributory any fault at all

Where the rules diverge

The two modified rules look almost identical and differ at exactly one point: an even split. Under a 50% bar a claimant found equally responsible recovers nothing. Under a 51% bar the same claimant recovers half.

An even split is a common settlement posture, so this is not an edge case — it is the single most consequential thing to know about the jurisdiction a claim sits in. It is also why insurers argue over fault percentage rather than damages: moving an assessment from 49 to 50 in a 50%-bar state does not reduce the payout, it eliminates it.

Install

[dependencies]
comparative-fault = "0.1"

Quick example

use comparative_fault::{net_recovery, Rule};

// 20% at fault on a 100,000 award, pure comparative.
assert_eq!(net_recovery(100_000.0, 0.20, Rule::Pure), 80_000.0);

// Exactly 50% at fault: barred under a 50% rule, halved under a 51% rule.
assert_eq!(net_recovery(100_000.0, 0.50, Rule::Modified50), 0.0);
assert!((net_recovery(100_000.0, 0.50, Rule::Modified51) - 50_000.0).abs() < 1e-6);

Not legal advice

These are estimates for modelling only. Fault apportionment is decided on evidence by a court or in negotiation, and jurisdiction rules change. Interactive estimator: WorthMyClaim.