Estimate whether filing a lawsuit may be financially worthwhile. Compare legal costs, potential compensation, and the probability of winning to evaluate if pursuing litigation makes economic sense.
7/10
🔮 Assessing Whether to Litigate
Win Probability
74%
Total Legal Cost
$34,200
Expected Net
$58,400
📊 Benefit‑Cost Ratio1.71
✅ Consider suing
* Filing + attorney + expert + opportunity cost
📘 How to use this calculator
1. Enter claim & state
Your demand and the state where you'll file — 2025 average hourly rate auto‑loads.
2. Adjust evidence & solvency
Evidence strength (0-10) + defendant's ability to pay.
3. Choose case type & fee model
Aligns with practice‑area multipliers and retainer data.
4. Click calculate
See win probability, total costs, expected return, and benefit‑cost ratio.
❓ Frequently Asked Questions
How accurate are the state hourly rates?
Based on the 2025 Legal Trends Report (MyCase/Clio) data you provided, including average lawyer rates by state (e.g., California $420, DC $490, West Virginia $196) and practice‑area breakdowns (Personal Injury $382 in DE, $425 in FL). We also incorporate retainer averages (bankruptcy $4,015, family $3,163).
What’s the benefit‑cost ratio?
Expected recovery (claim × win prob × solvency) divided by total litigation cost. A ratio >1.2 generally favors suing; <1 suggests settlement or case strengthening. Our model uses your inputs and real lawyer rates.
Does it include contingency fees?
Yes. If you select “Contingency”, the fee is 33% for tort/personal injury and 25% for other types (as common in the market). No recovery = no fee (but costs may still apply).
What about retainer fees?
We incorporated average retainers from your file (e.g., bankruptcy $4,015, employment $2,835). Under “Retainer + hourly”, the retainer is added upfront, then deducted from final hourly fees.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"headline": "US Lawsuit Cost & ROI Calculator 2025",
"description": "State-by-state lawyer hourly rates and practice area fees to estimate litigation costs, win probability, and settlement value.",
"author": { "@type": "Organization", "name": "Legal Analytics" }
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How accurate are the state hourly rates?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Based on the 2025 Legal Trends Report data provided, including average lawyer rates by state (California $420, DC $490, West Virginia $196) and practice‑area breakdowns (Personal Injury $382 in DE, $425 in FL). Also retainer averages."
}
},
{
"@type": "Question",
"name": "What’s the benefit‑cost ratio?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Expected recovery (claim × win prob × solvency) divided by total litigation cost. A ratio >1.2 favors suing; <1 suggests settlement."
}
},
{
"@type": "Question",
"name": "Does it include contingency fees?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. If you select 'Contingency', fee is 33% for tort/personal injury and 25% for other types. No recovery = no fee."
}
},
{
"@type": "Question",
"name": "What about retainer fees?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We incorporated average retainers from your file (bankruptcy $4,015, employment $2,835). Under 'Retainer + hourly', retainer is added upfront."
}
}
]
}
]
}
evidenceSpan.innerText = evidenceRange.value+'/10');
function getSelectedCaseType() {
for (let r of caseRadios) if (r.checked) return r.value;
return 'contract';
}
function calculate() {
let claim = parseFloat(claimInput.value) || 0;
if (claim<0) claim = 0;
const evidence = parseFloat(evidenceRange.value) || 5;
const solvency = parseFloat(solvencySelect.value) || 0.5;
const months = parseFloat(durationSelect.value) || 6;
const state = stateSelect.value;
const baseRate = stateRateMap[state] || 350;
const caseType = getSelectedCaseType();
const feeType = feeArrangement.value;
// Win probability (证据为主,案件类型基础)
let baseProb = 0.62;
if (caseType==='debt') baseProb=0.70;
else if (caseType==='tort') baseProb=0.55;
else if (caseType==='labor') baseProb=0.65;
const evidenceBonus = (evidence/10)*0.28; // max +28%
let winProb = Math.min(0.94, Math.max(0.28, baseProb+evidenceBonus));
winProb = Math.round(winProb*100);
// 计算律师费率 (小时) 考虑执业领域乘数
const multiplier = areaMultiplier[caseType] || 1.0;
const effectiveRate = Math.round(baseRate * multiplier);
// 预估小时数:base 30 + 标的额每1万加0.3小时,复杂/时长加成
let hours = 30 + (claim/10000)*0.3 + (months*2);
hours = Math.min(300, Math.max(15, hours));
let attorneyFee = 0;
let retainerUsed = 0;
if (feeType === 'contingency') {
const contPercent = (caseType==='tort') ? 0.33 : 0.25;
attorneyFee = claim * contPercent;
} else if (feeType === 'retainer') {
retainerUsed = retainerByType[caseType] || 3000;
let hourlyTotal = effectiveRate * hours;
attorneyFee = retainerUsed + Math.max(0, hourlyTotal - retainerUsed*0.7); // 部分抵扣
} else { // hourly
attorneyFee = effectiveRate * hours;
}
attorneyFee = Math.round(attorneyFee);
// court fees & other costs (简化)
let courtFiling = claim<50000?350: (claim<200000?550:800);
let otherExp = (caseType==='tort'? 2500: 1200) + (months*100);
let opportunity = Math.round(claim * 0.005 * (months/3));
let totalCost = courtFiling + attorneyFee + otherExp + opportunity;
// Expected recovery & net
let expectedRecovery = claim * (winProb/100) * solvency;
let netReturn = Math.round(expectedRecovery - totalCost);
let ratio = (expectedRecovery / totalCost).toFixed(2);
// 显示
winProbSpan.innerText = winProb + '%';
totalCostSpan.innerText = '$' + totalCost.toLocaleString();
netReturnSpan.innerText = '$' + (netReturn>0?netReturn:0).toLocaleString();
bcRatioSpan.innerText = ratio;
if (netReturn<=0 || ratio<1.0) verdictSpan.innerText = '⚠️ Not recommended (costs exceed return)';
else if (ratio>=1.8) verdictSpan.innerText = '✅ Strongly recommended to sue';
else if (ratio>=1.2) verdictSpan.innerText = '⚖️ Consider suing – moderate ROI';
else verdictSpan.innerText = '🔄 Gather more evidence / negotiate';
costBreakdown.innerText = `📋 Filing $${courtFiling} | Atty $${attorneyFee} | Other $${otherExp} | OppCost $${opportunity} (rate $${effectiveRate}/hr)`;
}
calcBtn.addEventListener('click', (e) => { e.preventDefault(); calculate(); });
window.addEventListener('load', calculate);
})();