FAILURE MAP
← Case archive

FA-84746 / Betting odds conversion / Open access

Displayed boosted price multiplies the whole decimal price · case 01

The bet slip shows 2.50 for a 25 percent boost on 2.00.

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

ROOT CAUSE

The display boosts the full decimal price.

VERIFIED REPAIR

Display 1 + boosted profit per unit.

Unsuccessful approach: Adding the boost percentage as price points is not a profit boost.

Case contract

Profit boost promotion. Normal profit = stake * (price - 1). The boost increases the profit by boost_pct percent, but the extra winnings over the normal profit are capped at max_extra_cents. The displayed boosted price is 1 + (price - 1) * (1 + boost/100) rounded half up to two decimals (display only). Return [displayed price, potential return = stake + floor(normal profit + extra)].

Why this case matters

Promotional boosts must be applied to profit, not stake, and respect maximum extra winnings.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
import math
N = 1
observations = []
def solve(price, boost_pct, max_extra_cents, stake_cents):
    d = Fraction(price)
    b = Fraction(boost_pct) / 100
    normal = stake_cents * (d - 1)
    boosted = normal * (1 + b)
    extra = min(boosted - normal, max_extra_cents)
    shown = d * (1 + b)
    c = math.floor(shown * 100 + Fraction(1, 2))
    return ['%d.%02d' % (c // 100, c % 100), stake_cents + math.floor(normal + extra)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
    try:
        return solve(*args)
    except Exception as exc:
        return 'raised ' + type(exc).__name__
cases = [[('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('4.98', '100', 1000, 5000), ['8.96', 25900]),
  ('variant scenario 1', ('7.75', '50', 100000, 5000), ['11.13', 55625]),
  ('variant scenario 2', ('6.51', '100', 5000, 500), ['12.02', 6010])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('7.39', '20', 500, 1000), ['8.67', 7890]),
  ('variant scenario 1', ('5.26', '10', 100000, 1000), ['5.69', 5686]),
  ('variant scenario 2', ('1.56', '20', 500, 5000), ['1.67', 8300])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('6.76', '10', 100000, 5000), ['7.34', 36680]),
  ('variant scenario 1', ('3.43', '50', 5000, 1000), ['4.65', 4645]),
  ('variant scenario 2', ('3.19', '10', 1000, 500), ['3.41', 1704])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('7.30', '10', 500, 500), ['7.93', 3965]),
  ('variant scenario 1', ('6.33', '10', 100000, 500), ['6.86', 3431]),
  ('variant scenario 2', ('5.87', '20', 500, 1000), ['6.84', 6370])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('3.21', '20', 500, 5000), ['3.65', 16550]),
  ('variant scenario 1', ('7.15', '100', 100000, 5000), ['13.30', 66500]),
  ('variant scenario 2', ('6.84', '20', 1000, 2000), ['8.01', 14680])]]
