Junction 2026  /  Bahn Express Spread

Spread
desk

One formula prices every car. When play ran short, we built our own world to test ideas in, and ran it on CRACI.

€12,376a week on 120 unseen practice weeks
0.4 msa quote, no model on the quote path
1,442stand-in weeks in 4 min 41 s on one runner

The job

A week of car deliveries, scored in euros, and void below 90% on time

Dealer requestabout 1,000 a week
Our quote15 minutes to answer
competitor winsDealer buys elsewherecosts us nothing
Gig for a driverwe set the fee
no driver in timeLatepart of the price back
Delivered on timethe dealer pays our price
90%of orders on time, or the week is not ranked, whatever its margin
10–50%of the price goes back to the dealer for a late car
⅓of the usual drivers at level 8, the final's level, against a dearer competitor

The desk

One formula makes every quote, and a car likely to be late costs more

price = argmaxm  P(sale | m, today's shift) × (m × list price − C)

C = typical fee × (1.2 + 0.8 × p × won cars without a driver) + €150 × p

p the chance the order ends late: a logistic fit over 94,000 won orders, from what is known at the quote

P(sale) the win curve, fitted on 50 weeks of random prices and shifted each day by that day's wins and losses

€150 the refund and the dealer's lost trust

0.4 ms a quote: no model on the quote path

What carries the margin

Four ideas carry the margin, each played against the same desk without it

+€982

The day's market is one number

Read from the day's wins and losses: €5,609 against €4,627 a week on 10 held-out weeks

5 → 0

Each car's late chance is in its price

Weeks under 90% on time, on the 10 lowest weeks; +€2,854 a week there

+€3,237

Fees stop where drivers stop answering

Drivers book in a gig's first 15 minutes; ahead in 20 of 20 fresh weeks

8.8 → 1.2

Rules read every note before the first gig

Failed visits a week, against the kit's starter that learns a note from a failed visit

€12,376

a week on 120 unseen practice weeks, with no week under 90% on time. Saturday's 15:00 ranking round: place 40 of 62, at 0.81 of tenth place.

The stand-in

We needed more orders and had little play, so we built a world the desk plays offline

Saturday's 15:00 ranking round, a week

Orders, top ten
441
Orders, ours
332

at nearly the same margin an order: €41.4 against €41.6

8practice worlds per team key, on one request bucket, until practice closed at 02:57

A recorded week can be replayed, but it cannot say how dealers and drivers answer a different price.

Our deskthe same code that plays on Bahn's server
quotes, gigs, offers →← requests, bookings, money
Stand-in world

Dealers answer by our win curve at each day's level, measured on the played week of the same seed

Drivers book an open gig by a fitted chance a minute: a Poisson regression on 4.6 million slices of 2,771 played weeks

Rules follow Bahn's: fee schedules, stop windows, expiry, direct offers

CRACI as the farm

One CRACI runner played 1,442 stand-in weeks in 4 min 41 s

One CRACI runner: 32 cores, 94 GB, 206 saved seeds0

0:00 of 4:41  

Saturday 21:33 the idea, 23:26 a joint search on 16 runners: 1 h 53 min. A stand-in week takes 3 to 6 CPU-seconds, 97% of them in our own desk code, and every week is independent: the work needs cores and nothing else.

Three jobs on the farm

CRACI ran the stand-in as a CI matrix, a merge gate and a joint search

15 + 14

Calibration as a CI matrix

Each design of the world is fitted and scored on its own runner against held-out played weeks, in two rounds

206

A screen as the merge gate

One dispatch plays any branch's variants against the base on 206 saved seeds

192

A joint search

17 settings move together: arms in a Latin hypercube, 16 shards on 16 runners, read by a ridge model with pair terms

No secret in the job. The workflows hold no team key. A small broker checks the job's GitHub OIDC token and returns a read-only token for the saved weeks.

263 jobs, 37 runner-hours in the farm's first two and a half hours.

Trust, measured

The stand-in ranks like play on natural worlds, and where it lied, the lie went into the rules

43 of 46 decided pairs ranked as play ranks them, on seeds its fit never saw

Correlation of its gains with play's

Natural worlds
0.96
Few drivers
0.37

A fee held low, € a week

Stand-in
+€540
Play
−€1,323

read backwards

A FAIL is trusted. A PASS is a reason to play a part, not to merge it.

The overnight loop

A merge queue and a minute loop decide every part on played weeks

Lanetests on the stand-in only
Entry gatetests, a to-the-cent replay, CI, a stand-in run
failsBack to its lanenever queued
Head of mainall 8 worlds: the head and a twin
a week under 90%Rolled backwithin the minute
Tag20 own weeks each side of 760 drivers
Rounds and finalthe final's tag needs 60

A tag needs 20 weeks of its own on each side of 760 drivers, none under 90%. Once a minute the loop promotes the next part in the queue, or rolls the head back at any week under 90%. Merge 5 lost a week at 89.4% that merge 4 held at 91.3%, so the head went back to merge 4.1.

What the night added

played against the default on the same unseen weeks   estimate: merge 1 plus paired gains on separate seeds   Default: €12,376 a week

One formula. A world of our own to test it. Play has the last word.