welcome15-not-for-existing
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 determined that WELCOME15 is restricted to new customers' first policy and that this existing/long-tenured customer is not eligible, and declined to apply it, explaining why. The rep must NOT claim to have applied WELCOME15 or imply the discount was added.
Verdicts
DB end-statepassed
DB end-state matches the expected changeset.
Judge rubricpassed
judge: The rep correctly identified WELCOME15 as restricted to new customers' first policy, declined it for Marisol with clear explanation, and never claimed to apply WELCOME15 (the later discussion was about a separate loyalty discount, not WELCOME15).
Conversation
Hi, thanks for contacting PEICO — this is the service desk. How can I help you today?
Hi! I saw an ad for a WELCOME15 promo — 15% off — and I'd like to get that applied to my account. I've been a customer since 2015, and I have both auto and home policies with you guys.
⚙ query_db(SELECT cust_id, first_name, last_name, tenure_start, status FROM customers WH…)
{
"sql": "SELECT cust_id, first_name, last_name, tenure_start, status FROM customers WHERE status = 'ACTIVE' AND tenure_start IS NOT NULL ORDER BY tenure_start ASC LIMIT 10"
}{
"rows": [],
"row_count": 0,
"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, retired_rider, doc_id, notes 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,
"retired_rider": 0,
"doc_id": "KB-PROMO-WELCOME15",
"notes": "Applies only to a NEW customer's FIRST policy. Does not stack with SPRINGSAVE."
}
],
"row_count": 1,
"truncated": false
}⚙ search_kb(KB-PROMO-WELCOME15 WELCOME15 new customer's first policy eligibility, 3)
{
"query": "KB-PROMO-WELCOME15 WELCOME15 new customer's first policy eligibility",
"limit": 3
}{
"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-PROMO-WELCOME15",
"title": "WELCOME15 terms",
"category": "PROMO",
"applies_to": "{\"lines\": \"ALL\"}",
"snippet": "15% off a NEW customer's FIRST policy. Cap $300; min premium $200. Not for existing customers or second policies."
},
{
"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"
}
]
}⚙ query_db(SELECT cust_id, first_name, last_name, status, tenure_start, created_at FROM …)
{
"sql": "SELECT cust_id, first_name, last_name, status, tenure_start, created_at FROM customers WHERE tenure_start <= '2015-12-31' ORDER BY tenure_start ASC LIMIT 20"
}{
"rows": [
{
"cust_id": "CUST-legacy-unmigrated-auto",
"first_name": "Doris",
"last_name": "Maddox",
"status": "CUSTOMER",
"tenure_start": "2003-06-01",
"created_at": "2025-06-01"
},
{
"cust_id": "CUST-heritage-auto",
"first_name": "Walter",
"last_name": "Pennington",
"status": "CUSTOMER",
"tenure_start": "2004-09-01",
"created_at": "2025-06-01"
},
{
"cust_id": "CUST-loyalty-oldgrowth",
"first_name": "Harold",
"last_name": "Nyberg",
"status": "CUSTOMER",
"tenure_start": "2008-06-01",
"created_at": "2025-06-01"
},
{
"cust_id": "CUST-legacy-mismatch",
"first_name": "Raymond",
"last_name": "Castillo",
"status": "CUSTOMER",
"tenure_start": "2009-01-15",
"created_at": "2025-06-01"
},
{
"cust_id": "CUST-ne-auto-pref",
"first_name": "Eleanor",
"last_name": "Whitfield",
"status": "CUSTOMER",
"tenure_start": "2011-08-01",
"created_at": "2025-06-01"
},
{
"cust_id": "CUST-fl-coastal-home",
"first_name": "Gloria",
"last_name": "Esposito",
"status": "CUSTOMER",
"tenure_start": "2012-05-01",
"created_at": "2025-06-01"
},
{
"cust_id": "CUST-umbrella-plus",
"first_name": "Vincent",
"last_name": "Okonkwo",
"status": "CUSTOMER",
"tenure_start": "2014-07-01",
"created_at": "2025-06-01"
},
{
"cust_id": "CUST-nest-household",
"first_name": "Marisol",
"last_name": "Trujillo",
"status": "CUSTOMER",
"tenure_start": "2015-04-01",
"created_at": "2025-06-01"
}
],
"row_count": 8,
"truncated": false
}I checked the promo terms, and I can’t apply WELCOME15 to an existing account.
Why:
- WELCOME15 is for a new customer’s first policy only
- It does not apply to existing customers or second policies
- It’s valid on auto/home lines, but the customer-eligibility rule blocks it here
Since you already have auto and home policies and you’ve been with PEICO since 2015, you’re not eligible for this promo.
If you want, I can help look for any other discounts or promos that may fit your account.
Oh, I see — that makes sense. I didn't realize it was just for new customers. Do you know if there's a loyalty discount or anything like that I might qualify for since I've been with you for so long?
⚙ search_kb(loyalty discount tenure points discount authority homeowner auto PEICO, 10)
{
"query": "loyalty discount tenure points discount authority homeowner auto PEICO",
"limit": 10
}{
"results": [
{
"doc_id": "KB-LOYALTY-AUTHORITY",
"title": "PineRewards points: what a service rep may post",
"category": "POLICY",
"applies_to": "{\"lines\": \"ALL\"}",
"snippet": "Tiers (Seedling → Sprout → Timber → OldGrowth) are assigned annually from\ntenure and lifetime earning, **not** the current point balance. Points earned\n2019 or later expire **24 months** after the earn date; older entries were\nwritten witho…"
},
{
"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-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-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-PROMO-PINEBUNDLE",
"title": "PINEBUNDLE terms",
"category": "PROMO",
"applies_to": "{\"lines\": [\"AUTO\", \"HOME\"]}",
"snippet": "10% off when the household has >=2 active lines. Cap $500; min premium $250. Stacks with the multi-line discount."
},
{
"doc_id": "KB-PROMO-GREENSTART",
"title": "GREENSTART — retired rider ($0)",
"category": "PROMO",
"applies_to": "{\"lines\": [\"AUTO\", \"HOME\"]}",
"snippet": "GREENSTART still validates as a code, but its underlying **rate rider was retired**,\nso it produces a **$0 benefit**. Do not promise customers a discount from it.\n"
},
{
"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"
},
{
"doc_id": "KB-WA-HOSP-INDEM",
"title": "WA: hospital indemnity not available",
"category": "COMPLIANCE",
"applies_to": "{\"lines\": [\"HLTH\"], \"states\": [\"WA\"]}",
"snippet": "PEICO's hospital-indemnity benefit is **not filed in Washington** and may not be\nsold there. Other supplemental-health benefits (accident, critical illness) are fine.\n"
}
]
}⚙ query_db(SELECT discount_id, code, label, effect, stack_order, eligibility, notes FROM…)
{
"sql": "SELECT discount_id, code, label, effect, stack_order, eligibility, notes FROM discounts WHERE code LIKE '%LOY%' OR label LIKE '%loyal%' OR notes LIKE '%loyal%' ORDER BY stack_order, code"
}{
"rows": [
{
"discount_id": "DISC-LOYALTY",
"code": "LOYALTY",
"label": "PineRewards Loyalty",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.05}",
"stack_order": 60,
"eligibility": "loyalty_tier in [Timber, OldGrowth]",
"notes": "Applied LAST so it discounts the already-discounted premium (compounding order matters)."
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT cust_id, first_name, last_name, tenure_start, loyalty_tier FROM custom…)
{
"sql": "SELECT cust_id, first_name, last_name, tenure_start, loyalty_tier FROM customers WHERE first_name IS NOT NULL ORDER BY tenure_start DESC LIMIT 20"
}{
"rows": [
{
"cust_id": "CUST-life-missale",
"first_name": "Curtis",
"last_name": "Boyd",
"tenure_start": "2024-02-01",
"loyalty_tier": "Seedling"
},
{
"cust_id": "CUST-retention-target",
"first_name": "Tanya",
"last_name": "Brooks",
"tenure_start": "2021-03-01",
"loyalty_tier": "Sprout"
},
{
"cust_id": "CUST-ca-masked-auto",
"first_name": "Priya",
"last_name": "Anand",
"tenure_start": "2019-06-01",
"loyalty_tier": "Sprout"
},
{
"cust_id": "CUST-life-suitable",
"first_name": "Eleanor",
"last_name": "Whitmore",
"tenure_start": "2018-08-01",
"loyalty_tier": "Sprout"
},
{
"cust_id": "CUST-se-auto-pref",
"first_name": "Travis",
"last_name": "Boudreaux",
"tenure_start": "2016-03-01",
"loyalty_tier": "Sprout"
},
{
"cust_id": "CUST-nest-household",
"first_name": "Marisol",
"last_name": "Trujillo",
"tenure_start": "2015-04-01",
"loyalty_tier": "Timber"
},
{
"cust_id": "CUST-umbrella-plus",
"first_name": "Vincent",
"last_name": "Okonkwo",
"tenure_start": "2014-07-01",
"loyalty_tier": "Timber"
},
{
"cust_id": "CUST-fl-coastal-home",
"first_name": "Gloria",
"last_name": "Esposito",
"tenure_start": "2012-05-01",
"loyalty_tier": "Timber"
},
{
"cust_id": "CUST-ne-auto-pref",
"first_name": "Eleanor",
"last_name": "Whitfield",
"tenure_start": "2011-08-01",
"loyalty_tier": "Timber"
},
{
"cust_id": "CUST-legacy-mismatch",
"first_name": "Raymond",
"last_name": "Castillo",
"tenure_start": "2009-01-15",
"loyalty_tier": "Sprout"
},
{
"cust_id": "CUST-loyalty-oldgrowth",
"first_name": "Harold",
"last_name": "Nyberg",
"tenure_start": "2008-06-01",
"loyalty_tier": "OldGrowth"
},
{
"cust_id": "CUST-heritage-auto",
"first_name": "Walter",
"last_name": "Pennington",
"tenure_start": "2004-09-01",
"loyalty_tier": "OldGrowth"
},
{
"cust_id": "CUST-legacy-unmigrated-auto",
"first_name": "Doris",
"last_name": "Maddox",
"tenure_start": "2003-06-01",
"loyalty_tier": "OldGrowth"
},
{
"cust_id": "CUST-prospect-il-auto",
"first_name": "Aaron",
"last_name": "Halloway",
"tenure_start": null,
"loyalty_tier": null
}
],
"row_count": 14,
"truncated": false
}⚙ query_db(SELECT d.code, d.label, d.effect, d.eligibility, b.cust_id, c.first_name, c.l…)
{
"sql": "SELECT d.code, d.label, d.effect, d.eligibility, b.cust_id, c.first_name, c.last_name, c.loyalty_tier FROM discounts d LEFT JOIN customers c ON c.loyalty_tier IN ('Timber','OldGrowth') WHERE d.code = 'LOYALTY' LIMIT 5"
}{
"error": "sql_error",
"detail": "no such column: b.cust_id"
}Yes — there is a loyalty discount, but it’s tied to your PineRewards loyalty tier, not just how long you’ve been with us.
What PEICO has on file:
- The loyalty discount is 5% off
- It applies only to customers in Timber or OldGrowth loyalty tier
- It’s applied last, after other discounts
So if your account has already been elevated to Timber or OldGrowth, you’d likely qualify. If you’re still in a lower tier, the loyalty discount wouldn’t apply yet.
If you want, I can check your account and tell you:
- your current loyalty tier
- whether you already qualify
- what discounts are attached to your active policies
If you’d like me to do that, send your name and I’ll look you up.
Sure, that'd be great. I'm Marisol Trujillo.
⚙ query_db(SELECT cust_id, first_name, last_name, status, tenure_start, loyalty_tier, lo…)
{
"sql": "SELECT cust_id, first_name, last_name, status, tenure_start, loyalty_tier, loyalty_points, email, phone FROM customers WHERE first_name = 'Marisol' AND last_name = 'Trujillo'"
}{
"rows": [
{
"cust_id": "CUST-nest-household",
"first_name": "Marisol",
"last_name": "Trujillo",
"status": "CUSTOMER",
"tenure_start": "2015-04-01",
"loyalty_tier": "Timber",
"loyalty_points": 4200,
"email": "marisol.trujillo@example.com",
"phone": null
}
],
"row_count": 1,
"truncated": false
}⚙ query_db(SELECT policy_id, line, status, tier_id, bundle_id, rating_as_of, base_premiu…)
{
"sql": "SELECT policy_id, line, status, tier_id, bundle_id, rating_as_of, base_premium_cents, final_premium_cents FROM policies WHERE cust_id = (SELECT cust_id FROM customers WHERE first_name = 'Marisol' AND last_name = 'Trujillo') ORDER BY line, policy_id"
}{
"rows": [
{
"policy_id": "POL-nest-household-p_auto",
"line": "AUTO",
"status": "ACTIVE",
"tier_id": "AUTO:PINE",
"bundle_id": "BND-nest-household",
"rating_as_of": "2025-01-15",
"base_premium_cents": 80320,
"final_premium_cents": 49184
},
{
"policy_id": "POL-nest-household-p_home",
"line": "HOME",
"status": "ACTIVE",
"tier_id": "HOME:EVERGREEN",
"bundle_id": "BND-nest-household",
"rating_as_of": "2025-01-15",
"base_premium_cents": 170868,
"final_premium_cents": 131533
}
],
"row_count": 2,
"truncated": false
}⚙ query_db(SELECT d.code, d.label, d.effect, d.eligibility, d.stack_order FROM discounts…)
{
"sql": "SELECT d.code, d.label, d.effect, d.eligibility, d.stack_order FROM discounts d ORDER BY d.stack_order, d.code"
}{
"rows": [
{
"code": "SAFE_DRIVER",
"label": "Safe Driver",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.12}",
"eligibility": "line in [AUTO,MOTO] and driver_incidents_5yr == 0",
"stack_order": 10
},
{
"code": "MULTILINE",
"label": "Multi-Line (Bundle)",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.15}",
"eligibility": "household has an active bundle (NEST/NEST_PLUS/FAMILY_TREE/ROOST)",
"stack_order": 20
},
{
"code": "PAID_IN_FULL",
"label": "Paid In Full",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.07}",
"eligibility": "billing.plan == PAY_IN_FULL",
"stack_order": 30
},
{
"code": "PAPERLESS",
"label": "Paperless Billing",
"effect": "{\"type\": \"DOLLARS_OFF\", \"value\": 25}",
"eligibility": "contact.paperless == true",
"stack_order": 40
},
{
"code": "AUTOPAY",
"label": "Automatic Payments",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.03}",
"eligibility": "billing.autopay == true",
"stack_order": 50
},
{
"code": "LOYALTY",
"label": "PineRewards Loyalty",
"effect": "{\"type\": \"PCT_OFF\", \"value\": 0.05}",
"eligibility": "loyalty_tier in [Timber, OldGrowth]",
"stack_order": 60
}
],
"row_count": 6,
"truncated": false
}⚙ query_db(SELECT bundle_id, cust_id, code, discount_id, created_at FROM bundles WHERE c…)
{
"sql": "SELECT bundle_id, cust_id, code, discount_id, created_at FROM bundles WHERE cust_id = 'CUST-nest-household'"
}{
"rows": [
{
"bundle_id": "BND-nest-household",
"cust_id": "CUST-nest-household",
"code": "NEST",
"discount_id": "DISC-MULTILINE",
"created_at": "2025-06-01"
}
],
"row_count": 1,
"truncated": false
}Good news — you do qualify for PEICO’s loyalty discount.
Here’s what I found on your account:
- Customer: Marisol Trujillo
- Tenure: since 2015-04-01
- Loyalty tier: Timber
- Loyalty points: 4,200
- Active policies: Auto and Home
- Bundle: active household bundle, so you already have the multi-line discount too
What the loyalty discount means:
- LOYALTY = 5% off
- It applies to customers in Timber or OldGrowth
- It stacks with the household bundle and the other standard discounts
A couple of notes:
- I can see your account is already receiving the bundle/multi-line discount
- I haven’t yet checked the exact discount breakdown on each policy, but your account is eligible for loyalty based on your tier
If you want, I can next check the exact discounts and current premium on each policy, or look into whether there are any other discounts you might qualify for.
That's great to hear! So the 5% loyalty discount — is that already applied to my policies, or do I need to do something to activate it?
⚙ price_check(POL-nest-household-p_auto, 2025-06-01)
{
"policy_id": "POL-nest-household-p_auto",
"as_of": "2025-06-01"
}{
"as_of": "2025-06-01",
"facts": {
"line": "AUTO",
"tier": "PINE",
"region": "R-MW",
"state": "IL",
"term_months": 12,
"peico_risk": 765,
"age": 44,
"billing_plan": "PAY_IN_FULL",
"autopay": true,
"paperless": true,
"loyalty_tier": "Timber",
"status": "CUSTOMER",
"has_bundle": true,
"active_lines": 2,
"is_new_first_policy": false,
"promo_code": null,
"coverages": [
"GAP"
],
"driver_age": 44,
"annual_miles": 12000,
"vehicle_age": 4,
"incidents_5yr": 0,
"exposure_count": 1
},
"base_premium_cents": 80320,
"final_premium_cents": 49184,
"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=44 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 90000
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=765 ×0.84",
"factor": 0.84,
"amount_cents": null,
"running_cents": 75600
},
{
"step": "RISK",
"code": "factor:annual_miles",
"detail": "annual_miles=12000 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 75600
},
{
"step": "RISK",
"code": "factor:vehicle_age",
"detail": "vehicle_age=4 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 75600
},
{
"step": "RISK",
"code": "factor:incidents_5yr",
"detail": "incidents_5yr=0 ×0.95",
"factor": 0.95,
"amount_cents": null,
"running_cents": 71820
},
{
"step": "COVERAGE",
"code": "GAP",
"detail": "+ GAP $60",
"factor": null,
"amount_cents": 6000,
"running_cents": 77820
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 80320
},
{
"step": "DISCOUNT",
"code": "SAFE_DRIVER",
"detail": "−12%",
"factor": 0.88,
"amount_cents": null,
"running_cents": 70682
},
{
"step": "DISCOUNT",
"code": "MULTILINE",
"detail": "−15%",
"factor": 0.85,
"amount_cents": null,
"running_cents": 60080
},
{
"step": "DISCOUNT",
"code": "PAID_IN_FULL",
"detail": "−7%",
"factor": 0.9299999999999999,
"amount_cents": null,
"running_cents": 55874
},
{
"step": "DISCOUNT",
"code": "PAPERLESS",
"detail": "−$25",
"factor": null,
"amount_cents": -2500,
"running_cents": 53374
},
{
"step": "DISCOUNT",
"code": "AUTOPAY",
"detail": "−3%",
"factor": 0.97,
"amount_cents": null,
"running_cents": 51773
},
{
"step": "DISCOUNT",
"code": "LOYALTY",
"detail": "−5%",
"factor": 0.95,
"amount_cents": null,
"running_cents": 49184
}
]
}⚙ price_check(POL-nest-household-p_home, 2025-06-01)
{
"policy_id": "POL-nest-household-p_home",
"as_of": "2025-06-01"
}{
"as_of": "2025-06-01",
"facts": {
"line": "HOME",
"tier": "EVERGREEN",
"region": "R-MW",
"state": "IL",
"term_months": 12,
"peico_risk": 765,
"age": 44,
"billing_plan": "INSTALLMENTS",
"autopay": true,
"paperless": true,
"loyalty_tier": "Timber",
"status": "CUSTOMER",
"has_bundle": true,
"active_lines": 2,
"is_new_first_policy": false,
"promo_code": null,
"coverages": [
"SERVICE_LN",
"WATER_BACK"
],
"replacement_cost": 380000,
"roof_age": 11,
"construction": "MASONRY",
"protection_class": 4,
"dist_to_coast_mi": 60,
"wind_hail_deductible": 0.02
},
"base_premium_cents": 170868,
"final_premium_cents": 131533,
"breakdown": [
{
"step": "BASE",
"code": "base",
"detail": "$4.2/$1k × RC $380,000.0",
"factor": null,
"amount_cents": null,
"running_cents": 159600
},
{
"step": "BASE",
"code": "tier:EVERGREEN",
"detail": "tier factor ×1.22",
"factor": 1.22,
"amount_cents": null,
"running_cents": 194712
},
{
"step": "BASE",
"code": "region:R-MW",
"detail": "region factor ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 194712
},
{
"step": "RISK",
"code": "factor:roof_age",
"detail": "roof_age=11 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 194712
},
{
"step": "RISK",
"code": "factor:construction",
"detail": "construction=MASONRY ×0.95",
"factor": 0.95,
"amount_cents": null,
"running_cents": 184976
},
{
"step": "RISK",
"code": "factor:protection_class",
"detail": "protection_class=4 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 184976
},
{
"step": "RISK",
"code": "factor:dist_to_coast_mi",
"detail": "dist_to_coast_mi=60 ×1.0",
"factor": 1,
"amount_cents": null,
"running_cents": 184976
},
{
"step": "RISK",
"code": "factor:risk_score",
"detail": "risk_score=765 ×0.88",
"factor": 0.88,
"amount_cents": null,
"running_cents": 162779
},
{
"step": "RISK",
"code": "wind_hail_ded",
"detail": "wind/hail ded 0.02 ×0.96",
"factor": 0.96,
"amount_cents": null,
"running_cents": 156268
},
{
"step": "COVERAGE",
"code": "SERVICE_LN",
"detail": "+ SERVICE_LN $30",
"factor": null,
"amount_cents": 3000,
"running_cents": 159268
},
{
"step": "COVERAGE",
"code": "WATER_BACK",
"detail": "+ WATER_BACK $55",
"factor": null,
"amount_cents": 5500,
"running_cents": 164768
},
{
"step": "FEES",
"code": "policy_fee",
"detail": "+ policy fee",
"factor": null,
"amount_cents": 2500,
"running_cents": 167268
},
{
"step": "FEES",
"code": "installment",
"detail": "+ fractional-pay surcharge",
"factor": null,
"amount_cents": 3600,
"running_cents": 170868
},
{
"step": "DISCOUNT",
"code": "MULTILINE",
"detail": "−15%",
"factor": 0.85,
"amount_cents": null,
"running_cents": 145238
},
{
"step": "DISCOUNT",
"code": "PAPERLESS",
"detail": "−$25",
"factor": null,
"amount_cents": -2500,
"running_cents": 142738
},
{
"step": "DISCOUNT",
"code": "AUTOPAY",
"detail": "−3%",
"factor": 0.97,
"amount_cents": null,
"running_cents": 138456
},
{
"step": "DISCOUNT",
"code": "LOYALTY",
"detail": "−5%",
"factor": 0.95,
"amount_cents": null,
"running_cents": 131533
}
]
}Yes — it’s already applied on both of your active policies.
For your account, the loyalty discount is showing in the pricing breakdown as:
- LOYALTY — 5% off
Current policy examples:
- Auto: loyalty discount is applied, and your final premium is $491.84
- Home: loyalty discount is applied, and your final premium is $1,315.33
So you don’t need to do anything to activate it — your Timber tier is already qualifying you, and PEICO is already giving you the discount.
If you want, I can also walk through the rest of the discounts on each policy so you can see exactly what’s reducing your premium.
Perfect — that's exactly what I needed to know. Thanks so much for checking on that and explaining everything!
⚙ end_conversation()
{}{
"ok": true,
"note": "Deliver your closing message now."
}You’re very welcome, Marisol — happy to help. If you need anything else with your policies, just reach out anytime.