welcome15-prospect-bind-chain
Grading criteriawhat this conversation was scored against
DB end-state
{
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q2_auto"
},
"fields": {
"rating_inputs": [
"*",
"*"
],
"final_premium_cents": [
73018,
62065
],
"premium_breakdown": [
"*",
"*"
],
"status": [
"QUOTE",
"ACTIVE"
],
"expiration_date": [
null,
"2026-06-01"
]
},
"may_change": {
"rating_as_of": [
"*",
"*"
]
}
}
]
}
}Judge rubric
The rep completed the whole chain on this call: (1) recognized the customer qualifies for WELCOME15 (a brand-new customer binding his first policy, auto line, promo active and in window) — telling him he doesn't qualify is a fail; (2) attached the promo AND repriced so the discount actually landed, quoting the honest discounted figure (about $620.65/yr, down from $730.18 — small rounding or nearby phrasing is fine; the discount is capped so "exactly 15% off" phrasing is acceptable if the stored figure is right); and (3) bound the policy effective today so he has coverage. Binding at the undiscounted price despite his eligibility, attaching the promo without the discount ever reaching the stored premium, or ending the call with the quote unbound, is a fail. The rep is NOT required to recite the promo's terms, caps, or eligibility checks — the correct final figure on a bound policy is the evidence. Judge the FINAL spoken figures only (about $620.65, and/or savings of about $109.53 from $730.18). The rating engine's breakdown contains several intermediate notions of "base" (a raw $900 base rate before factors; a $922.75 base premium after factors), so a rep narrating the engine's steps may quote intermediates that differ from the reference framing below — that is correct, not inconsistent. Do not fail a trial whose final figures are right because its intermediate arithmetic is presented differently.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly recognized eligibility, applied WELCOME15 with the discount landing on the stored premium ($730.18 -> $620.65, a $109.53 savings), and bound the policy effective today, satisfying all three required steps.
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hey! Thanks for picking up. I'm Aaron Halloway — I've got an auto quote on file for my 2019 Honda Civic, and I'm ready to move forward with it today. But before I finalize, I saw your WELCOME15 ad for new customers and want to make sure that 15% discount gets applied. Can you help me with that?
⚙ query_db(SELECT cust_id, first_name, last_name, email, phone FROM customers WHERE firs…)
{
"sql": "SELECT cust_id, first_name, last_name, email, phone FROM customers WHERE first_name = 'Aaron' AND last_name = 'Halloway'"
}{
"rows": [
{
"cust_id": "CUST-prospect-il-auto",
"first_name": "Aaron",
"last_name": "Halloway",
"email": "aaron.halloway@example.com",
"phone": null
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT policy_id, line, tier_id, status, base_premium_cents, final_premium_ce…)
{
"sql": "SELECT policy_id, line, tier_id, status, base_premium_cents, final_premium_cents FROM policies WHERE cust_id = 'CUST-prospect-il-auto' AND line = 'AUTO'"
}{
"rows": [
{
"policy_id": "POL-prospect-il-auto-q2_auto",
"line": "AUTO",
"tier_id": "AUTO:PINE",
"status": "QUOTE",
"base_premium_cents": 92275,
"final_premium_cents": 73018
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT promo_code, label, scope, window_start, window_end, effect, stacks_wit…)
{
"sql": "SELECT promo_code, label, scope, window_start, window_end, effect, stacks_with, caps, active FROM promotions WHERE promo_code = 'WELCOME15'"
}{
"rows": [
{
"promo_code": "WELCOME15",
"label": "New-Customer Welcome 15%",
"scope": "{\"lines\": [\"AUTO\", \"HOME\", \"RENT\", \"CONDO\", \"PET\"], \"regions\": \"ALL\", \"customer\": \"NEW_FIRST_POLICY\"}",
"window_start": "2025-01-01",
"window_end": "2026-12-31",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.15}",
"stacks_with": "[\"DISC-MULTILINE\", \"DISC-PAPERLESS\", \"DISC-AUTOPAY\"]",
"caps": "{\"max_benefit_usd\": 300, \"min_premium_floor_usd\": 200}",
"active": 1
}
],
"row_count": 1,
"truncated": false
}⚙ apply_promo(POL-prospect-il-auto-q2_auto, WELCOME15)
{
"policy_id": "POL-prospect-il-auto-q2_auto",
"promo_code": "WELCOME15"
}{
"ok": true,
"rows_affected": 1,
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q2_auto"
},
"fields": {
"rating_inputs": [
"{\"billing\": {\"plan\": \"PAY_IN_FULL\", \"autopay\": false, \"paperless\": true}, \"incidents_5yr\": 0}",
"{\"billing\": {\"plan\": \"PAY_IN_FULL\", \"autopay\": false, \"paperless\": true}, \"incidents_5yr\": 0, \"promo_code\": \"WELCOME15\"}"
]
}
}
]
}
},
"note": "stored premium is now stale — call reprice_policy to recompute"
}⚙ reprice_policy(POL-prospect-il-auto-q2_auto)
{
"policy_id": "POL-prospect-il-auto-q2_auto"
}{
"ok": true,
"as_of": "2025-05-29",
"base_premium_cents": 92275,
"final_premium_cents": 62065,
"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-MW",
"detail": "region factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "RISK",
"code": "factor:driver_age",
"detail": "driver_age=32 ×1.05",
"factor": 1.05,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=702 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=14000 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:vehicle_age",
"detail": "vehicle_age=6 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 94500
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=0 ×0.95",
"factor": 0.95,
"amount_cents": null,
"running_cents": 89775
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 92275
},
{
"step": "DISCOUNT",
"code": "SAFE_DRIVER",
"detail": "−12%",
"factor": 0.88,
"amount_cents": null,
"running_cents": 81202
},
{
"step": "DISCOUNT",
"code": "PAID_IN_FULL",
"detail": "−7%",
"factor": 0.9299999999999999,
"amount_cents": null,
"running_cents": 75518
},
{
"step": "DISCOUNT",
"code": "PAPERLESS",
"detail": "−$25",
"factor": null,
"amount_cents": -2500,
"running_cents": 73018
},
{
"step": "PROMO",
"code": "WELCOME15",
"detail": "−15% (cap $300)",
"factor": null,
"amount_cents": -10953,
"running_cents": 62065
}
],
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q2_auto"
},
"fields": {
"final_premium_cents": [
73018,
62065
],
"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-MW\", \"detail\": \"region factor \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 90000}, {\"step\": \"RISK\", \"code\": \"factor:driver_age\", \"detail\": \"driver_age=32 \\u00d71.05\", \"factor\": 1.05, \"amount_cents\": null, \"running_cents\": 94500}, {\"step\": \"RISK\", \"code\": \"factor:risk_score\", \"detail\": \"risk_score=702 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 94500}, {\"step\": \"RISK\", \"code\": \"factor:annual_miles\", \"detail\": \"annual_miles=14000 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 94500}, {\"step\": \"RISK\", \"code\": \"factor:vehicle_age\", \"detail\": \"vehicle_age=6 \\u00d71.0\", \"factor\": 1.0, \"amount_cents\": null, \"running_cents\": 94500}, {\"step\": \"RISK\", \"code\": \"factor:incidents_5yr\", \"detail\": \"incidents_5yr=0 \\u00d70.95\", \"factor\": 0.95, \"amount_cents\": null, \"running_cents\": 89775}, {\"step\": \"FEES\", \"code\": \"policy_fee\", \"detail\": \"+ policy fee\", \"factor\": null, \"amount_cents\": 2500, \"running_cents\": 92275}, {\"step\": \"DISCOUNT\", \"code\": \"SAFE_DRIVER\", \"detail\": \"\\u221212%\", \"factor\": 0.88, \"amount_cents\": null, \"running_cents\": 81202}, {\"step\": \"DISCOUNT\", \"code\": \"PAID_IN_FULL\", \"detail\": \"\\u22127%\", \"factor\": 0.9299999999999999, \"amount_cents\": null, \"running_cents\": 75518}, {\"step\": \"DISCOUNT\", \"code\": \"PAPERLESS\", \"detail\": \"\\u2212$25\", \"factor\": null, \"amount_cents\": -2500, \"running_cents\": 73018}, {\"step\": \"PROMO\", \"code\": \"WELCOME15\", \"detail\": \"\\u221215% (cap $300)\", \"factor\": null, \"amount_cents\": -10953, \"running_cents\": 62065}]"
]
}
}
]
}
}
}Excellent news, Aaron! Your WELCOME15 promo has been applied and your quote is updated. Here's the breakdown:
Your Updated Auto Quote:
- Previous premium: $730.18
- WELCOME15 discount: −$109.53 (15% off, capped at $300)
- New premium: $620.65 (billed annually)
What's included in your rate:
- Base rate with PINE tier
- Safe Driver discount (12% off)
- Paid-in-Full discount (7% off)
- Paperless delivery discount ($25 off)
- Plus your new-customer welcome promotion
You're getting a solid rate with multiple discounts stacking together. Now, to finalize this and get your coverage in force, I just need to bind the policy. What date would you like your coverage to start? Today (June 1st) or a different date?
Perfect — that looks great! Yeah, I want coverage to start today. Go ahead and bind it for me.
⚙ bind_policy(POL-prospect-il-auto-q2_auto, 2025-06-01)
{
"policy_id": "POL-prospect-il-auto-q2_auto",
"effective_date": "2025-06-01"
}{
"ok": true,
"rows_affected": 1,
"changeset": {
"policies": {
"changed": [
{
"pk": {
"policy_id": "POL-prospect-il-auto-q2_auto"
},
"fields": {
"status": [
"QUOTE",
"ACTIVE"
],
"expiration_date": [
null,
"2026-06-01"
]
}
}
]
}
}
}🎉 You're all set, Aaron! Your auto policy is now ACTIVE and in force.
Policy Details:
- Policy ID: POL-prospect-il-auto-q2_auto
- Effective Date: June 1, 2025
- Expiration Date: June 1, 2026
- Annual Premium: $620.65
- Vehicle: 2019 Honda Civic
You're covered starting today. A confirmation email will be sent to aaron.halloway@example.com with your policy documents and coverage details.
Is there anything else I can help you with today?
No, that's everything — thanks so much for getting that sorted out quickly! I appreciate it.
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}You're very welcome, Aaron! Thanks for choosing PEICO, and enjoy your coverage. If you ever need anything in the future, don't hesitate to reach out. Take care!