FA-63126 / Insurance premium rating / Open access
Multi-policy discount stacking: Discount groups are added instead of multiplied · case 01
Policies with several discount groups receive too large a discount.
ROOT CAUSE
Group factors are combined additively.
VERIFIED REPAIR
Multiply the group factors.
Unsuccessful approach: Keeping only the best group ignores the other groups.
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-=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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| two groups multiply | 145486 | 147122 | Failed |
| duplicate discount code | 72676 | 72676 | Passed |
| duplicate code rising value | 199117 | 199377 | Failed |
| cap binds | 221863 | 221863 | Passed |
| single group | 77263 | 77263 | Passed |
| minimum premium binds | 20000 | 20000 | Passed |
| capped policy at minimum | 20000 | 20000 | Passed |
| no discounts | 114606 | 114606 | Passed |
SHA-256 / cf59f259dc9117df19e8be7c6ccfb9bb23577ae5769419c25bbf4ea47fb572a8
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=min(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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| two groups multiply | 161851 | 147122 | Failed |
| duplicate discount code | 72676 | 72676 | Passed |
| duplicate code rising value | 203446 | 199377 | Failed |
| cap binds | 251444 | 221863 | Failed |
| single group | 77263 | 77263 | Passed |
| minimum premium binds | 20000 | 20000 | Passed |
| capped policy at minimum | 22400 | 20000 | Failed |
| no discounts | 114606 | 114606 | Passed |
SHA-256 / 076f21078feaf15a5bf66ee205d160b99e63e43ef2cdb553f42ddf9d6dbf655b
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| two groups multiply | 147122 | 147122 | Passed |
| duplicate discount code | 72676 | 72676 | Passed |
| duplicate code rising value | 199377 | 199377 | Passed |
| cap binds | 221863 | 221863 | Passed |
| single group | 77263 | 77263 | Passed |
| minimum premium binds | 20000 | 20000 | Passed |
| capped policy at minimum | 20000 | 20000 | Passed |
| no discounts | 114606 | 114606 | Passed |
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.454811+00:00.
Case digest / 87fe2ad2743c83b199efa8dc45d8b1236a443745c5a04ae80c62e6f8c843b2c4