FAILURE MAP
← Case archive

FA-63136 / Insurance premium rating / Open access

Multi-policy discount stacking: Discounted premium falls below the minimum · case 01

Heavily discounted small policies are billed below the minimum premium.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The minimum premium floor is missing after discounts.

VERIFIED REPAIR

Floor the net premium at min_premium.

Unsuccessful approach: Skipping the floor for capped policies leaves the same gap for them.

Case contract

Input premium, discounts [[group, code, per mille]], cap per mille, min_premium. A code repeated within a group counts once at its largest value; codes within a group add; groups combine multiplicatively; the total discount 1-product is capped; net = premium*(1-d) rounded half-up, then floored at min_premium.

Why this case matters

Premium rating engines apply ordered tabular rules where one misplaced boundary or step silently misprices policies.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(x):
    groups={}
    for g,code,v in x['discounts']:
        groups.setdefault(g,{})
        groups[g][code]=max(groups[g].get(code,0),v)
    f=Fraction(1)
    for g in sorted(groups):
        f*=1-Fraction(sum(groups[g].values()),1000)
    d=min(Fraction(x['cap'],1000),1-f)
    net=math.floor(x['premium']*(1-d)+Fraction(1,2))
    return net
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['two groups multiply', {'premium': 179834, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 51], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 147122], ['duplicate discount code', {'premium': 83536, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 72676], ['duplicate code rising value', {'premium': 216432, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 199377], ['cap binds', {'premium': 295817, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 221863], ['single group', {'premium': 83079, 'discounts': [['vehicle', 'abs', 45], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 77263], ['minimum premium binds', {'premium': 22100, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 114606, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 114606]], [['two groups multiply', {'premium': 259533, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 52], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 212090], ['duplicate discount code', {'premium': 222796, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 193833], ['duplicate code rising value', {'premium': 264635, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 243782], ['cap binds', {'premium': 274466, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 205850], ['single group', {'premium': 122187, 'discounts': [['vehicle', 'abs', 48], ['vehicle', 'alarm', 51]], 'cap': 350, 'min_premium': 20000}, 110090], ['minimum premium binds', {'premium': 22200, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 67195, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 67195]], [['two groups multiply', {'premium': 246480, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 53], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 201202], ['duplicate discount code', {'premium': 212077, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 184507], ['duplicate code rising value', {'premium': 239143, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 220299], ['cap binds', {'premium': 260788, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 195591], ['single group', {'premium': 76428, 'discounts': [['vehicle', 'abs', 25], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 72607], ['minimum premium binds', {'premium': 22300, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 231596, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 231596]], [['two groups multiply', {'premium': 234855, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 54], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 191501], ['duplicate discount code', {'premium': 62000, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 53940], ['duplicate code rising value', {'premium': 164924, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 151928], ['cap binds', {'premium': 160428, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 120321], ['single group', {'premium': 150010, 'discounts': [['vehicle', 'abs', 53], ['vehicle', 'alarm', 34]], 'cap': 350, 'min_premium': 20000}, 136959], ['minimum premium binds', {'premium': 22400, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 64059, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 64059]], [['two groups multiply', {'premium': 70322, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 55], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 57277], ['duplicate discount code', {'premium': 120452, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 104793], ['duplicate code rising value', {'premium': 89846, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 82766], ['cap binds', {'premium': 116342, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 87257], ['single group', {'premium': 214086, 'discounts': [['vehicle', 'abs', 20], ['vehicle', 'alarm', 44]], 'cap': 300, 'min_premium': 20000}, 200384], ['minimum premium binds', {'premium': 22500, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 211453, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 211453]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
two groups multiply147122147122Passed
duplicate discount code7267672676Passed
duplicate code rising value199377199377Passed
cap binds221863221863Passed
single group7726377263Passed
minimum premium binds1829920000Failed
capped policy at minimum1960020000Failed
no discounts114606114606Passed

SHA-256 / 78eaae8fe29e72f3b0bd9a45d3350ba1fd9ac38a7564ccbc483b74793a05cfb3

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(x):
    groups={}
    for g,code,v in x['discounts']:
        groups.setdefault(g,{})
        groups[g][code]=max(groups[g].get(code,0),v)
    f=Fraction(1)
    for g in sorted(groups):
        f*=1-Fraction(sum(groups[g].values()),1000)
    d=min(Fraction(x['cap'],1000),1-f)
    net=math.floor(x['premium']*(1-d)+Fraction(1,2))
    return max(net,x['min_premium']) if d<Fraction(x['cap'],1000) else net
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['two groups multiply', {'premium': 179834, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 51], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 147122], ['duplicate discount code', {'premium': 83536, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 72676], ['duplicate code rising value', {'premium': 216432, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 199377], ['cap binds', {'premium': 295817, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 221863], ['single group', {'premium': 83079, 'discounts': [['vehicle', 'abs', 45], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 77263], ['minimum premium binds', {'premium': 22100, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 114606, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 114606]], [['two groups multiply', {'premium': 259533, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 52], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 212090], ['duplicate discount code', {'premium': 222796, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 193833], ['duplicate code rising value', {'premium': 264635, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 243782], ['cap binds', {'premium': 274466, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 205850], ['single group', {'premium': 122187, 'discounts': [['vehicle', 'abs', 48], ['vehicle', 'alarm', 51]], 'cap': 350, 'min_premium': 20000}, 110090], ['minimum premium binds', {'premium': 22200, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 67195, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 67195]], [['two groups multiply', {'premium': 246480, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 53], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 201202], ['duplicate discount code', {'premium': 212077, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 184507], ['duplicate code rising value', {'premium': 239143, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 220299], ['cap binds', {'premium': 260788, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 195591], ['single group', {'premium': 76428, 'discounts': [['vehicle', 'abs', 25], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 72607], ['minimum premium binds', {'premium': 22300, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 231596, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 231596]], [['two groups multiply', {'premium': 234855, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 54], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 191501], ['duplicate discount code', {'premium': 62000, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 53940], ['duplicate code rising value', {'premium': 164924, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 151928], ['cap binds', {'premium': 160428, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 120321], ['single group', {'premium': 150010, 'discounts': [['vehicle', 'abs', 53], ['vehicle', 'alarm', 34]], 'cap': 350, 'min_premium': 20000}, 136959], ['minimum premium binds', {'premium': 22400, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 64059, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 64059]], [['two groups multiply', {'premium': 70322, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 55], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 57277], ['duplicate discount code', {'premium': 120452, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 104793], ['duplicate code rising value', {'premium': 89846, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 82766], ['cap binds', {'premium': 116342, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 87257], ['single group', {'premium': 214086, 'discounts': [['vehicle', 'abs', 20], ['vehicle', 'alarm', 44]], 'cap': 300, 'min_premium': 20000}, 200384], ['minimum premium binds', {'premium': 22500, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 211453, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 211453]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
two groups multiply147122147122Passed
duplicate discount code7267672676Passed
duplicate code rising value199377199377Passed
cap binds221863221863Passed
single group7726377263Passed
minimum premium binds2000020000Passed
capped policy at minimum1960020000Failed
no discounts114606114606Passed

SHA-256 / 8e897958ad4d33699f57367eed30537d09ce7ebb4d9f734c5ee4a54be7ffcd83

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(x):
    groups={}
    for g,code,v in x['discounts']:
        groups.setdefault(g,{})
        groups[g][code]=max(groups[g].get(code,0),v)
    f=Fraction(1)
    for g in sorted(groups):
        f*=1-Fraction(sum(groups[g].values()),1000)
    d=min(Fraction(x['cap'],1000),1-f)
    net=math.floor(x['premium']*(1-d)+Fraction(1,2))
    return max(net,x['min_premium'])
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['two groups multiply', {'premium': 179834, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 51], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 147122], ['duplicate discount code', {'premium': 83536, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 72676], ['duplicate code rising value', {'premium': 216432, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 199377], ['cap binds', {'premium': 295817, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 221863], ['single group', {'premium': 83079, 'discounts': [['vehicle', 'abs', 45], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 77263], ['minimum premium binds', {'premium': 22100, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 114606, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 114606]], [['two groups multiply', {'premium': 259533, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 52], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 212090], ['duplicate discount code', {'premium': 222796, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 193833], ['duplicate code rising value', {'premium': 264635, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 243782], ['cap binds', {'premium': 274466, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 205850], ['single group', {'premium': 122187, 'discounts': [['vehicle', 'abs', 48], ['vehicle', 'alarm', 51]], 'cap': 350, 'min_premium': 20000}, 110090], ['minimum premium binds', {'premium': 22200, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 300, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 67195, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 67195]], [['two groups multiply', {'premium': 246480, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 53], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 201202], ['duplicate discount code', {'premium': 212077, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 350, 'min_premium': 20000}, 184507], ['duplicate code rising value', {'premium': 239143, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 300, 'min_premium': 20000}, 220299], ['cap binds', {'premium': 260788, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 195591], ['single group', {'premium': 76428, 'discounts': [['vehicle', 'abs', 25], ['vehicle', 'alarm', 25]], 'cap': 350, 'min_premium': 20000}, 72607], ['minimum premium binds', {'premium': 22300, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 231596, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 231596]], [['two groups multiply', {'premium': 234855, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 54], ['driver', 'student', 40]], 'cap': 300, 'min_premium': 20000}, 191501], ['duplicate discount code', {'premium': 62000, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 53940], ['duplicate code rising value', {'premium': 164924, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 151928], ['cap binds', {'premium': 160428, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 120321], ['single group', {'premium': 150010, 'discounts': [['vehicle', 'abs', 53], ['vehicle', 'alarm', 34]], 'cap': 350, 'min_premium': 20000}, 136959], ['minimum premium binds', {'premium': 22400, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 64059, 'discounts': [], 'cap': 350, 'min_premium': 20000}, 64059]], [['two groups multiply', {'premium': 70322, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 55], ['driver', 'student', 40]], 'cap': 350, 'min_premium': 20000}, 57277], ['duplicate discount code', {'premium': 120452, 'discounts': [['policy', 'home', 100], ['policy', 'home', 80], ['policy', 'life', 30]], 'cap': 300, 'min_premium': 20000}, 104793], ['duplicate code rising value', {'premium': 89846, 'discounts': [['driver', 'safe', 40], ['driver', 'safe', 60], ['vehicle', 'abs', 20]], 'cap': 350, 'min_premium': 20000}, 82766], ['cap binds', {'premium': 116342, 'discounts': [['policy', 'home', 150], ['driver', 'safe', 150], ['vehicle', 'abs', 100], ['vehicle', 'alarm', 50]], 'cap': 250, 'min_premium': 20000}, 87257], ['single group', {'premium': 214086, 'discounts': [['vehicle', 'abs', 20], ['vehicle', 'alarm', 44]], 'cap': 300, 'min_premium': 20000}, 200384], ['minimum premium binds', {'premium': 22500, 'discounts': [['policy', 'home', 100], ['driver', 'safe', 80]], 'cap': 350, 'min_premium': 20000}, 20000], ['capped policy at minimum', {'premium': 28000, 'discounts': [['policy', 'home', 200], ['driver', 'safe', 200]], 'cap': 300, 'min_premium': 20000}, 20000], ['no discounts', {'premium': 211453, 'discounts': [], 'cap': 300, 'min_premium': 20000}, 211453]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
two groups multiply147122147122Passed
duplicate discount code7267672676Passed
duplicate code rising value199377199377Passed
cap binds221863221863Passed
single group7726377263Passed
minimum premium binds2000020000Passed
capped policy at minimum2000020000Passed
no discounts114606114606Passed

SHA-256 / f98e14812180ea94dbb4d2c9ce412cfab2f5a2868e3a23cf11a4c348598344ed

Verification & scope

A deterministic bounded teaching model of a stipulated toy rating contract. Amounts are integer cents and factors exact rationals; it makes no claim of conformance with any filed rating plan, bureau manual or jurisdiction. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:47:11.502379+00:00.

Case digest / 1a8ca78b5f54dfc43c2a7b4bcf9f707ba2239be00601750ffe9284c4a5abe93f