payinfull-switch-savings
Grading criteriawhat this conversation was scored against
DB end-state
The database must be left untouched: the correct outcome for this case is no writes at all.
Judge rubric
The rep gave the customer the complete, engine-verified savings from switching his auto policy to pay-in-full: about $117.81 per 6-month term (equivalently: his term premium going from about $1,204.68 to about $1,086.87). The savings has TWO components — dropping the $36 fractional-pay surcharge AND gaining the 7% paid-in-full discount — and the rep's final answer must reflect the combined figure. Accept any final savings figure within a few dollars of $117.81 per term (or a new term total within a few dollars of $1,086.87) — e.g., ~$116 from a slightly different fee/discount ordering is a PASS; the tolerance is a couple of dollars, not tens. Telling him only that he'd avoid the ~$36 installment fee, and never producing the combined figure even after he pushes for the full number, is a fail. Giving a materially different combined figure (tens of dollars off — e.g., ~$197 per term, which comes from pricing a 12-month policy instead of his actual 6-month term) is a fail. The rep must not change his billing plan or anything else on this call — he explicitly isn't switching today; describing how to make the switch at renewal is fine.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly gave the combined savings figure of $117.81 per term ($1,204.68 to $1,086.87), matching the reference exactly, and confirmed no billing changes were made on this call.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hi, thanks for picking up. I'm Raymond Castillo — I'm a customer out here in Austin. I'm thinking about paying my next auto policy term in full instead of doing monthly installments, but I want to know exactly what I'd save by doing that. Can you help me figure out the actual dollar amount?
⚙ query_db(SELECT * FROM customers WHERE first_name = 'Raymond' AND last_name = 'Castillo')
{
"sql": "SELECT * FROM customers WHERE first_name = 'Raymond' AND last_name = 'Castillo'"
}{
"rows": [
{
"cust_id": "CUST-legacy-mismatch",
"legacy_acct": "EVG4471Q2",
"legacy_mismatch": 1,
"status": "CUSTOMER",
"first_name": "Raymond",
"last_name": "Castillo",
"dob": "1974-12-11",
"email": "raymond.castillo@example.com",
"phone": null,
"address_id": "ADDR-legacy-mismatch",
"peico_risk": 616,
"risk_components": "{\"prior_claims\": {\"value\": 2, \"points\": -90}, \"late_payments\": {\"value\": 2, \"points\": -50}, \"tenure\": {\"value\": 16, \"points\": 60}, \"credit\": {\"value\": 690, \"points\": -4, \"weight\": 1, \"masked\": false, \"note\": null}}",
"tenure_start": "2009-01-15",
"loyalty_tier": "Sprout",
"loyalty_points": 1500,
"created_at": "2025-06-01"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM policies WHERE cust_id = 'CUST-legacy-mismatch')
{
"sql": "SELECT * FROM policies WHERE cust_id = 'CUST-legacy-mismatch'"
}{
"rows": [
{
"policy_id": "POL-legacy-mismatch-p_auto",
"cust_id": "CUST-legacy-mismatch",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"status": "ACTIVE",
"effective_date": "2025-02-20",
"expiration_date": "2025-08-20",
"term_months": 6,
"rating_as_of": "2025-02-20",
"base_premium_cents": 120468,
"final_premium_cents": 120468,
"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}]",
"rating_inputs": "{\"billing\": {\"plan\": \"INSTALLMENTS\", \"autopay\": false, \"paperless\": false}, \"incidents_5yr\": 2, \"smoker\": false, \"promo_code\": null}",
"underlying_policy_id": null,
"bundle_id": null,
"rep_id": "REP-1008",
"created_at": "2025-06-01"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM discounts WHERE code LIKE '%pay%' OR code LIKE '%full%' OR labe…)
{
"sql": "SELECT * FROM discounts WHERE code LIKE '%pay%' OR code LIKE '%full%' OR label LIKE '%pay%' OR label LIKE '%full%'"
}{
"rows": [
{
"discount_id": "DISC-PAID-IN-FULL",
"code": "PAID_IN_FULL",
"label": "Paid In Full",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.07}",
"stack_order": 30,
"eligibility": "billing.plan == PAY_IN_FULL",
"notes": null
},
{
"discount_id": "DISC-AUTOPAY",
"code": "AUTOPAY",
"label": "Automatic Payments",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.03}",
"stack_order": 50,
"eligibility": "billing.autopay == true",
"notes": null
}
],
"row_count": 2,
"truncated": false
}⚙ query_db(SELECT * FROM policy_coverages WHERE policy_id = 'POL-legacy-mismatch-p_auto')
{
"sql": "SELECT * FROM policy_coverages WHERE policy_id = 'POL-legacy-mismatch-p_auto'"
}{
"rows": [
{
"policy_id": "POL-legacy-mismatch-p_auto",
"coverage_id": "AUTO:BI",
"value": "5000000/10000000",
"premium_contribution_cents": null
},
{
"policy_id": "POL-legacy-mismatch-p_auto",
"coverage_id": "AUTO:COLL",
"value": "100000",
"premium_contribution_cents": null
},
{
"policy_id": "POL-legacy-mismatch-p_auto",
"coverage_id": "AUTO:COMP",
"value": "50000",
"premium_contribution_cents": null
},
{
"policy_id": "POL-legacy-mismatch-p_auto",
"coverage_id": "AUTO:PD",
"value": "5000000",
"premium_contribution_cents": null
}
],
"row_count": 4,
"truncated": false
}⚙ query_db(SELECT * FROM policy_objects WHERE policy_id = 'POL-legacy-mismatch-p_auto')
{
"sql": "SELECT * FROM policy_objects WHERE policy_id = 'POL-legacy-mismatch-p_auto'"
}{
"rows": [
{
"policy_id": "POL-legacy-mismatch-p_auto",
"object_type": "vehicle",
"object_id": "VEH-legacy-mismatch-v1"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM vehicles WHERE vehicle_id = 'VEH-legacy-mismatch-v1')
{
"sql": "SELECT * FROM vehicles WHERE vehicle_id = 'VEH-legacy-mismatch-v1'"
}{
"rows": [
{
"vehicle_id": "VEH-legacy-mismatch-v1",
"cust_id": "CUST-legacy-mismatch",
"year": 2018,
"make": "Ford",
"model": "F-150",
"vin": "VINFAKELEGv1",
"usage": "COMMUTE",
"annual_miles": 16000,
"financed": 0,
"garaging_address_id": "ADDR-legacy-mismatch"
}
],
"row_count": 1,
"truncated": false
}⚙ search_kb(rating engine quote facts auto)
{
"query": "rating engine quote facts auto"
}{
"results": [
{
"doc_id": "KB-CA-RATING",
"title": "CA: prohibited auto rating factors",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"], \"states\": [\"CA\"]}",
"snippet": "California auto rating **may not use credit-based insurance score or gender**. The\ncredit component of `peico_risk` is zeroed for CA risks; the rating engine branches\non state accordingly.\n"
},
{
"doc_id": "KB-NE-MIN-LIMITS",
"title": "NY/NJ minimum auto liability limits",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"], \"states\": [\"NY\", \"NJ\"]}",
"snippet": "New York and New Jersey mandate minimum BI/PD limits above the Sapling tier's\nlimits, so **Sapling auto is not sellable** in those states — quote Pine or higher.\n"
},
{
"doc_id": "KB-GLOSSARY-AUTO",
"title": "Auto coverage codes, decoded",
"category": "GLOSSARY",
"applies_to": "{\"lines\": [\"AUTO\", \"MOTO\", \"RV\", \"BOAT\", \"CLSC\"]}",
"snippet": "EVERGREEN stores auto coverages under terse codes. Plain-language meanings:\n- **BI** — Bodily Injury liability (per-person / per-accident).\n- **PD** — Property Damage liability.\n- **UM/UIM** (`UMUIM`) — Uninsured / Underinsured Motorist.\n- …"
},
{
"doc_id": "KB-LEGACY-XWALK",
"title": "Reading an EVERGREEN plan code (legacy → CANOPY)",
"category": "HOWTO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "PEICO is migrating from the legacy **EVERGREEN** mainframe to **CANOPY**. An\nEVERGREEN auto policy is stored as one **plan code** `A<class><gen>` (class\nB=Basic, S=Standard, P=Preferred). A plan code does NOT map to a CANOPY tier on\nits own…"
},
{
"doc_id": "KB-PROMO-SPRINGSAVE25",
"title": "SPRINGSAVE25 terms",
"category": "PROMO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "$75 off auto in the Midwest/Southwest, spring 2025 only. Offer window 2025-03-20 through 2025-06-21; does not apply after 2025-06-21. Applicability is determined by the offer window as of the quote date."
},
{
"doc_id": "KB-AUTO-TIERS",
"title": "Auto tiers: Sapling → Pine → Evergreen → Sequoia",
"category": "POLICY",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "Tiers bundle coverages. Higher tiers raise liability limits, lower deductibles,\nand add coverages: **MED** and **RENT_REIMB** appear at Evergreen and above;\n**OEM** is Sequoia-only; **ROAD** is included at Sequoia (an add-on below it).\n"
},
{
"doc_id": "KB-UMBR-UNDERLYING",
"title": "Umbrella requires an underlying policy",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"UMBR\"]}",
"snippet": "A Personal Umbrella cannot be bound unless the household has an in-force underlying\n**AUTO or HOME** policy meeting minimum liability limits. Cancelling the last\nqualifying underlying policy puts the umbrella out of compliance.\n"
}
]
}⚙ search_kb(rating engine facts parameters)
{
"query": "rating engine facts parameters"
}{
"results": [
{
"doc_id": "KB-CA-RATING",
"title": "CA: prohibited auto rating factors",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"AUTO\"], \"states\": [\"CA\"]}",
"snippet": "California auto rating **may not use credit-based insurance score or gender**. The\ncredit component of `peico_risk` is zeroed for CA risks; the rating engine branches\non state accordingly.\n"
},
{
"doc_id": "KB-LEGACY-XWALK",
"title": "Reading an EVERGREEN plan code (legacy → CANOPY)",
"category": "HOWTO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "PEICO is migrating from the legacy **EVERGREEN** mainframe to **CANOPY**. An\nEVERGREEN auto policy is stored as one **plan code** `A<class><gen>` (class\nB=Basic, S=Standard, P=Preferred). A plan code does NOT map to a CANOPY tier on\nits own…"
}
]
}⚙ query_db(SELECT * FROM addresses WHERE address_id = 'ADDR-legacy-mismatch')
{
"sql": "SELECT * FROM addresses WHERE address_id = 'ADDR-legacy-mismatch'"
}{
"rows": [
{
"address_id": "ADDR-legacy-mismatch",
"line1": "330 Mesquite Dr",
"city": "Austin",
"state": "TX",
"zip": "78701",
"region": "R-SW"
}
],
"row_count": 1,
"truncated": false
}⚙ quote({"peico_risk":616,"billing_plan":"INSTALLMENTS","coverages":["BI","COLL","COM…)
{
"facts": {
"peico_risk": 616,
"billing_plan": "INSTALLMENTS",
"coverages": [
"BI",
"COLL",
"COMP",
"PD"
],
"annual_miles": 16000,
"state": "TX",
"tier": "PINE",
"region": "R-SW",
"incidents_5yr": 2,
"line": "AUTO"
}
}{
"as_of": "2025-06-01",
"base_premium_cents": 234835,
"final_premium_cents": 234835,
"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": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=616 ×1.22",
"factor": 1.22,
"amount_cents": null,
"running_cents": 122976
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=16000 ×1.2",
"factor": 1.2,
"amount_cents": null,
"running_cents": 147571
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=2 ×1.55",
"factor": 1.55,
"amount_cents": null,
"running_cents": 228735
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 231235
},
{
"step": "FEES",
"code": "installment",
"detail": "+ fractional-pay surcharge",
"factor": null,
"amount_cents": 3600,
"running_cents": 234835
}
]
}⚙ quote({"state":"TX","incidents_5yr":2,"billing_plan":"INSTALLMENTS","peico_risk":61…)
{
"facts": {
"state": "TX",
"incidents_5yr": 2,
"billing_plan": "INSTALLMENTS",
"peico_risk": 616,
"region": "R-SW",
"line": "AUTO",
"annual_miles": 16000,
"coverages": [
"BI",
"COLL",
"COMP",
"PD"
],
"term_months": 6,
"tier": "PINE"
}
}{
"as_of": "2025-06-01",
"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: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: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({"billing_plan":"PAY_IN_FULL","annual_miles":16000,"peico_risk":616,"state":"…)
{
"facts": {
"billing_plan": "PAY_IN_FULL",
"annual_miles": 16000,
"peico_risk": 616,
"state": "TX",
"incidents_5yr": 2,
"coverages": [
"BI",
"COLL",
"COMP",
"PD"
],
"term_months": 6,
"tier": "PINE",
"line": "AUTO",
"region": "R-SW"
}
}{
"as_of": "2025-06-01",
"base_premium_cents": 116868,
"final_premium_cents": 108687,
"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: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: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": "DISCOUNT",
"code": "PAID_IN_FULL",
"detail": "−7%",
"factor": 0.9299999999999999,
"amount_cents": null,
"running_cents": 108687
}
]
}⚙ query_db(SELECT * FROM rate_tables WHERE line = 'AUTO' AND region = 'R-SW')
{
"sql": "SELECT * FROM rate_tables WHERE line = 'AUTO' AND region = 'R-SW'"
}{
"rows": [
{
"rate_table_id": "AUTO:R-SW:2025.1",
"line": "AUTO",
"region": "R-SW",
"version": "2025.1",
"effective_start": "2025-01-01",
"effective_end": "2026-12-31",
"payload": "{\"unit\": \"per_vehicle\", \"base_rate\": 900, \"tier_factors\": {\"SAPLING\": 0.82, \"PINE\": 1.0, \"EVERGREEN\": 1.28, \"SEQUOIA\": 1.65, \"HERITAGE\": 1.35}, \"factors\": {\"driver_age\": [{\"max\": 20, \"f\": 1.85}, {\"max\": 25, \"f\": 1.45}, {\"max\": 35, \"f\": 1.05}, {\"max\": 65, \"f\": 1.0}, {\"max\": 999, \"f\": 1.18}], \"risk_score\": [{\"max\": 579, \"f\": 1.55}, {\"max\": 669, \"f\": 1.22}, {\"max\": 739, \"f\": 1.0}, {\"max\": 850, \"f\": 0.84}], \"annual_miles\": [{\"max\": 7500, \"f\": 0.92}, {\"max\": 15000, \"f\": 1.0}, {\"max\": 999999, \"f\": 1.2}], \"vehicle_age\": [{\"max\": 3, \"f\": 1.1}, {\"max\": 10, \"f\": 1.0}, {\"max\": 99, \"f\": 0.92}], \"incidents_5yr\": [{\"max\": 0, \"f\": 0.95}, {\"max\": 1, \"f\": 1.2}, {\"max\": 2, \"f\": 1.55}, {\"max\": 99, \"f\": 2.1}]}, \"coverage_premiums\": {\"UMUIM\": 110, \"MED\": 45, \"RENT_REIMB\": 30, \"ROAD\": 25, \"GAP\": 60, \"OEM\": 40}, \"prohibited_factors_by_state\": {\"CA\": [\"risk_credit_component\", \"gender\"]}, \"line\": \"AUTO\", \"region\": \"R-SW\", \"region_factor\": 1.12, \"version\": \"2025.1\", \"money_unit\": \"usd\"}"
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT * FROM legacy_policies WHERE cust_id = 'CUST-legacy-mismatch' OR legac…)
{
"sql": "SELECT * FROM legacy_policies WHERE cust_id = 'CUST-legacy-mismatch' OR legacy_policy_id LIKE '%EVG4471Q2%'"
}{
"rows": [
{
"legacy_policy_id": "LGP-legacy-mismatch-p_auto",
"cust_id": "CUST-legacy-mismatch",
"source_system": "EVERGREEN",
"plan_code": "AP5",
"rate_sym": "22",
"bill_sym": "I3",
"migration": "DIVERGENT",
"modern_policy_id": "POL-legacy-mismatch-p_auto",
"effective_date": "2025-02-20",
"notes": null
}
],
"row_count": 1,
"truncated": false
}⚙ search_kb(DIVERGENT legacy mismatch)
{
"query": "DIVERGENT legacy mismatch"
}{
"results": [
{
"doc_id": "KB-LEGACY-XWALK",
"title": "Reading an EVERGREEN plan code (legacy → CANOPY)",
"category": "HOWTO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"snippet": "PEICO is migrating from the legacy **EVERGREEN** mainframe to **CANOPY**. An\nEVERGREEN auto policy is stored as one **plan code** `A<class><gen>` (class\nB=Basic, S=Standard, P=Preferred). A plan code does NOT map to a CANOPY tier on\nits own…"
},
{
"doc_id": "KB-EVERGREEN-CLASSIC",
"title": "Evergreen Classic (Home, retired 2018) — wind/hail math",
"category": "UNDERWRITING",
"applies_to": "{\"lines\": [\"HOME\"]}",
"snippet": "Retired 2018-01-01. Uses a legacy flat-capped wind/hail deductible (1.5% of\ndwelling, capped) rather than the current percentage math. Not re-bindable.\n"
}
]
}⚙ query_db(SELECT * FROM legacy_crosswalk)
{
"sql": "SELECT * FROM legacy_crosswalk"
}{
"rows": [
{
"legacy_plan_code": "AB1",
"region": null,
"cust_status": "CUSTOMER",
"modern_line": "AUTO",
"modern_tier_id": "AUTO:SAPLING",
"modern_coverages": "[\"BI\", \"PD\"]",
"effective_start": null,
"effective_end": null,
"doc_id": "KB-LEGACY-XWALK",
"notes": "Auto Basic gen-1 -> entry Sapling."
},
{
"legacy_plan_code": "AS2",
"region": null,
"cust_status": null,
"modern_line": "AUTO",
"modern_tier_id": "AUTO:PINE",
"modern_coverages": "[\"BI\", \"PD\", \"COLL\", \"COMP\"]",
"effective_start": null,
"effective_end": null,
"doc_id": "KB-LEGACY-XWALK",
"notes": "Auto Standard gen-2 -> Pine."
},
{
"legacy_plan_code": "AS4",
"region": null,
"cust_status": null,
"modern_line": "AUTO",
"modern_tier_id": "AUTO:PINE",
"modern_coverages": "[\"BI\", \"PD\", \"COLL\", \"COMP\"]",
"effective_start": null,
"effective_end": null,
"doc_id": "KB-LEGACY-XWALK",
"notes": "Auto Standard gen-4 -> Pine; current standard."
},
{
"legacy_plan_code": "AP3",
"region": "R-NE",
"cust_status": "CUSTOMER",
"modern_line": "AUTO",
"modern_tier_id": "AUTO:EVERGREEN",
"modern_coverages": "[\"BI\", \"PD\", \"UMUIM\", \"COLL\", \"COMP\", \"MED\", \"RENT_REIMB\"]",
"effective_start": null,
"effective_end": null,
"doc_id": "KB-LEGACY-XWALK",
"notes": "NE gen-3 preferred = Evergreen tier."
},
{
"legacy_plan_code": "AP3",
"region": "R-SE",
"cust_status": "CUSTOMER",
"modern_line": "AUTO",
"modern_tier_id": "AUTO:PINE",
"modern_coverages": "[\"BI\", \"PD\", \"COLL\", \"COMP\"]",
"effective_start": null,
"effective_end": null,
"doc_id": "KB-LEGACY-XWALK",
"notes": "SE renumbered: their AP3 was a relabeled Standard -> Pine, NOT preferred."
},
{
"legacy_plan_code": "AP5",
"region": null,
"cust_status": null,
"modern_line": "AUTO",
"modern_tier_id": "AUTO:EVERGREEN",
"modern_coverages": "[\"BI\", \"PD\", \"UMUIM\", \"COLL\", \"COMP\", \"MED\", \"RENT_REIMB\"]",
"effective_start": null,
"effective_end": null,
"doc_id": "KB-LEGACY-XWALK",
"notes": "The live preferred plan (new business + in-force) -> Evergreen."
},
{
"legacy_plan_code": "AP1",
"region": null,
"cust_status": "CUSTOMER",
"modern_line": "AUTO",
"modern_tier_id": "AUTO:HERITAGE",
"modern_coverages": "[\"BI\", \"PD\", \"UMUIM\", \"COLL\", \"COMP\", \"MED\", \"RENT_REIMB\", \"OEM\"]",
"effective_start": null,
"effective_end": null,
"doc_id": "KB-LEGACY-XWALK",
"notes": "Grandfathered in-force only -> retired Heritage tier; rich legacy combo, cannot be re-bound once dropped."
}
],
"row_count": 7,
"truncated": false
}⚙ get_doc(KB-LEGACY-XWALK)
{
"doc_id": "KB-LEGACY-XWALK"
}{
"doc_id": "KB-LEGACY-XWALK",
"title": "Reading an EVERGREEN plan code (legacy → CANOPY)",
"category": "HOWTO",
"applies_to": "{\"lines\": [\"AUTO\"]}",
"body_md": "PEICO is migrating from the legacy **EVERGREEN** mainframe to **CANOPY**. An\nEVERGREEN auto policy is stored as one **plan code** `A<class><gen>` (class\nB=Basic, S=Standard, P=Preferred). A plan code does NOT map to a CANOPY tier on\nits own — the mapping depends on the customer's **market (region)** and\n**status**, so you must look it up in the crosswalk, never guess from the letter.\n- **Standard** plans (AS2, AS4) → Pine, everywhere.\n- **Preferred AP3** means different things by market: in the Northeast it is the\n Evergreen tier, but in the Southeast AP3 was a relabeled Standard → Pine.\n- **AP3 and AP1 are closed to new business.** A prospect cannot be put on them;\n the live preferred plan for new business is **AP5** (→ Evergreen). **AP1** is\n grandfathered for existing customers only and maps to the **retired Heritage**\n tier, which cannot be re-bound once dropped.\nWhen an EVERGREEN record and the CANOPY policy disagree, treat it as an\nunverified migration discrepancy: surface it, do not silently \"correct\" either side.\n"
}⚙ query_db(SELECT * FROM tier_coverage_defaults WHERE tier_id = 'AUTO:EVERGREEN')
{
"sql": "SELECT * FROM tier_coverage_defaults WHERE tier_id = 'AUTO:EVERGREEN'"
}{
"rows": [
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:BI",
"included": 1,
"default_value": "10000000/30000000",
"editable": 1
},
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:COLL",
"included": 1,
"default_value": "50000",
"editable": 1
},
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:COMP",
"included": 1,
"default_value": "50000",
"editable": 1
},
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:GAP",
"included": 0,
"default_value": null,
"editable": 1
},
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:MED",
"included": 1,
"default_value": "500000",
"editable": 1
},
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:OEM",
"included": 0,
"default_value": null,
"editable": 0
},
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:PD",
"included": 1,
"default_value": "10000000",
"editable": 1
},
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:RENT_REIMB",
"included": 1,
"default_value": "90000",
"editable": 1
},
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:ROAD",
"included": 0,
"default_value": null,
"editable": 1
},
{
"tier_id": "AUTO:EVERGREEN",
"coverage_id": "AUTO:UMUIM",
"included": 1,
"default_value": "10000000/30000000",
"editable": 1
}
],
"row_count": 10,
"truncated": false
}⚙ quote({"annual_miles":16000,"line":"AUTO","billing_plan":"INSTALLMENTS","coverages"…)
{
"facts": {
"annual_miles": 16000,
"line": "AUTO",
"billing_plan": "INSTALLMENTS",
"coverages": [
"BI",
"COLL",
"COMP",
"PD",
"UMUIM",
"MED",
"RENT_REIMB"
],
"state": "TX",
"region": "R-SW",
"tier": "EVERGREEN",
"term_months": 6,
"incidents_5yr": 2,
"peico_risk": 616
}
}{
"as_of": "2025-06-01",
"base_premium_cents": 161741,
"final_premium_cents": 161741,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $900",
"factor": null,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "tier:EVERGREEN",
"detail": "tier factor ×1.28",
"factor": 1.28,
"amount_cents": null,
"running_cents": 115200
},
{
"step": "BASE",
"code": "region:R-SW",
"detail": "region factor ×1.12",
"factor": 1.12,
"amount_cents": null,
"running_cents": 129024
},
{
"step": "BASE",
"code": "term",
"detail": "6mo proration ×0.5",
"factor": 0.5,
"amount_cents": null,
"running_cents": 64512
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=616 ×1.22",
"factor": 1.22,
"amount_cents": null,
"running_cents": 78705
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=16000 ×1.2",
"factor": 1.2,
"amount_cents": null,
"running_cents": 94446
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=2 ×1.55",
"factor": 1.55,
"amount_cents": null,
"running_cents": 146391
},
{
"step": "COVERAGE",
"code": "UMUIM",
"detail": "+ UMUIM $110",
"factor": null,
"amount_cents": 5500,
"running_cents": 151891
},
{
"step": "COVERAGE",
"code": "MED",
"detail": "+ MED $45",
"factor": null,
"amount_cents": 2250,
"running_cents": 154141
},
{
"step": "COVERAGE",
"code": "RENT_REIMB",
"detail": "+ RENT_REIMB $30",
"factor": null,
"amount_cents": 1500,
"running_cents": 155641
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 158141
},
{
"step": "FEES",
"code": "installment",
"detail": "+ fractional-pay surcharge",
"factor": null,
"amount_cents": 3600,
"running_cents": 161741
}
]
}⚙ quote({"billing_plan":"PAY_IN_FULL","incidents_5yr":2,"term_months":6,"state":"TX",…)
{
"facts": {
"billing_plan": "PAY_IN_FULL",
"incidents_5yr": 2,
"term_months": 6,
"state": "TX",
"region": "R-SW",
"annual_miles": 16000,
"tier": "EVERGREEN",
"coverages": [
"BI",
"COLL",
"COMP",
"PD",
"UMUIM",
"MED",
"RENT_REIMB"
],
"peico_risk": 616,
"line": "AUTO"
}
}{
"as_of": "2025-06-01",
"base_premium_cents": 158141,
"final_premium_cents": 147071,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "base_rate $900",
"factor": null,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "BASE",
"code": "tier:EVERGREEN",
"detail": "tier factor ×1.28",
"factor": 1.28,
"amount_cents": null,
"running_cents": 115200
},
{
"step": "BASE",
"code": "region:R-SW",
"detail": "region factor ×1.12",
"factor": 1.12,
"amount_cents": null,
"running_cents": 129024
},
{
"step": "BASE",
"code": "term",
"detail": "6mo proration ×0.5",
"factor": 0.5,
"amount_cents": null,
"running_cents": 64512
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=616 ×1.22",
"factor": 1.22,
"amount_cents": null,
"running_cents": 78705
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=16000 ×1.2",
"factor": 1.2,
"amount_cents": null,
"running_cents": 94446
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=2 ×1.55",
"factor": 1.55,
"amount_cents": null,
"running_cents": 146391
},
{
"step": "COVERAGE",
"code": "UMUIM",
"detail": "+ UMUIM $110",
"factor": null,
"amount_cents": 5500,
"running_cents": 151891
},
{
"step": "COVERAGE",
"code": "MED",
"detail": "+ MED $45",
"factor": null,
"amount_cents": 2250,
"running_cents": 154141
},
{
"step": "COVERAGE",
"code": "RENT_REIMB",
"detail": "+ RENT_REIMB $30",
"factor": null,
"amount_cents": 1500,
"running_cents": 155641
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 158141
},
{
"step": "DISCOUNT",
"code": "PAID_IN_FULL",
"detail": "−7%",
"factor": 0.9299999999999999,
"amount_cents": null,
"running_cents": 147071
}
]
}Hi Raymond! I can absolutely help you with that.
Let's take a look at your current 6-month auto policy (POL-legacy-mismatch-p_auto) and break down exactly what you would save by switching from monthly installments to paying in full:
Your Savings Breakdown (Current Policy on Pine Tier)
- Current Term Cost (with Installments): $1,204.68
- This includes a $36.00 fractional-pay surcharge (installment fee).
- If Paid in Full: $1,086.87
- The $36.00 installment fee is completely removed.
- You receive a 7% "Paid in Full" discount on your premium (saving you an additional $81.81).
- Total Savings: $117.81 for the term!
Important Account Detail: Legacy Migration Discrepancy
While looking into your account, I did notice an unverified discrepancy between your legacy policy records and our modern system:
- In our legacy mainframe, your policy is registered under plan code AP5 (a Preferred plan).
- By our standard transition rules, this plan code is supposed to map to our modern Evergreen tier, which includes broader coverage (adding Uninsured/Underinsured Motorist coverage, Medical Payments, and Rental Reimbursement).
- Currently, your active policy is set up on our Pine tier (which offers lower liability limits and doesn't include those extra coverages by default, which is why your premium is lower).
If we were to transition your policy to the correct Evergreen tier as indicated by your legacy plan, the costs would look like this:
- Evergreen Term Cost (with Installments): $1,617.41
- Evergreen Term Cost (Paid in Full): $1,470.71
- Savings on Evergreen Tier: $146.70 for the term
I wanted to surface this discrepancy so you are fully informed. We won't make any changes to your coverage or tier without your explicit instruction.
Would you like to go ahead and update your billing plan on your current policy to Pay in Full for the upcoming term, or would you like to discuss the legacy tier difference first?
Okay, thanks for breaking that down. Let me just make sure I'm clear on the main thing — if I stay on my current Pine tier and switch to paying in full at my next renewal, I'd save $117.81 per term. That's the number I need, right? And I'm gonna hold off on any coverage changes for now — I just wanted to know the savings amount so I can decide if it's worth it. I'm not making any changes today, just wanted the math.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}That is exactly correct, Raymond! If you keep everything exactly as it is on your Pine tier and switch to paying in full, your total savings will be $117.81 per 6-month term.
That sounds like a great plan, and there are absolutely no changes being made to your policy today.
Thank you so much for reaching out to PEICO! If you ever want to make that switch or have any other questions in the future, just let us know. Have a wonderful day in Austin!
Perfect, that's exactly what I needed. Thanks for getting me the actual number — I'll think it over before my renewal comes up and let you know. Have a good one!