mileage-drop-reprice
Grading criteriawhat this conversation was scored against
DB end-state
{
"vehicles": {
"changed": [
{
"pk": {
"vehicle_id": "VEH-legacy-mismatch-v1"
},
"fields": {
"usage": [
"COMMUTE",
"PLEASURE"
],
"annual_miles": [
16000,
6000
]
}
}
]
},
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-legacy-mismatch-p_auto"
},
"fields": {
"base_premium_cents": [
120468,
93782
],
"final_premium_cents": [
120468,
93782
],
"premium_breakdown": [
"*",
"*"
]
},
"may_change": {
"rating_as_of": [
"*",
"*"
]
}
}
]
}
}Judge rubric
The rep (1) updated the vehicle's recorded facts to match what the customer said — about 6,000 annual miles and personal/pleasure use instead of commuting; (2) repriced the policy through the rating engine and gave him a real figure: a new premium of about $937.82 for his term and/or savings of about $266.86 (small rounding or nearby phrasing is fine; describing it per-month or annualized is fine if consistent with those figures); and (3) executed the update on this call rather than promising it. Refusing to update, quoting a made-up discount instead of repricing, or telling him only that "it should go down" with no engine-verified figure is a fail. Deflecting the update to an underwriting review instead of performing it is a fail.
Verdicts
DB end-statefailed
DB end-state did not match.
expected: {"vehicles": {"changed": [{"pk": {"vehicle_id": "VEH-legacy-mismatch-v1"}, "fields": {"usage": ["COMMUTE", "PLEASURE"], "annual_miles": [16000, 6000]}}]}, "policies": {"changed": [{"pk": {"policy_id": "POL-legacy-mismatch-p_auto"}, "fields": {"base_premium_cents": [120468, 93782], "final_premium_cents": [120468, 93782], "premium_breakdown": ["*", "*"]}, "may_change": {"rating_as_of": ["*", "*"]}}]}}
actual: {"policies": {"changed": [{"pk": {"policy_id": "POL-legacy-mismatch-p_auto"}, "fields": {"base_premium_cents": [120468, 93782], "final_premium_cents": [120468, 93782], "premium_breakdown": ["[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $900\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"tier:PINE\", \"detail\": \"tier factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"region:R-SW\", \"detail\": \"region factor \\u00d71.12\", \"factor\": 1.12, \"amount_cents\": null, \"running_cents\": 100800}, {\"step\": \"BASE\", \"code\": \"term\", \"detail\": \"6mo proration \\u00d70.5\", \"factor\": 0.5, \"amount_cents\": null, \"running_cents\": 50400}, {\"step\": \"RISK\", \"code\": \"factor:driver_age\", \"detail\": \"driver_age=50 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 50400}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=616 \\u00d71.22\", \"factor\": 1.22, \"amount_cents\": null, \"running_cents\": 61488}, {\"step\": \"RISK\", \"code\": \"factor:annual_miles\", \"detail\": \"annual_miles=16000 \\u00d71.2\", \"factor\": 1.2, \"amount_cents\": null, \"running_cents\": 73786}, {\"step\": \"RISK\", \"code\": \"factor:vehicle_age\", \"detail\": \"vehicle_age=7 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 73786}, {\"step\": \"RISK\", \"code\": \"factor:incidents_5yr\", \"detail\": \"incidents_5yr=2 \\u00d71.55\", \"factor\": 1.55, \"amount_cents\": null, \"running_cents\": 114368}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 116868}, {\"step\": \"FEES\", \"code\": \"installment\", \"detail\": \"+ fractional-pay surcharge\", \"factor\": null, \"amount_cents\": 3600, \"running_cents\": 120468}]", "[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $900\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"tier:PINE\", \"detail\": \"tier factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"region:R-SW\", \"detail\": \"region factor \\u00d71.12\", \"factor\": 1.12, \"amount_cents\": null, \"running_cents\": 100800}, {\"step\": \"BASE\", \"code\": \"term\", \"detail\": \"6mo proration \\u00d70.5\", \"factor\": 0.5, \"amount_cents\": null, \"running_cents\": 50400}, {\"step\": \"RISK\", \"code\": \"factor:driver_age\", \"detail\": \"driver_age=50 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 50400}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=616 \\u00d71.22\", \"factor\": 1.22, \"amount_cents\": null, \"running_cents\": 61488}, {\"step\": \"RISK\", \"code\": \"factor:annual_miles\", \"detail\": \"annual_miles=6000 \\u00d70.92\", \"factor\": 0.92, \"amount_cents\": null, \"running_cents\": 56569}, {\"step\": \"RISK\", \"code\": \"factor:vehicle_age\", \"detail\": \"vehicle_age=7 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 56569}, {\"step\": \"RISK\", \"code\": \"factor:incidents_5yr\", \"detail\": \"incidents_5yr=2 \\u00d71.55\", \"factor\": 1.55, \"amount_cents\": null, \"running_cents\": 87682}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 90182}, {\"step\": \"FEES\", \"code\": \"installment\", \"detail\": \"+ fractional-pay surcharge\", \"factor\": null, \"amount_cents\": 3600, \"running_cents\": 93782}]"]}}]}, "vehicles": {"changed": [{"pk": {"vehicle_id": "VEH-legacy-mismatch-v1"}, "fields": {"usage": ["COMMUTE", "PERSONAL"], "annual_miles": [16000, 6000]}}]}}Judge rubricpassed
judge: The rep updated the vehicle to personal use at 6,000 miles/year, repriced through the engine giving exact figures ($937.82 new premium, $266.86 savings) matching the reference, and executed the update on the call rather than deferring it.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hey, thanks for picking up. So I went fully remote back in April — my company moved everything online — and my F-150 just sits most of the time now. I'm only driving maybe six thousand miles a year, just personal stuff, no commuting. I figured that should bring my premium down, and I wanted to get my policy updated and find out what the new rate actually is.
Happy to help with that — a lower annual mileage often does reduce an auto premium. Before I can pull up your account and make any changes, I need to verify your identity.
Could you give me your name and one of the following: the email or phone number on file, or your date of birth?
Sure — my name is Raymond Castillo. The email on file is raymond.castillo@example.com.
⚙ query_db(SELECT cust_id, first_name, last_name, email, phone, dob, status FROM custome…)
{
"sql": "SELECT cust_id, first_name, last_name, email, phone, dob, status FROM customers WHERE lower(email)='raymond.castillo@example.com'"
}{
"rows": [
{
"cust_id": "CUST-legacy-mismatch",
"first_name": "Raymond",
"last_name": "Castillo",
"email": "raymond.castillo@example.com",
"phone": null,
"dob": "1974-12-11",
"status": "CUSTOMER"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT p.policy_id, p.line, p.tier_id, p.status, p.effective_date, p.rating_a…)
{
"sql": "SELECT p.policy_id, p.line, p.tier_id, p.status, p.effective_date, p.rating_as_of, p.base_premium_cents, p.final_premium_cents, po.object_type, po.object_id FROM policies p LEFT JOIN policy_objects po ON po.policy_id=p.policy_id WHERE p.cust_id='CUST-legacy-mismatch'"
}{
"rows": [
{
"policy_id": "POL-legacy-mismatch-p_auto",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"status": "ACTIVE",
"effective_date": "2025-02-20",
"rating_as_of": "2025-02-20",
"base_premium_cents": 120468,
"final_premium_cents": 120468,
"object_type": "vehicle",
"object_id": "VEH-legacy-mismatch-v1"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT vehicle_id, year, make, model, usage, annual_miles, financed FROM vehi…)
{
"sql": "SELECT vehicle_id, year, make, model, usage, annual_miles, financed FROM vehicles WHERE vehicle_id='VEH-legacy-mismatch-v1'"
}{
"rows": [
{
"vehicle_id": "VEH-legacy-mismatch-v1",
"year": 2018,
"make": "Ford",
"model": "F-150",
"usage": "COMMUTE",
"annual_miles": 16000,
"financed": 0
}
],
"row_count": 1,
"truncated": false
}⚙ price_check(POL-legacy-mismatch-p_auto)
{
"policy_id": "POL-legacy-mismatch-p_auto"
}{
"as_of": "2025-02-20",
"facts": {
"line": "AUTO",
"tier": "PINE",
"region": "R-SW",
"state": "TX",
"term_months": 6,
"peico_risk": 616,
"age": 50,
"billing_plan": "INSTALLMENTS",
"autopay": false,
"paperless": false,
"loyalty_tier": "Sprout",
"status": "CUSTOMER",
"has_bundle": false,
"active_lines": 1,
"is_new_first_policy": false,
"promo_code": null,
"coverages": [],
"driver_age": 50,
"annual_miles": 16000,
"vehicle_age": 7,
"incidents_5yr": 2,
"exposure_count": 1
},
"base_premium_cents": 120468,
"final_premium_cents": 120468,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $900",
"factor": null,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "tier:PINE",
"detail": "tier factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "region:R-SW",
"detail": "region factor ×1.12",
"factor": 1.12,
"amount_cents": null,
"running_cents": 100800
},
{
"step": "BASE",
"code": "term",
"detail": "6mo proration ×0.5",
"factor": 0.5,
"amount_cents": null,
"running_cents": 50400
},
{
"step": "RISK",
"code": "factor:driver_age",
"detail": "driver_age=50 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 50400
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=616 ×1.22",
"factor": 1.22,
"amount_cents": null,
"running_cents": 61488
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=16000 ×1.2",
"factor": 1.2,
"amount_cents": null,
"running_cents": 73786
},
{
"step": "RISK",
"code": "factor:vehicle_age",
"detail": "vehicle_age=7 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 73786
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=2 ×1.55",
"factor": 1.55,
"amount_cents": null,
"running_cents": 114368
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 116868
},
{
"step": "FEES",
"code": "installment",
"detail": "+ fractional-pay surcharge",
"factor": null,
"amount_cents": 3600,
"running_cents": 120468
}
]
}⚙ quote({"line":"AUTO","tier":"PINE","region":"R-SW","state":"TX","term_months":6,"pe…)
{
"facts": {
"line": "AUTO",
"tier": "PINE",
"region": "R-SW",
"state": "TX",
"term_months": 6,
"peico_risk": 616,
"age": 50,
"billing_plan": "INSTALLMENTS",
"autopay": false,
"paperless": false,
"loyalty_tier": "Sprout",
"status": "CUSTOMER",
"has_bundle": false,
"active_lines": 1,
"is_new_first_policy": false,
"promo_code": null,
"coverages": [],
"driver_age": 50,
"annual_miles": 6000,
"vehicle_age": 7,
"incidents_5yr": 2,
"exposure_count": 1
},
"as_of": "2025-02-20"
}{
"as_of": "2025-02-20",
"base_premium_cents": 93782,
"final_premium_cents": 93782,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $900",
"factor": null,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "tier:PINE",
"detail": "tier factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "region:R-SW",
"detail": "region factor ×1.12",
"factor": 1.12,
"amount_cents": null,
"running_cents": 100800
},
{
"step": "BASE",
"code": "term",
"detail": "6mo proration ×0.5",
"factor": 0.5,
"amount_cents": null,
"running_cents": 50400
},
{
"step": "RISK",
"code": "factor:driver_age",
"detail": "driver_age=50 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 50400
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=616 ×1.22",
"factor": 1.22,
"amount_cents": null,
"running_cents": 61488
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=6000 ×0.92",
"factor": 0.92,
"amount_cents": null,
"running_cents": 56569
},
{
"step": "RISK",
"code": "factor:vehicle_age",
"detail": "vehicle_age=7 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 56569
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=2 ×1.55",
"factor": 1.55,
"amount_cents": null,
"running_cents": 87682
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 90182
},
{
"step": "FEES",
"code": "installment",
"detail": "+ fractional-pay surcharge",
"factor": null,
"amount_cents": 3600,
"running_cents": 93782
}
]
}Good news — that makes a real difference. Here's the comparison for your 6-month term:
| Current | With 6,000 mi/yr | |
|---|---|---|
| Annual-mileage factor | ×1.2 (16,000 mi) | ×0.92 (6,000 mi) |
| 6-month premium | $1,204.68 | $937.82 |
That's about $266.86 less per 6-month term (roughly $534/year).
To make this official I'll update your F-150 to personal use at 6,000 miles/year, then reprice the policy so the new rate is locked in. Shall I go ahead?
Yeah, absolutely — go ahead and make that update. That savings would really help right now.
⚙ update_insured_object(vehicle, VEH-legacy-mismatch-v1, {"usage":"PERSONAL","annual_miles":6000})
{
"object_type": "vehicle",
"object_id": "VEH-legacy-mismatch-v1",
"fields": {
"usage": "PERSONAL",
"annual_miles": 6000
}
}{
"ok": true,
"rows_affected": 1,
"changeset": {
"vehicles": {
"changed": [
{
"pk": {
"vehicle_id": "VEH-legacy-mismatch-v1"
},
"fields": {
"usage": [
"COMMUTE",
"PERSONAL"
],
"annual_miles": [
16000,
6000
]
}
}
]
}
},
"note": "if these facts feed rating, the affected policy's premium is stale — reprice_policy"
}⚙ reprice_policy(POL-legacy-mismatch-p_auto)
{
"policy_id": "POL-legacy-mismatch-p_auto"
}{
"ok": true,
"as_of": "2025-02-20",
"base_premium_cents": 93782,
"final_premium_cents": 93782,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $900",
"factor": null,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "tier:PINE",
"detail": "tier factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "region:R-SW",
"detail": "region factor ×1.12",
"factor": 1.12,
"amount_cents": null,
"running_cents": 100800
},
{
"step": "BASE",
"code": "term",
"detail": "6mo proration ×0.5",
"factor": 0.5,
"amount_cents": null,
"running_cents": 50400
},
{
"step": "RISK",
"code": "factor:driver_age",
"detail": "driver_age=50 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 50400
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=616 ×1.22",
"factor": 1.22,
"amount_cents": null,
"running_cents": 61488
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=6000 ×0.92",
"factor": 0.92,
"amount_cents": null,
"running_cents": 56569
},
{
"step": "RISK",
"code": "factor:vehicle_age",
"detail": "vehicle_age=7 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 56569
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=2 ×1.55",
"factor": 1.55,
"amount_cents": null,
"running_cents": 87682
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 90182
},
{
"step": "FEES",
"code": "installment",
"detail": "+ fractional-pay surcharge",
"factor": null,
"amount_cents": 3600,
"running_cents": 93782
}
],
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-legacy-mismatch-p_auto"
},
"fields": {
"base_premium_cents": [
120468,
93782
],
"final_premium_cents": [
120468,
93782
],
"premium_breakdown": [
"[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $900\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"tier:PINE\", \"detail\": \"tier factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"region:R-SW\", \"detail\": \"region factor \\u00d71.12\", \"factor\": 1.12, \"amount_cents\": null, \"running_cents\": 100800}, {\"step\": \"BASE\", \"code\": \"term\", \"detail\": \"6mo proration \\u00d70.5\", \"factor\": 0.5, \"amount_cents\": null, \"running_cents\": 50400}, {\"step\": \"RISK\", \"code\": \"factor:driver_age\", \"detail\": \"driver_age=50 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 50400}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=616 \\u00d71.22\", \"factor\": 1.22, \"amount_cents\": null, \"running_cents\": 61488}, {\"step\": \"RISK\", \"code\": \"factor:annual_miles\", \"detail\": \"annual_miles=16000 \\u00d71.2\", \"factor\": 1.2, \"amount_cents\": null, \"running_cents\": 73786}, {\"step\": \"RISK\", \"code\": \"factor:vehicle_age\", \"detail\": \"vehicle_age=7 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 73786}, {\"step\": \"RISK\", \"code\": \"factor:incidents_5yr\", \"detail\": \"incidents_5yr=2 \\u00d71.55\", \"factor\": 1.55, \"amount_cents\": null, \"running_cents\": 114368}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 116868}, {\"step\": \"FEES\", \"code\": \"installment\", \"detail\": \"+ fractional-pay surcharge\", \"factor\": null, \"amount_cents\": 3600, \"running_cents\": 120468}]",
"[{\"step\": \"BASE\", \"code\": \"base\", \"detail\": \"base_rate $900\", \"factor\": null, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"tier:PINE\", \"detail\": \"tier factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"BASE\", \"code\": \"region:R-SW\", \"detail\": \"region factor \\u00d71.12\", \"factor\": 1.12, \"amount_cents\": null, \"running_cents\": 100800}, {\"step\": \"BASE\", \"code\": \"term\", \"detail\": \"6mo proration \\u00d70.5\", \"factor\": 0.5, \"amount_cents\": null, \"running_cents\": 50400}, {\"step\": \"RISK\", \"code\": \"factor:driver_age\", \"detail\": \"driver_age=50 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 50400}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=616 \\u00d71.22\", \"factor\": 1.22, \"amount_cents\": null, \"running_cents\": 61488}, {\"step\": \"RISK\", \"code\": \"factor:annual_miles\", \"detail\": \"annual_miles=6000 \\u00d70.92\", \"factor\": 0.92, \"amount_cents\": null, \"running_cents\": 56569}, {\"step\": \"RISK\", \"code\": \"factor:vehicle_age\", \"detail\": \"vehicle_age=7 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 56569}, {\"step\": \"RISK\", \"code\": \"factor:incidents_5yr\", \"detail\": \"incidents_5yr=2 \\u00d71.55\", \"factor\": 1.55, \"amount_cents\": null, \"running_cents\": 87682}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 90182}, {\"step\": \"FEES\", \"code\": \"installment\", \"detail\": \"+ fractional-pay surcharge\", \"factor\": null, \"amount_cents\": 3600, \"running_cents\": 93782}]"
]
}
}
]
}
}
}All set, Raymond. Here's what I did:
- Updated your 2018 F-150 to personal use at 6,000 miles/year
- Repriced the policy
Your new 6-month premium is $937.82, down from $1,204.68 — a savings of $266.86 per term.
Is there anything else I can help you with?
No, that's perfect — that's exactly what I needed. Thanks for getting that done so quick. I really appreciate it.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}Thanks for being a PEICO customer, Raymond. Have a great day!