Worked example: Damages Allocation in Michigan
8 min read
Published April 15, 2026 • By DocketMath Team
Example inputs
Run this scenario in DocketMath using the Damages Allocation calculator.
Below is a worked example showing how DocketMath’s damages-allocation calculator can be used for a Michigan matter involving multiple damage categories. This example illustrates how jurisdiction-aware rules and Michigan’s general statute of limitations can be applied when allocating and summarizing damages.
Note: This is for illustration and workflow planning, not legal advice. Damage allocation can be sensitive to pleadings, contract language, and case posture. Use this as a starting point and confirm assumptions with your team.
Primary CTA: you can run this workflow in the damages-allocation tool here: /tools/damages-allocation
Scenario (Michigan, US-MI)
Assume a plaintiff alleges:
- Breach of contract (economic damages)
- Unjust enrichment (often pled alternatively or in support of equitable recovery)
- Interest and costs (tracked separately, depending on how your team defines “damages” in the model)
The goal is to allocate claimed amounts across time to reflect Michigan’s general limitations period (not a claim-specific shortcut), per the jurisdiction data provided.
Michigan limitations rule used in this example
DocketMath uses a default/general rule in this worked example because the brief notes:
- General SOL period: 6 years
- General statute: **MCL § 767.24(1)
- Source: Michigan.gov
- No claim-type-specific sub-rule was found in the provided jurisdiction data
So, for this example only, we apply the general/default 6-year period rather than a shorter/specialized period that could apply to particular claim types in other circumstances.
Case timeline inputs
Select the dates that match your fact pattern and case record:
- Date of last alleged wrongful act (trigger proxy): 2020-01-15
- Date lawsuit filed: 2025-02-10
- First year of claimed damages included in your dataset: 2018
- Latest year of claimed damages included in your dataset: 2024
Claimed damages dataset (annual buckets)
Model damages in a year-by-year table. For illustration:
| Year | Contract damages | Unjust enrichment damages | Interest accrued (separate bucket) |
|---|---|---|---|
| 2018 | 25,000 | 10,000 | 2,500 |
| 2019 | 40,000 | 15,000 | 3,500 |
| 2020 | 60,000 | 20,000 | 4,000 |
| 2021 | 70,000 | 25,000 | 4,500 |
| 2022 | 75,000 | 30,000 | 5,000 |
| 2023 | 80,000 | 35,000 | 5,500 |
| 2024 | 90,000 | 40,000 | 6,000 |
How to think about the allocation window: this example treats “recoverability” as the portion of damages that falls within the 6-year limitations window measured from the trigger proxy to the filing date, using the inputs as entered.
Why the time window matters for allocation
If your dataset includes years that fall outside the limitations window, DocketMath can allocate totals into:
- “Within limitations” (years/days included)
- “Outside limitations” (years/days excluded)
Then it summarizes totals based on that split.
In practice, confirm with your case team whether:
- the trigger proxy aligns with how the claim’s accrual is treated, and
- the filing date (and any tolling assumptions) match your workflow.
This example uses the timeline inputs above exactly.
Example run
This is how the damages-allocation run is structured in DocketMath for this Michigan example.
Run the Damages Allocation calculator using the example inputs above. Review the breakdown for intermediate steps (segments, adjustments, or rate changes) so you can see how each input moves the output. Save the result for reference and compare it to your actual scenario.
Step 1: Enter jurisdiction and limitations parameters
- Jurisdiction: **Michigan (US-MI)
- General SOL: 6 years
- Rule source: MCL § 767.24(1) (general/default rule used in this example)
- Disclaimer: This example uses only the provided general/default rule. No special claim-type sub-rule is applied because the jurisdiction data did not identify one.
Step 2: Set the trigger and filing dates
- Trigger proxy date: 2020-01-15
- Filing date: 2025-02-10
A 6-year lookback from 2020-01-15 reaches an approximate start of the window of:
- Start of limitations window (approx.): 2014-01-15
Because the dataset begins in 2018 and runs through 2024, every year in the dataset (2018–2024) falls within the 6-year window in this scenario.
Step 3: Allocate by year buckets
Since all included years are within 6 years, the allocation results show:
- Within limitations: 100% of listed contract and unjust enrichment damages (and the interest bucket, if your configuration rolls interest into the “damages” view)
- Outside limitations: $0
Output (illustrative totals)
Compute totals from the dataset:
Contract damages total (2018–2024)
25,000 + 40,000 + 60,000 + 70,000 + 75,000 + 80,000 + 90,000 = 440,000Unjust enrichment damages total (2018–2024)
10,000 + 15,000 + 20,000 + 25,000 + 30,000 + 35,000 + 40,000 = 175,000Interest bucket total (2018–2024)
2,500 + 3,500 + 4,000 + 4,500 + 5,000 + 5,500 + 6,000 = 31,000Combined damages total (excluding interest if kept separate)
440,000 + 175,000 = 615,000Combined total including interest (if rolled up)
615,000 + 31,000 = 646,000
Example allocation summary (split by window)
| Category | Within limitations | Outside limitations |
|---|---|---|
| Contract damages | $440,000 | $0 |
| Unjust enrichment damages | $175,000 | $0 |
| Interest bucket | $31,000 | $0 |
What to learn from this run: under these specific dates, nothing in the dataset gets excluded, so the “recoverable” allocation equals the full dataset totals.
Pitfall: A dataset that appears “timely” can become partially barred if the trigger date used for the lookback changes (for example, using a different “last act” date or a different accrual proxy). Allocation changes when trigger/filing inputs change.
Sensitivity check
This section shows how allocation responds when you change one or two inputs while keeping the damages dataset structure the same.
To test sensitivity, change one high-impact input (like the rate, start date, or cap) and rerun the calculation. Compare the outputs side by side so you can see how small input shifts affect the result.
A) Sensitivity change that should NOT alter the split
Keep the dataset (2018–2024 annual buckets) the same, but adjust the trigger proxy later while leaving the filing date unchanged:
- New trigger proxy date: 2019-12-01
- Filing date: 2025-02-10
- General SOL remains 6 years under **MCL § 767.24(1)
Even with this later trigger, the 6-year lookback start is still before 2018, so years 2018–2024 remain inside the limitations window.
Expected result: allocation remains fully within limitations (no meaningful split).
B) Sensitivity change that DOES alter the split (need older years in the dataset)
To create an “outside limitations” result with a later trigger, you typically need the dataset to include older years that fall before the computed window start.
Start with this sensitivity setup:
- Trigger proxy date: 2021-03-01
- Filing date: 2025-02-10
- Approx. 6-year window start: ~2015-03-01
Now compare against a dataset that includes earlier years. For example, extend the dataset backward:
| Year | Contract damages | Unjust enrichment damages | Interest accrued |
|---|---|---|---|
| 2012 | 10,000 | 5,000 | 500 |
| 2013 | 12,000 | 6,000 | 600 |
| 2014 | 15,000 | 7,000 | 700 |
| 2015 | 20,000 | 8,000 | 800 |
| 2016 | 22,000 | 9,000 | 900 |
| 2017 | 24,000 | 10,000 | 1,000 |
| 2018–2024 | (same values as prior table) | (same) | (same) |
With a window start of approximately 2015-03-01:
- Some portion of 2015 and earlier years could be treated as outside, depending on how your bucket mapping works (whole-year vs day-level logic).
- A practical, whole-year approach often makes it easy to reason about the split.
If you allocate using whole-year buckets (a common modeling simplification), one workable example split is:
- Within limitations: roughly 2016–2024
- Outside limitations: roughly 2012–2015
Because DocketMath’s configuration can follow your chosen bucket method, confirm the year/day mapping behavior in your workflow.
Quick checklist to debug surprising splits
- Did you update the trigger proxy date used for the SOL lookback?
- Does your dataset include years earlier than the computed window start?
- Are you rolling interest into the damages rollup or keeping it separate?
- Are your time buckets treated as whole years or at a day-level (if configured)?