for label, args, expected in cases[N - 1]:
    check(label, run(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
control boosted evens['2.50', 2250]['2.25', 2250]Failed
boundary capped extra['7.50', 6000]['7.00', 6000]Failed
control no boost['3.00', 3000]['3.00', 3000]Passed
boundary display half-up['2.38', 2125]['2.13', 2125]Failed
regression: display price['9.96', 25900]['8.96', 25900]Failed
variant scenario 1['11.63', 55625]['11.13', 55625]Failed
variant scenario 2['13.02', 6010]['12.02', 6010]Failed

SHA-256 / e5e041027a0bea0e8dfd028016f306c2016f4d0760ffb10b1ec1fa8e17339168

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
import math
N = 1
observations = []
def solve(price, boost_pct, max_extra_cents, stake_cents):
    d = Fraction(price)
    b = Fraction(boost_pct) / 100
    normal = stake_cents * (d - 1)
    boosted = normal * (1 + b)
    extra = min(boosted - normal, max_extra_cents)
    shown = d + b
    c = math.floor(shown * 100 + Fraction(1, 2))
    return ['%d.%02d' % (c // 100, c % 100), stake_cents + math.floor(normal + extra)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
    try:
        return solve(*args)
    except Exception as exc:
        return 'raised ' + type(exc).__name__
cases = [[('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('4.98', '100', 1000, 5000), ['8.96', 25900]),
  ('variant scenario 1', ('7.75', '50', 100000, 5000), ['11.13', 55625]),
  ('variant scenario 2', ('6.51', '100', 5000, 500), ['12.02', 6010])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('7.39', '20', 500, 1000), ['8.67', 7890]),
  ('variant scenario 1', ('5.26', '10', 100000, 1000), ['5.69', 5686]),
  ('variant scenario 2', ('1.56', '20', 500, 5000), ['1.67', 8300])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('6.76', '10', 100000, 5000), ['7.34', 36680]),
  ('variant scenario 1', ('3.43', '50', 5000, 1000), ['4.65', 4645]),
  ('variant scenario 2', ('3.19', '10', 1000, 500), ['3.41', 1704])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('7.30', '10', 500, 500), ['7.93', 3965]),
  ('variant scenario 1', ('6.33', '10', 100000, 500), ['6.86', 3431]),
  ('variant scenario 2', ('5.87', '20', 500, 1000), ['6.84', 6370])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('3.21', '20', 500, 5000), ['3.65', 16550]),
  ('variant scenario 1', ('7.15', '100', 100000, 5000), ['13.30', 66500]),
  ('variant scenario 2', ('6.84', '20', 1000, 2000), ['8.01', 14680])]]
for label, args, expected in cases[N - 1]:
    check(label, run(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
control boosted evens['2.25', 2250]['2.25', 2250]Passed
boundary capped extra['5.50', 6000]['7.00', 6000]Failed
control no boost['3.00', 3000]['3.00', 3000]Passed
boundary display half-up['2.15', 2125]['2.13', 2125]Failed
regression: display price['5.98', 25900]['8.96', 25900]Failed
variant scenario 1['8.25', 55625]['11.13', 55625]Failed
variant scenario 2['7.51', 6010]['12.02', 6010]Failed

SHA-256 / 2b0f6f0902f4d50c842a35fbb45565af636521f2d51df8f764d7d7114e308ab9

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
import math
N = 1
observations = []
def solve(price, boost_pct, max_extra_cents, stake_cents):
    d = Fraction(price)
    b = Fraction(boost_pct) / 100
    normal = stake_cents * (d - 1)
    boosted = normal * (1 + b)
    extra = min(boosted - normal, max_extra_cents)
    shown = 1 + (d - 1) * (1 + b)
    c = math.floor(shown * 100 + Fraction(1, 2))
    return ['%d.%02d' % (c // 100, c % 100), stake_cents + math.floor(normal + extra)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
    try:
        return solve(*args)
    except Exception as exc:
        return 'raised ' + type(exc).__name__
cases = [[('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('4.98', '100', 1000, 5000), ['8.96', 25900]),
  ('variant scenario 1', ('7.75', '50', 100000, 5000), ['11.13', 55625]),
  ('variant scenario 2', ('6.51', '100', 5000, 500), ['12.02', 6010])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('7.39', '20', 500, 1000), ['8.67', 7890]),
  ('variant scenario 1', ('5.26', '10', 100000, 1000), ['5.69', 5686]),
  ('variant scenario 2', ('1.56', '20', 500, 5000), ['1.67', 8300])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('6.76', '10', 100000, 5000), ['7.34', 36680]),
  ('variant scenario 1', ('3.43', '50', 5000, 1000), ['4.65', 4645]),
  ('variant scenario 2', ('3.19', '10', 1000, 500), ['3.41', 1704])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('7.30', '10', 500, 500), ['7.93', 3965]),
  ('variant scenario 1', ('6.33', '10', 100000, 500), ['6.86', 3431]),
  ('variant scenario 2', ('5.87', '20', 500, 1000), ['6.84', 6370])],
 [('control boosted evens', ('2.00', '25', 100000, 1000), ['2.25', 2250]),
  ('boundary capped extra', ('5.00', '50', 1000, 1000), ['7.00', 6000]),
  ('control no boost', ('3.00', '0', 1000, 1000), ['3.00', 3000]),
  ('boundary display half-up', ('1.90', '25', 100000, 1000), ['2.13', 2125]),
  ('regression: display price', ('3.21', '20', 500, 5000), ['3.65', 16550]),
  ('variant scenario 1', ('7.15', '100', 100000, 5000), ['13.30', 66500]),
  ('variant scenario 2', ('6.84', '20', 1000, 2000), ['8.01', 14680])]]
for label, args, expected in cases[N - 1]:
    check(label, run(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
control boosted evens['2.25', 2250]['2.25', 2250]Passed
boundary capped extra['7.00', 6000]['7.00', 6000]Passed
control no boost['3.00', 3000]['3.00', 3000]Passed
boundary display half-up['2.13', 2125]['2.13', 2125]Passed
regression: display price['8.96', 25900]['8.96', 25900]Passed
variant scenario 1['11.13', 55625]['11.13', 55625]Passed
variant scenario 2['12.02', 6010]['12.02', 6010]Passed

SHA-256 / 6686e5f3a2788ad200552bf5b0b83b82f5881cc10346f92ded0405a0c34ae029

Verification & scope

Stipulated, bounded toy contract stated in the contract field; not a claim of conformance with any operator, exchange or regulator rule set. 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:50:33.949728+00:00.

Case digest / 75dcf3ce1053ff8c9fcae205f7224397da21f6f8845cde80b054776351250c1e