The current flagging system treats normal vehicle maintenance as suspicious behavior. This creates noise and reduces trust. We need to refocus on genuine fraud indicators while celebrating good maintenance practices.
OLD: Flag anything unusual NEW: Flag only genuine fraud/cloning indicators and serious safety issues that aren't being addressed
These are normal vehicle behavior and should NOT be presented as concerns:
Why Remove: This is GOOD BEHAVIOR - garage found issues, fixed them same day, re-tested. This is EXACTLY what should happen.
Real-world: For a 15-year-old car:
- Brake pads wearing out → EXPECTED
- Tyres needing replacement → EXPECTED
- Suspension bushings worn → EXPECTED
- Fixed immediately → EXCELLENT MAINTENANCE
Decision: Remove completely or make purely informational with positive framing: "Quick turnaround repairs completed"
Why Remove: Advisory items GET WORSE over time - that's how wear works!
Real-world:
- Year 1: "Brake pads wearing thin" (advisory)
- Year 2: "Brake pads below minimum" (fail)
- This is NORMAL WEAR, not fraud
Decision: Remove completely. This is how mechanical parts work.
Why Remove: Many vehicles are genuinely low mileage (elderly owners, second cars, stored vehicles)
Decision: Remove as a "concern". Could be informational only: "Below average mileage for age"
Why Remove: People move, shops close, prices vary, quality varies
Decision: Remove entirely unless combined with same-day different locations
Why Remove: Failures require retests. This is normal.
Decision: Remove entirely
Why Remove: Everyone procrastinates. This is human nature.
Decision: Already 0 points, just remove from output
Why Remove: People test when convenient. Working people prefer weekends.
Decision: Remove entirely. This is meaningless.
These ARE legitimate concerns and should remain (or be strengthened):
Why: Physically impossible. Clear cloning indicator.
Why: Clear fraud. Odometer has been tampered with.
Why: VIN says Ford, MOT says BMW = identity fraud
Why: Color changes without documentation can indicate cloning Improve: Only flag if no supporting evidence (respray is normal for old cars)
Why: This is a PRIMARY cloning indicator
Why: Often indicates odometer replacement/tampering Improve: If surrounded by normal progression and only 1 instance, might be legitimate cluster replacement
Why: 200k miles in 6 months is impossible for private vehicles
These CAN indicate problems but need context:
Current Problem: Flags if not fixed within 1 year Reality: If fixed at next MOT (within 12-15 months), this is NORMAL
New Logic:
# Only flag if:
# 1. Dangerous defect appears in FAILED test
# 2. NOT fixed at next test (or skipped MOT entirely)
# 3. OR appears in 2+ consecutive tests without being addressed
# DO NOT FLAG if:
# - Found in advisory
# - Fixed at next annual MOT
# - Only one occurrenceCurrent Problem: Flags if same issue appears twice Reality: Some issues are chronic or complex (rust, emissions)
New Logic:
# Only flag if:
# 1. Same MAJOR failure 3+ times
# 2. AND never properly resolved
# 3. AND spanning 2+ years
# DO NOT FLAG if:
# - Issue was fixed but recurred after 2+ years (could be different component)
# - Minor advisory itemsCurrent Problem: Flags any gap over 1 year Reality: SORN (Statutory Off Road Notification), stored vehicles, COVID, etc.
New Logic:
# Only flag if:
# 1. Gap coincides with suspicious mileage patterns
# 2. Gap is during typical "cloning window" (after acquisition, before sale)
# 3. No SORN record and gap unexplained
# DO NOT FLAG if:
# - Car is old and might be stored
# - Single gap with reasonable explanation
# - SORN period indicated in DVLA dataCurrent Problem: Flags identical mileage Reality: Stored vehicles, barely driven during COVID, etc.
New Logic:
# Only flag if:
# 1. Multiple consecutive tests with identical mileage AND
# 2. Surrounded by high mileage periods (indicates disconnected odometer)
# DO NOT FLAG if:
# - Single occurrence
# - Vehicle age suggests might be stored/rarely used
# - Low absolute mileage (classic car territory)Missing important indicators:
Why: Major chassis rust that keeps appearing suggests serious structural issues Logic: Same structural component fails for rust 2+ times
Why: Certain makes/models are commonly cloned (Range Rover, BMW M series, etc.) Logic: Cross-reference with theft statistics for make/model
Why: Car marked for export but still being tested in UK is suspicious Logic: DVLA shows export marker but MOT tests continue
Current system gives points to everything. New system:
CRITICAL (Block/Warn) - 40+ points:
multiple_test_locations_same_daymileage_rollback(significant, 10k+ miles)manufacturer_mismatchregistration_change_detected
HIGH (Strong Warning) - 20-39 points:
impossible_mileage_increasezero_mileage_reading(multiple occurrences)color_change(undocumented)
MEDIUM (Investigate) - 10-19 points:
dangerous_defect_ignored(using new logic)recurring_same_failure(using new logic)suspicious_mileage_pattern(multiple minor anomalies)
LOW (Minor Note) - 1-9 points:
- NOTHING. If it's this minor, don't show it.
INFORMATIONAL (0 points):
- Same-day fail then pass → Show as POSITIVE: "Maintenance: Issues identified and resolved same day"
- Mileage below average → "Lower than average mileage for vehicle age"
Current scale is too sensitive. Suggestions:
0-10: Excellent - No issues detected 11-25: Good - Minor points to note 26-45: Caution - Some concerns warrant attention 46-70: High Risk - Significant irregularities detected 71-100: Critical - Major red flags, avoid purchase
Vehicle: 15-year-old car Current Flags:
- Same-day fail then pass (2 occurrences) → 6 points total
- Brake pads, tyres, suspension items replaced
Current System Says: "Issues detected" Reality: This car is WELL MAINTAINED
New System Should Say:
- Risk Score: 5-10 (Excellent)
- Summary: "All checks look standard, nothing of concern"
- Optional Info: "Vehicle shows good maintenance history with issues addressed promptly"
Phase 1 (Immediate - High Impact):
- ❌ Remove
same_day_fail_passflag entirely - ❌ Remove
advisory_escalationflag entirely - 🔄 Fix
dangerous_defect_ignoredlogic (only flag if not fixed for 2+ years) - 📊 Recalibrate risk score thresholds
Phase 2 (Short term):
5. 🔄 Improve recurring_same_failure logic
6. 🔄 Improve mot_history_gap logic
7. ❌ Remove noise flags (seasonal bias, weekend patterns, etc.)
Phase 3 (Medium term): 8. ➕ Add new meaningful flags 9. 🎯 Add vehicle age awareness throughout system 10. 📝 Improve flag descriptions to be more accurate
Current System: Flags normal maintenance as concerning New System: Celebrates good maintenance, flags real fraud
Current Risk Assessment: 15-year-old well-maintained car = "Issues detected" New Risk Assessment: 15-year-old well-maintained car = "Excellent condition"
Focus: Cloning detection, odometer fraud, identity mismatches Ignore: Normal wear, maintenance, human behavior patterns