Thresholds indicate replace, based on three levers that fired:
- Single-quote vs replacement benchmark: observed 30.3% against a 25.0% limit (ratio from the $44,000 benchmark).
- Single repair dollar cap: the quoted amount is $13,338.0 against a $10,000.0 cap.
- Repeat-repair frequency: 7 repairs in the trailing 12 months against a 4.0 limit.
Band is “all,” so the single-repair levers were applied.
Why manual_review before acting: The quote source is a comment entry, and the site’s note raises contradictions about what is being purchased (a standalone battery vs a truck repair) and about the installed battery’s serial/ownership/warranty. The replacement benchmark on file is a capacity-band estimate “pending dealer quotes.” Given these uncertainties, a human should confirm (1) whether the $13,338.0 item is a transferable battery purchase or a repair tied to this truck, and (2) that the $44,000 benchmark is the right comparator for this specific Landoll Bendi configuration. If those are confirmed, the fired thresholds support replacement; if not, the decision may change.
Figures used
- facts.ratios.quote_pct_of_replacement = 30.3
- facts.thresholds.values.quote_pct_of_replacement = 25.0
- facts.quote.amount = 13338.0
- facts.thresholds.values.max_single_repair_usd = 10000.0
- facts.spend.ttm_repair_count = 7
- facts.thresholds.values.max_repairs_ttm = 4.0
- facts.replacement_benchmark.est_replacement_cost = 44000
Rules cited
- “quote_pct_of_replacement”
- “max_single_repair_usd”
- “max_repairs_ttm”
From v1.0 draft (consolidated, unapproved), saved by consolidation (pending Matt's review). This decision is permanently tied to that version even if the rules change later.
Threshold check
t1.4 2026-08-26 · compared in code, not by the model
ALL BAND
no mature age is set, so every lever is tested.
| Lever | This unit | Replace at | Reading |
|---|---|---|---|
| Replace when a single quote reaches ratios.quote_pct_of_replacement |
30.3 % | 25.0 % | AT OR OVER |
| Replace when a single repair invoice exceeds quote.amount |
13338.0 $ | 10000.0 $ | AT OR OVER |
| Flag when repairs in 12 months reach spend.ttm_repair_count |
7 repairs | 4.0 repairs | AT OR OVER |
The unit
Full history →- Unit
- FL-00770
- Make / model
- Landoll B40/48AC180D
- Power
- electric · 4,000 lb
- Site
- 45 Brunswick (Tiles), New Jersey
- Age
- 4.72 yrs (acquired 2022-01-26)
- Hour meter
- 9,460 @ 2026-06-25
- Hours / year
- 2,628
- Readings
- 8 (1 implausible)
- Invoices
- 8
- Last service
- 2026-06-25
- Spend seen
- $6,667.44
- Trailing 12mo
- $6,667.44
- Replacement
- $44,000
- Quote / repl.
- 30.3%
- Spend / repl.
- 15.2%
Repair history behind this
What did you actually do?
Recording the real outcome is what lets this tool be backtested against Matt's judgement. It takes a click.
Outcomes are recorded under a named account. Sign in to record what was done.
Full facts record (d0.2 · openai:gpt-5)
{
"as_of": "2026-10-15",
"asset": {
"acquire_date": "2022-01-26",
"age_years": 4.72,
"asset_id": "FL-00770",
"capacity_lbs": 4000,
"make": "Landoll",
"model": "B40/48AC180D",
"power_type": "electric",
"serial": "B40/48ACHL-1706A-10359",
"site_name": "45 Brunswick (Tiles), New Jersey",
"source": "asset_master",
"status": "active",
"wh_code": "NJED-45"
},
"coverage": {
"invoice_window_end": "2026-07-28",
"invoice_window_months": 33,
"invoice_window_start": "2023-10-19",
"invoices_in_system": 2108
},
"data_gaps": [],
"economics": {
"book_value": 15840.0,
"book_value_basis": "(1 - 4.7/10) x $30,000, floored at 0",
"est_acquisition_cost": 30000,
"est_replacement_cost": 44000,
"est_useful_life_yrs": 10,
"fully_depreciated": false
},
"found": true,
"history": [
{
"doc_type": "repair",
"file_ref": "4931494_Autoc64635cf-d3b8-4a61-a1e4-209539e67dcc~APWH_20260708224759.pdf",
"flag_codes": "NO_PO;CONSUMABLE_FLAT;FAVORABLE",
"invoice_id": 1310,
"needs_review": 0,
"on_date": "2026-06-25",
"total": 745.27,
"vendor_id": "HIEQRE"
},
{
"doc_type": "repair",
"file_ref": "4880693_Auto62d690be-1bdc-410f-8c2d-537b8c8ab1f6~APWH_20260629100202.pdf",
"flag_codes": "NO_PO;FAVORABLE",
"invoice_id": 1208,
"needs_review": 0,
"on_date": "2026-06-09",
"total": 469.15,
"vendor_id": "HIEQRE"
},
{
"doc_type": "pm",
"file_ref": "4728986_Auto1bdf762b-b979-44e2-94fe-fd159b6d3129~APWH_20260521093332.pdf",
"flag_codes": "NO_PO;CONSUMABLE_FLAT;FAVORABLE",
"invoice_id": 993,
"needs_review": 0,
"on_date": "2026-05-04",
"total": 1690.62,
"vendor_id": "HIEQRE"
},
{
"doc_type": "repair",
"file_ref": "4696734_Autocaec948d-0123-4043-ab99-cd4eaa8b8040~APWH_20260511114603_1.pdf",
"flag_codes": "NO_PO;RATE_INFERRED;FAVORABLE;PART_NARRATIVE_MISMATCH",
"invoice_id": 1885,
"needs_review": 0,
"on_date": "2026-04-30",
"total": 1462.32,
"vendor_id": "HIEQRE"
},
{
"doc_type": "repair",
"file_ref": "4551363_Auto5f70f605-3958-4f42-b21d-cf893cfad005~APWH_20260306131002_3.pdf",
"flag_codes": "NO_PO;FAVORABLE",
"invoice_id": 1671,
"needs_review": 0,
"on_date": "2026-02-25",
"total": 500.07,
"vendor_id": "HIEQRE"
},
{
"doc_type": "repair",
"file_ref": "4551360_Auto01161f2a-d979-41ff-992b-f72a106b76cd~APWH_20260306131002.pdf",
"flag_codes": "NO_PO;FAVORABLE",
"invoice_id": 472,
"needs_review": 0,
"on_date": "2026-02-24",
"total": 117.29,
"vendor_id": "HIEQRE"
},
{
"doc_type": "repair",
"file_ref": "4523498_Auto6aa5f7e6-3c74-4274-ad25-4e5a08d78ded~APWH_20260227064002_1.pdf",
"flag_codes": "NO_PO;FAVORABLE",
"invoice_id": 1646,
"needs_review": 0,
"on_date": "2026-02-18",
"total": 592.86,
"vendor_id": "HIEQRE"
},
{
"doc_type": "repair",
"file_ref": "4383733_Autofd544133-1d0d-41ef-b23f-aad4407ee95e~APWH_20260119113222.pdf",
"flag_codes": "NO_PO;VAGUE_LINE;PART_NARRATIVE_MISMATCH;CONSUMABLE_FLAT;FAVORABLE;INVOICE_LAG",
"invoice_id": 163,
"needs_review": 0,
"on_date": "2025-10-24",
"total": 1089.86,
"vendor_id": "HIEQRE"
}
],
"meter": {
"est_hours_per_year": 2628,
"implausible_readings": 1,
"last_reading_date": "2026-06-25",
"last_reading_hours": 9460,
"last_reading_source": "invoice",
"readings_on_file": 8
},
"quote": {
"amount": 13338.0,
"source": "comment",
"symptom_text": "Assessment request, not purchase approval. Bendi 770 at NJED serial B40/48ACHL-1706A-10359. Daniel reports 10,204 hours as of Oct 15 2026 (supersedes June9460), failed battery manufactured2017 reportedly came with lift acquiredJan2022. Actual dealer quote new comparable B40AC-HL INCLUDING battery $128,956 pretax; generic $44,000 electric4k benchmark is inappropriate. $13,338 quote is standalone EnerSys 24-E100-21 battery transferable to 10 other existing Bendis, not nontransferable truck overhaul. Evaluate battery as separately reusable fleet asset; flag no automatic retirement from \u003e$10k repair limit. Invoice review shows $6,667.44 observed 2025Oct-2026Jun, including PM/wear and fork-positioner diagnostic plus next-day completion, no established major current mechanical failure; July-Oct records incomplete. Material conflicting source: Highlander invoices including39272 dated2026-07-20 list Hawker24-85-21 serialRXI00577499 installed in Bendi#770, delivered2023-10-19, payment34/36 at$227/mo plus tax. Reconcile installed battery serial, ownership, warranty and charging/diagnosis before any purchase. User\u0027s preferred framework: reliable units stay; hours/age trigger review not forced replacement; batteries excluded from nonroutine mechanical repair threshold while included in fleet economics.",
"vendor_id": null
},
"ratios": {
"age_pct_of_est_useful_life": 47.2,
"lifetime_spend_seen_pct_of_replacement": 15.2,
"quote_pct_of_book_value": 84.2,
"quote_pct_of_replacement": 30.3,
"quote_plus_ttm_pct_of_replacement": 45.5,
"spend_seen_per_meter_hour": 0.7,
"ttm_spend_pct_of_replacement": 15.2
},
"replacement_benchmark": {
"as_of": "2026-08-25",
"est_replacement_cost": 44000,
"est_useful_life_yrs": 10,
"matched_by": "power type + capacity band",
"model_match": null,
"source": "market research 2026-08 (inferred, pending dealer quotes)"
},
"spend": {
"invoices_matched": 8,
"last_service_date": "2026-06-25",
"lifetime_spend_seen": 6667.44,
"out_of_scope_invoices": 0,
"out_of_scope_spend": 0.0,
"ttm_invoice_count": 8,
"ttm_repair_count": 7,
"ttm_spend": 6667.44
},
"thresholds": {
"band": {
"band": "all",
"reason": "no mature age is set, so every lever is tested",
"single_repair_levers": true
},
"clear_repair": null,
"fired": [
{
"label": "Replace when a single quote reaches",
"limit": 25.0,
"observed": 30.3,
"source": "ratios.quote_pct_of_replacement",
"threshold": "quote_pct_of_replacement",
"unit": "%"
},
{
"label": "Replace when a single repair invoice exceeds",
"limit": 10000.0,
"observed": 13338.0,
"source": "quote.amount",
"threshold": "max_single_repair_usd",
"unit": "$"
},
{
"label": "Flag when repairs in 12 months reach",
"limit": 4.0,
"observed": 7,
"source": "spend.ttm_repair_count",
"threshold": "max_repairs_ttm",
"unit": "repairs"
}
],
"mapped_recommendation": "replace",
"retired": [
"replace_age_years",
"replace_meter_hours"
],
"skipped": [],
"threshold_version_id": 5,
"untestable": [],
"values": {
"lifetime_spend_pct_of_replacement": 200.0,
"max_repairs_ttm": 4.0,
"max_single_repair_usd": 10000.0,
"max_ttm_spend_usd": 20000.0,
"quote_pct_of_book_value": 200.0,
"quote_pct_of_replacement": 25.0,
"repair_below_quote_pct": 5.0,
"replace_age_years": 20.0,
"replace_meter_hours": 20000.0,
"ttm_spend_pct_of_replacement": 50.0
},
"verdict": "replace_indicated",
"version_label": "t1.4 2026-08-26"
}
}