NIM Market Decisions Day 2026 · AI Research & Technology Lab

The Numbers Behind Built to Last & LOOP

A complete, honest account of every factor, coefficient and algorithm that drives the two MDD26 games — so you can hold our numbers up against your own view of reality.

Model paper · 2026 · Nuremberg Institute for Market Decisions

Abstract

Two games, two simulation models, zero hidden math

Every result either game shows a player — a company valuation, a CO₂e figure, an end-of-run verdict — is computed from a numeric model. This paper documents those models in full: the state variables, the per-industry parameters, the yearly update equations, the scoring formulas, and the rationale behind every coefficient.

Built to Last is a deterministic, equation-driven business simulation: a company makes one durable product over 10, 20, or 30 years, and the thesis under test is that longevity is a financial strategy that compounds. LOOP is a 90-second arcade round whose every point value encodes the waste hierarchy, and whose end-screen impact figures are calibrated against published life-cycle-assessment literature. We treat the two differently on purpose, and we say which is which.

Read this first

These are games, not oracles

Neither model is a predictive economic forecast, and we are not asking you to believe otherwise. They are built to be directionally realistic and internally consistent: the relationships point the right way, the magnitudes are plausible, and the same inputs always produce the same outputs. That is enough to make a strategy argument playable — it is not enough to value your company.

So here is the deal this document makes with you. For Built to Last we invent no external citations, because the numbers are design choices tuned for a fair, legible game; instead we show you exactly what each one is and the reasoning we used to pick it. For LOOP, the per-product environmental figures are anchored to real LCA sources, and we reproduce those anchors here — including honest provisional flags on the rows that never passed source verification. Your job, as a researcher, is the fun part: compare our numbers with reality and tell us where we are wrong.

Provenance Every formula and constant below is transcribed directly from the games' shipping simulation code.

Part I — The deep dive

Built to Last

A boardroom strategy game disguised as a spreadsheet, and a spreadsheet disguised as a thesis: that patient, repairable, well-served products are not a moral luxury but a compounding financial machine — given enough runway.

1 · What the model is

You run a company that makes one durable product — washing machines, smartphones, or backpacks — for 10, 20, or 30 years. Each year you see one news event and a small hand of decision cards; you pick one card; the model advances one year and shows you the consequences. At the end it scores your company's Sustainable Enterprise Value and names the kind of company you built.

Three properties matter for reading the rest of this paper:

Units convention

Money is in M€ (millions of euros). Units are in k-units (thousands). Footprint is in kt (kilotonnes). The six player levers and trust are normalized to [0, 1]. Price is carried as a multiple of the inflation-indexed reference price.

The three scenarios

The Sprint — 10 years. Prove it fast.
The Classic — 20 years. The full thesis.
The Marathon — 30 years. Outlive your critics. Longer scenarios give the compounding mechanics more time to express themselves, which is the entire point of the longevity argument.

2 · State variables

Everything the model knows about your company at the start of a year fits in three groups: the six levers you steer, the market and economic state, and five hidden world forces you can nudge but never set directly.

The six player levers — each ∈ [0, 1], moved at most ±0.20 per year
LeverSymbolWhat it isPulls on
QualityqHow well the product is engineered.Lifespan, trust, unit cost.
RepairabilityrHow openable / fixable the design is.Lifespan, repaired share, service, footprint, trust.
Parts priceppHow hard you gouge on spare parts.Repair volume (−), service €/unit (+), trust (−).
Service networksnReach of your repair/service org.Repaired share, service attach, trust, opex.
ReachreachMarketing presence. Decays ×0.6/yr.Attractiveness → market share.
Price multiplierpriceMultSticker price ÷ reference price, ∈ [0.5, 2.5].Price competitiveness, trust (overprice), revenue.
Market, economic & derived state
VariableMeaning
trustBrand trust ∈ [0, 1] — a slow, asymmetric hysteresis variable (§5).
installedBaseLive units in the field, k. The asset the whole compounding thesis rests on.
shareShare of annual demand, moved toward a sigmoid target with inertia.
cashWar chest, M€. Below the credit line → bankruptcy.
footprintCumCumulative embodied footprint, kt (seeded with the inherited fleet's carbon).
unitCost · priceDerived each year from levers, scale, and resource costs.
The five hidden world forces — the weather you operate inside
ForceSymbolStartBehaviour
Longevity preferenceL0.30Secular taste for things that last; drifts up +0.015/yr.
Resource cost indexRC1.0Input-cost weather; compounds ×1.015/yr, capped at 2.5.
Regulation stringencyREG0.05Right-to-repair pressure; drifts up with L.
Regulatory heatH0Hidden; throwaway play raises it and invites regulators.
Competitor pressureC0.5Mean-reverts to 0.5; your success attracts imitators.

3 · The three industries

Each industry is a full parameter set, and the differences are the whole game's texture. Phones are a knife-fight: short lives, huge market, brutal margins, everyone sealing everything shut. Machines are heavy and beloved, with a service market hiding in plain sight. Backpacks are cheap, sturdy, and eminently repairable — lifetime-repair legends and landfill mountains are both made here. The table is transcribed verbatim from the model's industry definitions.

Per-industry parameters
ParameterWashing machinesSmartphonesBackpacksMeaning
P0899699149Starting sticker price, €
BASE_COST62046072Mfg cost at q=r=0.5, RC=1, €
MARKET_UNITS40060002500Total annual market, k units
share00.100.050.06Starting share of demand
IB0280800700Starting installed base, k
LIFE_BASE8.03.26.0Product life at q=0.5, years
cash04011010Starting war chest, M€
OPEX_FIXED13707.5Fixed yearly opex, M€
SERVICE_REV_BASE80559Service €/unit/yr at attach=1, pp=0
CREDIT_LINE−20−70−6Bankruptcy floor, M€
q00.550.500.60Starting quality
r00.400.250.50Starting repairability
sn00.350.250.30Starting service network
pp00.450.600.35Starting parts price
trust00.550.500.62Starting brand trust
FP_UNIT0.450.060.012Footprint per unit, t
ELASTICITY 1.11.61.25Price sensitivity
CAPEX_SCALE1.02.50.7Scales all decision capex/costs
UV60256Installed-base unit value for SEV, €
EFF_REF1345470Reference IB-years per kt footprint

The parameters encode the archetypes directly. Smartphones: a 3.2-year base life, a 6-million-unit market with a thin 5% start, a high 1.6 elasticity, and a 60% starting parts-price habit — short-lived, high-churn, gouge-prone. Their CAPEX_SCALE of 2.5 means every project costs 2.5× the machines-denominated sticker on the card; their footprint per unit is tiny (0.06 t) but they ship in enormous volume. Washing machines: an 8-year life, an 80 €/unit service base — the richest service market — and a heavy 0.45 t footprint per unit. Backpacks: cheap to build (72 €), highly repairable from the start (r0=0.50), almost weightless to make (0.012 t), but with a tiny 10 M€ cash cushion and a punishing −6 M€ credit line — there is no room for error. The lopsided EFF_REF values (13 vs 45 vs 470 IB-years/kt) simply normalize the efficiency term of the score to each industry's physical reality.

4 · The yearly tick

One click advances one year. Internally that is a fixed pipeline, run once, in this order. The numbering follows the model's own internal step labels (which group the event/decision steps as 1–3 and skip a vestigial 4). Crucially, the event resolution order depends on what the event is: judgments of the past — scandals, exposés, virality — resolve on pre-decision state (you cannot un-scandal yourself by picking the quality card the same year), while tests of the present — audits, labels, teardowns, trends — resolve after your decision, so answering the news can actually change the verdict.

0YEAR STARTdraw the authored event · deal the decision hand (chain → pool → dial) 1EVENT + DECISION EFFECTSapply both — pre-decision for scandals, post-decision for audits & trends 5SECULAR DRIFTL +0.015 · RC ×1.015 · REG +0.008·L · reach ×0.6 · q += qDrift 6DURABILITY & CHURNlife(q,r) → failures = IB / life → repairedShare → exits 7DEMAND & SHAREprice → priceComp → attractiveness → sigmoid(k=3.5) → unitsSold 8SERVICE REVENUEattach × installedBase × €/unit × (1 + 0.8·pp) [+ RtR bonus] 9FINANCIALS → PROFITgross − opex − sn − compliance − carbon − interest; cash += profit 10TRUST HYSTERESISweighted target; move at 0.12 (earning) or 0.55 (losing) 11WORLD UPDATEinstalledBase, footprint, regulatory heat H, competitor pressure C 12RECORD + SEV PROXYappend the YearRecord · recompute the running valuation 13TERMINAL CHECKcash < CREDIT_LINE → bankrupt · year ≥ N → finish · else ↻ next year
The yearly tick. A pure, deterministic pipeline run once per advanced year — every box below is detailed in §5.

5 · Core formulas

One formula card per system. Each equation is the model's actual yearly update; each coefficient is a named constant — every one listed, with its meaning, in the appendix — quoted with the intent recorded beside it in the source. mod(key) denotes the product (for mult) or sum (for add) of any active timed modifiers from cards and events; clamp01 clamps to [0, 1].

crossover throwaway longevity value yr 1 yr 20+
The thesis in one shape (schematic). Throwaway wins early — fast sales, low cost. Longevity is quiet for years, then the installed base, service revenue and a world drifting toward repair compound past it. Whether you ever reach the crossover depends on your runway: the Sprint may end before it; the Marathon rarely does. This is the mechanism the §4 pipeline produces, not a literal sim trace.

Durability & churn

life · failures · repairedShare · exitstick · step 6
life          = LIFE_BASE · (0.6 + 0.9·q) · (1 + 0.35·r) · mod(life)
failures      = installedBase / max(0.5, life)
repairedShare = clamp( r · (0.2 + 0.8·sn) · (1 − 0.45·pp),  0,  0.95 )
exits         = failures · (1 − repairedShare)

Quality stretches life multiplicatively: a q=0 product still lasts 0.6× the industry base, a q=1 product 1.5×. Repairability adds up to a further +35% (LIFE_R_COEF 0.35). Each year a fixed slice of the fleet fails (1/life); of those, repairedShare are rescued — but only if a service network exists (REPAIR_SN 0.2 + 0.8·sn) and you don't gouge on parts (REPAIR_PP_PENALTY 0.45). Repaired share is capped at 0.95: nothing is perfectly repairable. The 0.5-year floor on life prevents a divide-by-zero blow-up.

Demand & share

price → attractiveness → sigmoid → units soldtick · step 7
rcPass      = (RC · mod(rc)) ^ 0.6
price       = priceMult · P0 · rcPass
marketAvg   = P0 · rcPass · (1 − 0.2·(C − 0.5)) · mod(avgPrice)
priceComp   = clamp01( 0.5 − ELASTICITY·(price − marketAvg)/marketAvg )
attract     = 0.40·priceComp + 0.25·trust + 0.25·L·(q+r)/2
            + 0.15·reach − 0.20·(C − 0.5)
attract    += clamp( 0.5·(trust − 0.5)·min(1.5, IB/IB0), −0.08, 0.25 )   // WOM
sig         = 1 / (1 + e^(−3.5·(attract − 0.5)))
shareTarget = clamp( share0·(0.18 + 2.0·sig),  0.3·share0,  3.5·share0 )
share      += (shareTarget − share) · 0.35
loyalty     = min(0.7, 0.25 + 0.35·trust)
conquest    = MARKET_UNITS · share · mod(market) · mod(conquest)
unitsSold   = max(0, exits·loyalty + conquest)·mod(sales) + extraUnits

Resource costs pass to price only partially (RC^0.6) so real margins erode slowly over decades while service revenue does not. Attractiveness is a weighted blend — price (0.40), trust (0.25), longevity appeal scaled by the world's taste L (0.25), reach (0.15), minus competitor pressure (0.20). The word-of-mouth flywheel (WOM_COEF 0.5) adds a trust-driven bonus scaled by installed base, capped at +0.25; the downside saturates at −0.08 — people still buy junk from brands they distrust, which is the throwaway business model. The sigmoid (k=3.5) maps attractiveness to a share signal, calibrated so an untouched company holds ≈ share0. Inertia 0.35 lets strategies surface over a few years. Demand splits into loyal repeat buyers (the units that just exited × loyalty) and conquest of the fresh market.

inflection (0.5, 0.5) sig 0.5 0 attract 0.5 1.0
Share sigmoid, k=3.5. Gentle enough that no single attractiveness term runs away, steep enough that the gap between a 0.4 and a 0.6 company is real.
r=0 r=0.5 r=1.0 yrs 12 6 q=0 q=1
life(q, r) for washing machines (LIFE_BASE 8). Both levers stretch lifespan; together they roughly triple it — and a longer life shrinks the failure stream that feeds churn.

Service revenue

attach · parts uplift · RtR bonustick · step 8
attach     = repairedShare
if r ≥ 0.5:  attach ·= (1 + 0.2·REG)          // right-to-repair expands the market
attach     = min(1, attach)
serviceRev = installedBase · attach · SERVICE_REV_BASE · (1 + 0.8·pp) / 1000 · mod

You earn service € on the share of the fleet that actually returns for repair (attach = repairedShare). Build a genuinely repairable product (r ≥ 0.5) and right-to-repair regulation expands that market by up to +20%·REG (REG_SERVICE_BONUS 0.2) — the prepared profit from the rules that punish the unprepared. Parts pricing lifts € per unit (PARTS_UPLIFT 0.8), but the same pp suppresses repaired share upstream and bleeds trust, so gouging self-limits. Attach is physically capped at 1: a fleet cannot more-than-fully attach.

Financials

unit cost · margins · the four levies · profittick · step 9
units0       = MARKET_UNITS · share0
scaleEcon    = clamp( (unitsSold/units0)^(−0.07),  0.75,  1.25 )
unitCost     = BASE_COST · baseCostFactor
             · (1 + 0.55·(q−0.5) + 0.18·(r−0.5)) · (RC·mod) · mod · scaleEcon
productGross = unitsSold · (price − unitCost) / 1000
serviceGross = serviceRev · 0.55
compliance   = max(0, REG·0.7 − r) · 25 · REG · unitsSold / 1000
footprint    = unitsSold · FP_UNIT · (1 − 0.15·r)
carbon       = carbonTax ? footprint · 90 / 1000 : 0
snCost       = 2.5 · sn · CAPEX_SCALE
interest     = cash < 0 ? 0.08 · (−cash) : 0
profit       = productGross + serviceGross − opex − snCost
             − compliance − carbon − interest

Virtue is expensiveCOST_Q 0.55 is the deliberate main brake on longevity dominance; a top-quality build adds ~28% to the bill of materials, repairability another ~9% (COST_R 0.18). Mild scale economies (±25%, exponent −0.07) reward volume slightly. Service carries a fat 55% margin — the compounding engine. Then four levies bite the throwaway player specifically: compliance 25 €/unit when regulation outruns your repairability; carbon 90 €/t once a carbon tax fires; interest 8% while in the red; and the service-network running cost (2.5 M€ per full sn).

Trust hysteresis

weighted target · asymmetric approachtick · step 10
target = 0.50 + 0.35·(q−0.5) + 0.25·(r−0.5) + 0.15·(0.5−pp)
       + 0.15·sn·min(1, IB/IB0) − 0.20·max(0, priceMult − 1 − 0.6·q)
target = clamp01( target + mod(trustTarget) )
rate   = (target > trust) ? 0.12  /* earning */  : 0.55  /* losing */
trust += (target − trust) · rate

Trust's equilibrium is a weighted read on whether you deserve it: quality (0.35), repairability (0.25), fair parts pricing (0.15), and a real service network (0.15) — minus a penalty for charging more than your quality justifies. You may price up to 0.6·q above reference for free; past that, trust bleeds (TRUST_OVERPRICE_W 0.2). The asymmetry is the whole point: you climb toward a higher target at 0.12/yr but fall toward a lower one at 0.55/yr — about 5 years to earn a level, 1.5 to lose it.

earning · +0.12/yr losing · 0.55/yr 0.8 0.5 0.2 yr 0 yr 11
The asymmetry, drawn. A brand climbing toward 0.8 inches up over many years; the same brand falling toward 0.2 is most of the way there inside two. One scandal undoes a decade of earned trust — which is exactly how reputations behave.

World dynamics

the slow weather: L · RC · REG · reach · H · Ctick · steps 5 & 11
L     += 0.015                                   // longevity taste drifts up
RC     = min(2.5, RC · 1.015)                    // resource costs compound
REG   += 0.008 · L            // unless a lobby froze it this year
reach ·= 0.6                                     // campaigns fade
H      = clamp01( 0.9·H + 0.06·max(0, 0.5 − (q+r)/2) )       // regulatory heat
C      = clamp01( C + (0.5 − C)·0.10 + (shareGrowth > 0.15 ? 0.04 : 0) )

The world slowly turns toward longevity (L +0.015/yr) and gets costlier to extract from (RC ×1.015/yr) — both quietly favour durability over a long run, which is the thesis embedded in the environment itself. Regulation ratchets with public taste. Reach is a flow, not a stock: it decays 40%/yr (REACH_DECAY 0.6), so marketing-led plays must keep paying. Hidden regulatory heat accumulates when your product sits below median (q+r < 1), decaying at 0.9 — it is the fuse on several scandal events. Competitor pressure mean-reverts to 0.5 but spikes +0.04 whenever your share jumps >15% in a year: win too fast and you summon imitators.

6 · Decisions & events

The model's inputs reach it through two channels: the decision card you choose each year, and the event the year hands you. Both are just structured bundles of the same numeric deltas the equations above consume.

How a choice becomes numbers

decision application & clampsdecision engine
step(d)        = clamp(d, −0.20, +0.20)           // no lever teleports in one year
q,r,pp,sn     += clamp01( lever + step(Δ) )
cash          += cashCapex · CAPEX_SCALE          // card costs are machines-M€
priceMult      = clamp(priceMult · Δ,  0.5,  2.5)
baseCostFactor = clamp(baseCostFactor · Δ,  0.65,  1.15)
modifiers.push(...)                               // timed mult/add effects, tick yearly

Every lever move is clamped to ±0.20/yr (LEVER_MAX_STEP) — strategy is a multi-year project, never a single pivot. Card costs are authored in machines-denominated M€ and multiplied by the industry's CAPEX_SCALE, so the same "build a service network" card costs 2.5× as much for a phone maker. Price and cost factors live inside hard clamps. Timed modifiers (e.g. "sales ×1.22 for 2 years") are pushed onto a list and decremented at year end.

Gates & the once-per-run deal memory

Two mechanisms keep the hand honest. Gates (eligible) only deal a card while its full advertised effect actually fits the state — you cannot seal an already-sealed design, pledge fair prices when your prices are already fair, or promise a ten-year warranty without the quality to back it. Permanent deal memory means any card put in a hand — chosen or not — is barred for the rest of the run. The sole exemptions are the two structural fixtures (STEADY_HAND, EMERGENCY_LOAN) and the two price dials (designed-repeatable). When a slot's authored chain is exhausted, a deterministic pool fallback deals a fresh card; only if the entire non-dial pool is spent does a dial valve fire. A pool-arithmetic test proves the 66 non-dial cards available per industry cover the worst case (a 30-year Marathon deals 58 distinct cards) — so a player never sees the same project twice.

The 69-card decision pool — tag distribution
TagCountRole & how the model reads it
longevity23Quality, repairability, service, fair parts — the compounding plays.
cheap22Stripping, sealing, gouging, fast cycles — the throwaway plays.
neutral24Reach, pricing, exports, cost structure — tactically agnostic.
Of which: 2 industry-restricted, 2 structural one-shots (once), 2 cooldown-0 price dials (the only repeatable cards). Plus 2 fixtures (Steady Hand, Emergency Loan) and the forced Right-to-Repair pair, outside the pool.

Four representative cards

Exact deltas, transcribed from the decision model
CardTagEffects (exact)Gate
Reinforce Qualitylongq +0.12 · cash −6·CAPEX_SCALE M€q ≤ 0.92
Seal It Shutcheapr −0.20 · unitCost ×0.89 · heat +0.05r ≥ 0.40
Modular Platformlongr +0.18 · q +0.04 · cash −12·CAPEX_SCALE M€r ≤ 0.88
Software for Life (phones)longlife ×1.6 (4 yr) · trust target +0.10 · cash −1·CAPEX_SCALE M€smartphones

Notice the symmetry the model enforces: Seal It Shut buys an 11% unit-cost cut by destroying 0.20 of repairability and raising regulatory heat — exactly the levers that, three years later, feed a worse teardown verdict, a thinner service market, and a compliance bill. The card is a loan against the future, and the equations are the lender.

The 37-event system

Events are authored copy plus an outcome() function. 9 of the 37 resolve after your decision (audits, labels, teardowns, trends — so your answer can change the verdict); the rest resolve before it (scandals, exposés, virality — judgments of a past you can't retroactively fix). Many branch on state, so the same headline rewards a prepared company and punishes an exposed one.

Five events with their exact branch logic
EventResolvesOutcome (exact)
Right-to-Repair ActpreREG +0.35; forces a choice — Embrace (r +0.15, cash −14·scale) vs Lobby (cash −4·scale, heat +0.15, REG −0.15, freeze REG drift 2 yr)
Warranty Scandalpretrust −0.20; recall cash = −0.5·OPEX_FIXED·(1 − 0.5·q)
Eco Labelpostif q+r ≥ 1.1 → trust +0.05, conquest ×1.15 (2 yr); else a quiet dud
Influencer Teardownpostif r ≥ 0.55 → trust +0.08; else trust −0.10
Supply Shockpreresource cost RC ×1.25 for 2 years

The scandal's recall cost shrinking with quality (·(1 − 0.5·q)) is a representative detail: a well-built fleet is cheaper to recall. The model rarely lands a flat penalty — it asks the state what you deserve.

7 · Scoring — Sustainable Enterprise Value

A run's final number is its Sustainable Enterprise Value (SEV), in M€. It is four value terms summed, then scaled by two multipliers that reward the things the game is actually about — earned trust and material efficiency.

computeSevvaluation model
runRate   = 6.0 · avg(profit over last 3 years)      // SEV_PROFIT_W
cash      = 1.0 · finalCash                           // SEV_CASH_W
service   = 2.5 · finalServiceGross                   // SEV_SERVICE_W
base      = installedBase · UV / 1000                 // book value of the fleet
trustMult = 0.75 + 0.5 · trust                        //  → 0.75 … 1.25
eff       = Σ installedBase / footprintCum            // IB-years per kt emitted
effMult   = clamp( 0.85 + 0.5·(eff − EFF_REF)/EFF_REF,  0.8,  1.2 )
SEV       = max(0, (runRate + cash + service + base) · trustMult · effMult)

The sum is what the company is worth: a multiple of its recent profit run-rate (6×), its cash, a generous multiple of its service business (2.5× — because recurring service revenue deserves a richer multiple than one-off sales), and the book value of the installed base still in the field. Then the character of the company scales that value: a trusted brand is worth up to 1.25×, a distrusted one as little as 0.75×; and a company that squeezed more service-years out of each tonne it emitted than its industry reference earns up to 1.2×, while a wasteful one is docked to 0.8×. The efficiency term is where the environmental thesis enters the money.

BASELINE_SEV — the reference value each run is scored against (sevPct)
IndustrySprint (10y)Classic (20y)Marathon (30y)
Washing machines180330850
Smartphones84014203900
Backpacks134370860

These baselines are not arbitrary — they are calibrated (§9), set at roughly 80% of the strongest reference-strategy median for each cell. sevPct = SEV / BASELINE_SEV is what the archetype classifier reads, so "beating the reference" means clearing ≈1.0.

8 · Archetypes

Every finished run is labelled as exactly one of 11 archetypes (ordered rules, first match wins). The 2026 rework made every lever judgment industry-relative: measured against the industry's own starting habit long0 = (q0+r0)/2, because industries begin with very different defaults (phones 0.375, machines 0.475, backpacks 0.55). The headline metrics: longRel = your average product virtue minus that habit; sevPct = SEV ÷ baseline; offender = a deeds test (≥ max(4, 25% of years) on cheap-tag cards, with longevity picks ≤ 34% of them).

The 11 verdicts & their gates (evaluated top-to-bottom)
#ArchetypeEpigramTriggers when…
1The Fast BurnerLit up the sky. Briefly.bankrupt & (longRel < −0.05 or offender)
2The IcarusRight strategy, wrong runway.bankrupt (otherwise)
3The CompounderBoring for a decade. Then unstoppable.longRel ≥ 0.12 & trust ≥ 0.65 & (serviceShare ≥ 0.3 or sevPct ≥ 1.0) & sevPct ≥ 0.7
4The Circular ChampionSells products. Keeps them alive. Paid twice.r ≥ r0+0.28 & pp ≤ 0.35 & effPct ≥ 0.75
5The Pivot ArtistChanged its mind. In time.early cheap-dominant, late longevity-dominant, ends above habit, trust recovered ≥ 0.08
6The Volume MachineFast, cheap, and — annoyingly — correct.(longRel ≤ −0.07 or offender) & sevPct ≥ 1.0
7The Premium FortressSmall kingdom. Thick walls.q ≥ q0+0.18 & priceMult ≥ 1.25 & share ≤ share0
8The GreenwasherThe brochure was sustainable.≥3 campaign picks & longRel < −0.05 & trust < 0.45
9The ThrowawayBuilt for the bin. The bin remembers.longRel < −0.07 or offender or (pp ≥ pp0+0.12 & trust < 0.45)
10The Trust BankBeloved. Broke-ish.trust ≥ 0.75 & sevPct < 0.4
11The Steady HandShowed up. Years passed. Nobody complained.default — none of the above

The ordering encodes a moral hierarchy the designers will defend: a genuine turnaround (Pivot Artist) outranks the offender verdicts, so a redeemed company isn't averaged back down into its worst years; and cheap play only earns the grudging Volume Machine when it actually beats the reference — otherwise it is The Throwaway, score or no score.

The bankruptcy post-mortem

A run that hits the credit line gets a gentle, named cause of death — diagnosed from the record, never mocking:

9 · Calibration methodology

This is the honest answer to "where do the numbers come from?" — and it is the part most unlike a citation. Built to Last is tuned the way a game is tuned: against itself, by robots, until it is fair.

In plain terms The Built to Last numbers are design decisions calibrated for a fair, legible game, not empirical estimates of real washing-machine economics. They are internally consistent and directionally sensible — quality really does cost money, trust really is slow to earn — but they are ours, chosen, and open to your critique.

Part II — The shorter round

LOOP

A 90-second one-thumb arcade game where the circular-economy message lives entirely in the mechanic. You flick falling products into the right loop; the points you earn and the impact you save are both numbers with a story.

1 · What the model is

A fixed-timestep arcade round on a logical 390×844 portrait canvas. Products fall; you flick each into one of four rings. There is no lose-state and no tuning fragility: hard caps bound the worst case by construction, and a daily seed makes every player's track identical, so the leaderboard is a pure skill comparison. Two number systems matter — the scoring (which encodes the waste hierarchy) and the impact (which is the genuinely sourced part).

2 · The mechanic model

The four rings are the EU waste hierarchy, fixed left-to-right forever: Repair · Reuse · Refurbish · Recycle. A product's condition state determines its correct ring — the player never adjudicates a fuzzy classification, they read a badge:

State → ring → base points
StateCorrect ringBase pointsHierarchy logic
BrokenRepair120It's broken → fix it. The most value kept.
UnwantedReuse110Works fine, owner's done → pass it on.
OutdatedRefurbish100Functional but behind → restore professionally.
Worn outRecycle80End of life → recover the materials. The least kept.
120 REPAIR broken 110 REUSE unwanted 100 REFURBISH outdated 80 RECYCLE worn out
The hierarchy, encoded in points. 120 → 110 → 100 → 80 isn't a difficulty curve; it is the lesson. Repairing keeps the most value, recycling the least — and the score says so before any end-screen text does.

Scoring formula

loop score & end bonusesscoring core
points     = round( base(ring) · comboMult · goldenMult )
comboMult  = 1 + 0.1 · min(comboBefore, 10)        // caps at ×2.0; resets on miss
goldenMult = golden ? 5 : 1                         // "Designed to Matter"
base       = Repair 120 · Reuse 110 · Refurbish 100 · Recycle 80
             (during the 8 s Right-to-Repair window, Repair base = 240)
end bonus  = CLOSED LOOP +1000   (no losses, no wrong rings — subsumes Zero Waste)
           = ZERO WASTE  +500    (no landfill losses)

The combo multiplier rewards a clean streak (up to ×2.0 at 10 consecutive correct loops) and resets the moment you miss a ring or lose a product to landfill. Golden products pay 5×. The Right-to-Repair power-up briefly doubles Repair to 240 and lets everything be repaired — a power fantasy that says, mechanically, "repair rules make more things repairable." The two end bonuses reward whole-round perfection. A daily seed gives an exact, computable score ceiling, so the conference leaderboard is a fight for perfection, not a grind.

Determinism & anti-cheat

The day's seed is HMAC(secret, gameId + Europe/Berlin date). Both client and server expand it with the same pure PRNG (cyrb128 string-hash → sfc32) into the full 90-second script — spawn times, positions, product/state sequence, golden and power-up placements. The client applies score events one at a time as you play; the server re-folds the submitted event log through the identical reducer and rejects any score that doesn't reproduce. Plausibility caps back it up: a product can't resolve faster than 150 ms after spawning, at most 8 wrong bounces per product, at most 400 events per round.

3 · The impact model — the genuinely sourced part

Unlike Built to Last, LOOP's environmental numbers are calibrated against published life-cycle-assessment literature, named below. The end screen turns your round into kept materials, avoided CO₂e and retained value with one formula:

computeImpactimpact model
impact = Σ  ( product.footprint × ring_retention )   over every product you looped
              ringRetention:  Repair 0.9 · Reuse 0.9 · Refurbish 0.7 · Recycle 0.25
carKmEquivalent = co2Kg / 0.15        // 0.15 kg CO₂e per car-km, EU fleet tailpipe

Each looped product retains a fraction of its embodied production footprint according to the ring it went through. CO₂e here is cradle-to-gate production only — the use phase is excluded on purpose, because what staying in the loop avoids is the production of a new unit. The retention factors are the hierarchy taught in numbers: players see recycling "save" far less than repair, which is exactly the conference's point — and the literature backs it.

RETENTION FACTOR (share of embodied footprint kept) REPAIR0.9 REUSE0.9 REFURBISH0.7 RECYCLE0.25
Retention factors. Repair and reuse keep ~all the embodied impact; recycling recovers a quarter at best.
CO₂e KEPT — one washing machine (250 kg to build new) REPAIR225 REUSE225 REFURBISH175 RECYCLE62.5
Footprint × retention for a 250 kg-CO₂e machine. The faint bar is the full cost of building new; the solid bar is what each loop keeps out of the atmosphere.

The retention values are not invented. WRAP/ERM's washing-machine LCA finds refurbishment "effectively postpones the need to produce a new machine" at near-negligible impact (consistent with the 0.7–0.9 range), while Öko-Institut's end-of-life recycling credit recovers only ~18% of production GWP even for a steel-rich appliance — the favourable case; electronics and textiles recover less. Recycle is defensible anywhere in 0.2–0.25; we use 0.25.

The 13-product impact roster — values from the game data, anchors from the research pass (2026-06)
ProductMaterial kgCO₂e kgValue €Source anchor (production / cradle-to-gate)
TV / monitor12350500Samsung 75″ QLED PER (Carbon Trust cert.), prod. 70.4% of 982 kg, area-scaled to 55″ → ~310–450
Washing machine75250450Öko-Institut prod. 314 kg; WRAP/ERM ~213–226 kg; EEB ~250 kg/unit
Laptop2250800Dell Inspiron/XPS + Lenovo IdeaPad PCFs: prod.-only ~222–272 kg
Bicycle14150350provisional order-of-magnitude only
Smartphone0.250300Apple iPhone 16 PER: 80% of 56 kg lifecycle ≈ 45–47 kg prod.; EEB ~48
Coffee machine440120provisional order-of-magnitude only
Vacuum cleaner625150EEB / Gallego-Schmid: corded ~21–24 kg/unit
Power drill22590provisional order-of-magnitude only
Denim jacket0.81580Levi's 501 LCA: cradle-to-gate 16.2 kg; newer denim LCA 12.6 kg
Headphones0.315100provisional order-of-magnitude only
Backpack11590provisional order-of-magnitude only
Sneakers0.71470MIT running-shoe LCA: 13.6 kg, ~97% cradle-to-gate; Carbonfact median 12.1 kg
Electric kettle11030Gallego-Schmid 2018 BoM ~4–7 kg; ADEME Base Carbone 9.9 kg

Honest flags Five rows are provisional — bicycle, coffee machine, power drill, headphones, backpack carry order-of-magnitude sanity only, no verified LCA anchor. They are flagged in the source data itself and would benefit from a dedicated source pass (Trek / Shift Cycling Culture for bicycles; ADEME Base Empreinte or brand PCFs for the small appliances and accessories). The car-km factor is 0.15 kg CO₂e/km = EU fleet-average real-world tailpipe (EEA: new cars ~128 g/km real-world 2024, older fleet ~150–180). Tailpipe basis on purpose: the product side is production-only CO₂e, so a lifecycle car factor (~0.19–0.25) would mix scopes and overstate the equivalence. The end screen carries a one-line methodology note — "illustrative magnitudes based on published lifecycle data" — because honesty is the anti-preachiness insurance with a research audience.

Sources (multi-source adversarial verification): Apple iPhone 16 PER (Sept 2024) · Dell & Lenovo product carbon footprints · Samsung QLED 75Q60C environmental report (Carbon Trust certified) · Öko-Institut eco-efficiency analysis of washing machines (2005) · WRAP/ERM washing-machine replacement & refurbishment LCA (2010, ISO-reviewed) · EEB "Coolproducts don't cost the Earth" (2019) · Levi's 501 LCA (2015) · MIT footwear LCA (J. Cleaner Production 2013) · Gallego-Schmid et al. (STOTEN 2018) · ADEME Base Carbone.

4 · Physics constants (brief)

The rest of LOOP's numbers are "feel" constants — they make the flick satisfying and the round soothing. They are explicitly not claims about reality; we list them for completeness, not for scrutiny.

Input, motion & pacing
ConstantValueWhat it tunes
GRAB_RADIUS96 pxTouch-to-grab forgiveness (visual target ~64).
MIN_FLICK_SPEED500 px/sBelow this a release is a harmless nudge, not a throw.
SNAP_CONE_DEG28°Angular tolerance for snapping a flick to a ring.
MAX_FLICK_SPEED1600 px/sBallistic velocity clamp.
HOMING_MIN / MAX260 / 600 msFlight time of a snapped product to its ring.
SLOWMO_SCALE / MAX / cooldown0.4× / 1200 / 1000 msBullet-time on hold — calm aiming, capped so it can't freeze play.
SWAY_AMPLITUDE / FREQ20 px / 0.0011 rad·ms⁻¹Gentle sinusoidal fall sway.
BALLISTIC_GRAVITY0.0026 px·ms⁻²Gravity for missed flicks that arc back into play.
MAX_CONCURRENT / MIN_SPAWN_GAP5 / 280 msHard caps that bound the worst case — a struggling player never faces a swarm.
ROUND_MS / WORLD_HEALTH_MAX90 000 / 5Round length; saturation steps the world greys through on losses.

Closing

On realism & honesty

A game is not an oracle. We will say it once more, plainly, because it is the most important sentence in this document: neither model predicts the future, and neither is meant to.

What they are built to be is internally consistent and directionally realistic. Inside Built to Last, quality genuinely costs money, trust is genuinely slow to earn and fast to lose, a service business genuinely compounds, and a world genuinely drifts toward repair — and every one of those relationships is a number you can see above and argue with. Inside LOOP, the points genuinely encode the waste hierarchy, and the impact figures are genuinely anchored to published LCA work, with the unverified rows genuinely flagged.

The two games earn your trust differently, and we have been careful not to blur them. Built to Last's constants are calibrated design choices — honest about being ours. LOOP's impact constants are sourced estimates — honest about their anchors and their gaps. We manufactured no citations for the former and invented no numbers for the latter.

An invitation

Tell us where we're wrong

You are a research audience, and this is the part we actually want from you. Every coefficient above is a hypothesis about how the world leans. If your read on elasticity, on the cost of repairability, on the value of a service-year-per-tonne, or on the embodied footprint of a denim jacket differs from ours — that disagreement is the most useful thing that can come out of these games. Compare our numbers with your reality, and bring us the deltas.

AI Research & Technology Lab  ·  for the Nuremberg Institute for Market Decisions  ·  MDD26


Appendix

Full constant reference

The complete promise delivered: every constant in both models, grouped by system, with its value and one-line meaning. Built to Last contributes ~250 values; LOOP its scoring, schedule, catalog and impact constants. Magnitudes are exact.

A · Built to Last — the global economy

Secular trends & levers
ConstantValueMeaning
L_TREND0.015Longevity-preference drift per year (↑)
L00.30Starting longevity preference
RC_TREND1.015Resource-cost index multiplier per year
RC0 / RC_MAX1.0 / 2.5Starting resource-cost index / cap
PRICE_RC_PASS0.6Exponent — partial pass-through of RC to price
REG_DRIFT / REG00.008 / 0.05Regulation drift/yr (×L) / starting stringency
LEVER_MAX_STEP0.20Max lever movement per year
PRICE_MIN / MAX0.5 / 2.5Price clamp as a multiple of P0
REACH_DECAY0.6Reach retained each year (campaigns fade)
Durability & churn · demand & share
ConstantValueMeaning
LIFE_Q_BASE / LIFE_Q_COEF0.6 / 0.9Life floor factor / quality slope
LIFE_R_COEF0.35Repairability life bonus (×)
REPAIR_SN_BASE / COEF0.2 / 0.8Repaired-share base / service-network slope
REPAIR_PP_PENALTY0.45Parts gouging suppresses repair volume
REPAIRED_SHARE_MAX0.95Cap on the rescued fraction
ATTRACT_PRICE_W0.40Weight: price competitiveness
ATTRACT_TRUST_W0.25Weight: trust
ATTRACT_LONGEVITY_W0.25Weight: longevity appeal (×L)
ATTRACT_REACH_W0.15Weight: marketing reach
ATTRACT_COMP_W0.20Weight: competitor pressure (−)
WOM_COEF0.5Word-of-mouth flywheel strength
WOM_IB_CAP1.5Installed-base cap on WOM
WOM_MIN / MAX−0.08 / 0.25WOM clamp (downside saturates, upside keeps headroom)
SHARE_SIGMOID_K3.5Sigmoid steepness
SHARE_MULT_BASE / COEF0.18 / 2.0Share-target base / sigmoid coefficient
SHARE_FLOOR / CEIL_MULT0.3 / 3.5Share-target clamp (× share0)
SHARE_INERTIA0.35Fraction of the gap to target closed per year
LOYALTY_BASE / TRUST_COEF / MAX0.25 / 0.35 / 0.7Repeat-buyer rate base / trust slope / cap
Service · financials · trust · world
ConstantValueMeaning
SERVICE_MARGIN0.55Gross margin on service revenue
PARTS_UPLIFT0.8Parts pricing lift on service €/unit
REG_SERVICE_BONUS / R_MIN0.2 / 0.5RtR service-market expansion / repairability gate
COST_Q / COST_R0.55 / 0.18Unit-cost slope for quality / repairability
SCALE_EXP / SCALE_CLAMP0.07 / 0.25Scale-economy exponent / ±clamp
COMPLIANCE_RATE25€/unit compliance for under-repairable designs
CARBON_EUR_PER_T90€/t once a carbon tax fires
INTEREST_RATE0.08Annual interest while cash is negative
SN_COST2.5M€ per full service network (× CAPEX_SCALE)
TRUST_UP / TRUST_DOWN0.12 / 0.55Hysteresis rate — earning / losing
TRUST_BASE0.50Trust-target intercept
TRUST_Q/R/PP/SN_W0.35 / 0.25 / 0.15 / 0.15Trust-target weights
TRUST_OVERPRICE_W0.2Penalty for pricing above quality justification
HEAT_DECAY / HEAT_GAIN0.9 / 0.06Regulatory-heat decay / gain
C0 / C_REVERT0.5 / 0.10Competitor-pressure mean / reversion rate
C_SHARE_GAIN_TRIGGER / GAIN0.15 / 0.04Share-jump threshold / pressure spike
FP_R_DISCOUNT0.15Per-unit footprint cut from repairability
Scoring (SEV) · archetype thresholds · post-mortem
ConstantValueMeaning
SEV_PROFIT_W / YEARS6.0 / 3Profit run-rate multiple / averaging window
SEV_CASH_W / SERVICE_W1.0 / 2.5Cash weight / service-business multiple
SEV_TRUST_BASE / COEF0.75 / 0.5Trust multiplier 0.75…1.25
SEV_EFF_BASE / COEF0.85 / 0.5Efficiency multiplier intercept / slope
SEV_EFF_MIN / MAX0.8 / 1.2Efficiency multiplier clamp
ARCH_COMPOUNDER_LONG_REL0.12Compounder: product above habit
ARCH_COMPOUNDER_TRUST_MIN0.65Compounder: trust floor
ARCH_COMPOUNDER_SERVICE/SEV_ALT/SEV_MIN0.3 / 1.0 / 0.7Compounder: service share / score gates
ARCH_CIRCULAR_R_REL / PP_MAX / EFF_MIN0.28 / 0.35 / 0.75Circular Champion gates
ARCH_VOLUME_LONG_REL / SEV_MIN−0.07 / 1.0Volume Machine gates
ARCH_FORTRESS_Q_REL / PRICE_MIN0.18 / 1.25Premium Fortress gates
ARCH_GREENWASH_* (campaigns/dreach/long/trust)3 / 0.1 / −0.05 / 0.45Greenwasher gates
ARCH_THROWAWAY_LONG / PP_REL / TRUST−0.07 / 0.12 / 0.45Throwaway gates
ARCH_FAST_BURNER_LONG_REL−0.05Fast Burner: stripped below habit
ARCH_OFFENDER_CHEAP_SHARE / MIN_PICKS / TOKEN0.25 / 4 / 0.34Behavioural-offender deeds gate
ARCH_PIVOT_* (cheap/long/end/trust)2 / 3 / 0.02 / 0.08Pivot Artist gates
ARCH_TRUSTBANK_TRUST / SEV0.75 / 0.4Trust Bank gates
PM_PRICEWAR / OVERREACH / SLOWBLEED2 / 1.5 / 4Post-mortem thresholds (yrs / ×cash0 / yrs)

B · Built to Last — decision cards

Card capex is in machines-M€ (× the industry's CAPEX_SCALE); years are modifier durations; drifts are per-year lever deltas. Every value is the game's named balance constant.

Core deck & fixtures
ConstantValueMeaning
Q_STEP / Q_CAPEX0.12 / 6Reinforce Quality: q step / capex
VE_Q_DROP / COST_FACTOR / CASH0.10 / 0.82 / 3Value Engineering: q drop / cost× / cash in
COST_FACTOR_FLOOR0.65Hard floor on engineered base-cost cuts
MOD_R_STEP / Q_STEP / CAPEX / COOLDOWN0.18 / 0.04 / 12 / 3Modular Platform: r, q, capex, cooldown
SEAL_R_MIN / R_DROP / COST_FACTOR / HEAT0.40 / 0.20 / 0.89 / 0.05Seal It Shut: gate / r drop / cost× / heat
FAIR_PP_MIN / DROP / TRUST_BONUS / YEARS0.35 / 0.20 / 0.04 / 2Fair Parts Pledge
PREMIUM_PP_STEP / HEAT0.20 / 0.03Parts Premium: pp step / heat
SN_STEP0.20Service Expansion: sn step
MKT_REACH / MKT_COST0.25 / 5Brand Campaign: reach / cost
PRICE_STEP0.10Price dial ±10% (cooldown 0, repeatable)
FAST_SALES / LIFE_MULT / YEARS / HEAT / COST1.22 / 0.92 / 2 / 0.04 / 3Fast-Cycle Launch
RESTR_OPEX_FACTOR / MIN / FLOOR0.85 / 0.65 / 0.55Cost Restructure: opex× / gate / floor
RESTR_Q_DRIFT / TRUST_MALUS / YEARS−0.03 / −0.02 / 2Cost Restructure: rot
STEADY_DRIFT0.02Steady Hand: drift toward industry norm
LOAN_FACTOR0.7Emergency Loan: × OPEX_FIXED
Deck expansion I–II (16 → 34)
ConstantValueMeaning
WARRANTY_Q_MIN / TRUST / YEARS / COST / COOLDOWN0.62 / 0.05 / 3 / 8 / 4Ten-Year Promise
REFURB_R_MIN / CONQUEST / TRUST / YEARS / COST / CD0.58 / 1.14 / 0.02 / 2 / 7 / 3Refurb Program
SKUNK_Q / COST_FACTOR / COST / CD0.03 / 0.96 / 45 / 4Skunkworks
OUTSRC_COST_FACTOR / Q_DROP / HEAT0.90 / 0.05 / 0.02Outsource (once)
POACH_Q / C / COST / CD0.04 / 0.08 / 13 / 3Poach Talent
ASSET_SALE_FACTOR / CASH_MAX0.45 / 0.75Asset Sale (once): × opex / cash gate ×cash0
CAFE_SN_STEP / TRUST / YEARS / COST0.08 / 0.01 / 2 / 24Repair Café (machines, backpacks)
SWLIFE_LIFE_MULT / TRUST / YEARS / COST1.6 / 0.1 / 4 / 1Software for Life (phones)
OPENLIC_PP_DROP / HEAT_RELIEF / SR_MULT / YEARS0.10 / −0.08 / 0.92 / 2Open Parts License
TAKEBACK_CONQUEST / TRUST / YEARS / COST / R_MIN1.05 / 0.02 / 2 / 6 / 0.45Take-Back Program
DURALAB_Q_DRIFT / YEARS / COST0.015 / 3 / 6Durability Lab
STDLOBBY_REG / HEAT_RELIEF / COST / R_MIN0.13 / −0.05 / 4 / 0.50Lobby for Standards
SHRINKW_CASH / TRUST / YEARS / HEAT0.32 / −0.03 / 2 / 0.03Shrink the Warranty
DISCSUP_COST_MULT / Q_DRIFT / YEARS0.93 / −0.015 / 2Discount Supplier
HOTLINE_SN_DROP / CASH / TRUST / YEARS0.12 / 0.25 / −0.02 / 2Kill the Hotline
DMGPLAN_SR_MULT / YEARS / TRUST / HEAT1.15 / 2 / −0.01 / 0.02Damage Plans
SHORTC_SALES / LIFE_MULT / YEARS / HEAT1.15 / 0.95 / 2 / 0.03Shorter Cycles
AUTO_COST_FACTOR / COST0.94 / 36Automation Line
EXPORT_CONQUEST / YEARS / COST1.12 / 2 / 10Export Push
PREMED_PRICE_MULT / Q / COST1.08 / 0.03 / 8Premium Edition
SUPJV_RC_MULT / YEARS / COST0.92 / 3 / 7Supplier JV
PATENT_C_DROP / HEAT / COST−0.06 / 0.03 / 5Patent Skirmish
COUNCIL_TRUST / YEARS / REACH / COST0.02 / 2 / 0.05 / 1.5Customer Council
DESIGNER_REACH / Q / COST0.12 / 0.03 / 9Star Designer
Deck expansion III–IV (35 → 69) — magnitudes mirror each card's named sibling
ConstantValueMeaning
OVERBUILD_Q / COST0.1 / 5Overbuild the Weak Point
TELEM_Q_DRIFT / YEARS / COST0.012 / 3 / 4Failure Telemetry
VAULT_R_STEP / PP_DROP / COST0.08 / 0.04 / 420-Year Parts Vault
PUBTD_R_STEP / TRUST / YEARS0.05 / 0.04 / 2Publish the Teardown
CAREPLAN_SR_MULT / SN_STEP / YEARS1.12 / 0.05 / 2Lifetime Care Plan
THIN_Q_DROP / COST_FACTOR / CASH0.08 / 0.88 / 2Material Thinning
QSPEC_COST_MULT / Q_DRIFT / YEARS / HEAT0.93 / −0.012 / 2 / 0.04Quiet Spec Downgrade
FLASH_SALES_MULT / TRUST / YEARS1.12 / −0.02 / 2Flash-Sale Channel
CLAIMS_CASH / TRUST / YEARS / HEAT0.06 / −0.04 / 2 / 0.04Claims-Denial Desk
RETAILALL_CONQUEST / YEARS / COST1.1 / 2 / 4Retail Alliance
COBRAND_REACH / COST0.18 / 3Co-Brand Collab
FAIR_CIRCUIT_REACH / CONQUEST / COST0.1 / 1.05 / 1.5Trade-Fair Circuit
LEANAUDIT_COST_MULT / YEARS / COST0.97 / 2 / 2Lean Audit
LEASEPILOT_SR / CONQUEST / YEARS / COST1.1 / 1.06 / 2 / 8Leasing Pilot
PRORECALL_Q / TRUST / YEARS / HEAT / COST0.05 / 0.04 / 2 / −0.06 / 7Proactive Recall
SECONDLIFE_R / CONQUEST / TRUST / YEARS / COST0.05 / 1.08 / 0.02 / 2 / 5Second-Life Dealers
SPARES_PP_DROP / MIN / TRUST / YEARS0.1 / 0.3 / 0.02 / 2Spares at Cost
ACADEMY_SN / R_STEP / TRUST / YEARS / COST0.1 / 0.06 / 0.02 / 2 / 5Repair Academy
DFREEZE_LIFE / Q / TRUST / YEARS / COST1.15 / 0.06 / 0.02 / 3 / 2Design Freeze
SEEDING_SALES / TRUST / YEARS / COST1.1 / −0.01 / 2 / 3Influencer Seeding
TARIFFENG_COST_MULT / YEARS / HEAT0.94 / 2 / 0.05Tariff Engineering
LOCKIN_SR_MULT / TRUST / YEARS / HEAT1.1 / −0.01 / 2 / 0.03Accessory Lock-In
PAPERGREEN_REACH / HEAT / TRUST / YEARS / COST0.15 / 0.04 / −0.01 / 2 / 2Paper Green
SKELETON_SN_DROP / MIN / CASH / TRUST / YEARS0.08 / 0.2 / 0.15 / −0.01 / 2Skeleton Crew
PALLET_CONQUEST / TRUST / YEARS1.08 / −0.01 / 2Pallet Deals
DATAMON_CASH / TRUST / YEARS / HEAT0.12 / −0.02 / 2 / 0.04Data Monetization
DUALSRC_RC_MULT / YEARS / COST0.95 / 2 / 4Dual Sourcing
RETROFIT_COST_MULT / YEARS / COST0.95 / 3 / 12Energy Retrofit
HERITAGE_REACH / CONQUEST / YEARS / COST0.12 / 1.06 / 2 / 4Heritage Reissue
CRISISPR_TRUST / YEARS / COST0.02 / 2 / 2Crisis-PR Retainer
WHITELABEL_CASH / CONQUEST / YEARS0.2 / 0.97 / 2White-Label Contract
STDSEAT_HEAT_RELIEF / TRUST / YEARS / COST−0.05 / 0.01 / 2 / 2Standards Seat
APPRENTICE_Q_DRIFT / YEARS / COST0.01 / 3 / 3Apprentice Program

C · Built to Last — events

Event magnitudes (cash deltas are × OPEX_FIXED unless noted; capex × CAPEX_SCALE)
ConstantValueMeaning
RTR_REG_STEP0.35Right-to-Repair Act: REG jump
RTR_EMBRACE_R / COST0.15 / 14Embrace branch: r step / capex
RTR_LOBBY_COST / HEAT / FREEZE / ROLLBACK4 / 0.15 / 2 / 0.15Lobby branch: capex / heat / freeze yrs / REG rollback
RIVAL_PRICE_MULT / YEARS / C0.85 / 3 / 0.15Throwaway Rival
VIRAL_TRUST / REACH0.12 / 0.2Viral Durability
SUPPLY_RC_MULT / YEARS1.25 / 2Supply Shock
RECESSION_MARKET / YEARS / ELASTICITY / L0.8 / 2 / 1.3 / 0.03Recession
TEARDOWN_R_MIN / TRUST_GOOD / BAD0.55 / 0.08 / −0.10Influencer Teardown
SCANDAL_TRUST / RECALL−0.20 / 0.5Warranty Scandal
EXPOSE_TRUST / HEAT−0.15 / 0.1Parts-Profiteering Exposé
COPYCAT_C / L0.1 / 0.04Competitor Copies Longevity
ECO_QR_MIN / CONQUEST / YEARS / TRUST1.1 / 1.15 / 2 / 0.05Eco Label (post-decision)
BOOM_MARKET1.15Boom Year
HAUL_CONQUEST / PRICE_MAX1.2 / 0.95Haul Trend (post-decision)
SECONDHAND_LONG_MIN / TRUST_COEF / YEARS / PENALTY0.55 / 0.1 / 3 / 0.95Second-Hand Platform
BREAKTHROUGH_RC0.9Material Breakthrough (RC ×)
TARIFF_COST_MULT / YEARS1.08 / 3Trade Tariff
OUTAGE_SR_MULT0.7Service Outage
ANCHOR_Q_MIN / UNITS_FACTOR0.6 / 0.25Anchor Client (× market×share0)
NOSTALGIA_TRUST / REACH0.08 / 0.15Nostalgia Revival
PRICEWAR_PRICE_MULT / YEARS / C0.9 / 2 / 0.08Price War
CURRENCY_RC_MULT / YEARS1.15 / 2Currency Crisis
SUPPLIER_BK_COST_MULT / CASH1.1 / 0.15Supplier Bankruptcy
LOGISTICS_SALES_MULT0.92Logistics Crunch
MINIMALISM_L / MARKET / YEARS0.04 / 0.95 / 2Minimalism Wave
REVIEW_Q_MIN / TRUST_GOOD / CONQUEST / YEARS / BAD0.55 / 0.04 / 1.08 / 2 / −0.06Review Aggregator
COLLAB_TRUST_MIN / REACH0.55 / 0.15Creator Collab
RETAIL_SHARE_MULT / PRICE_MULT / YEARS0.95 / 0.96 / 2Retail Consolidation
CLASSACTION_Q_MAX / CASH / TRUST / HEAT0.5 / 0.4 / −0.1 / 0.08Class Action
RECALL_CASH / R_MIN / TRUST_BAD / GOOD0.35 / 0.5 / −0.06 / 0.03Component Recall
EXODUS_TRUST_MAX / Q_DRIFT / YEARS0.45 / −0.02 / 2Talent Exodus
STANDARDS_R_MIN / REG / TRUST / C0.5 / 0.06 / 0.04 / 0.05Standards Body
EPR_REG / L / CASH0.08 / 0.03 / 0.2EPR Law
SUBSIDY_R_MIN / CASH0.5 / 0.3Green Subsidy
MUSEUM_TRUST / REACH0.06 / 0.12Museum Retrospective
LEASING_R_MIN / SR_MULT / YEARS0.5 / 1.15 / 2Leasing Trend
COUNTERFEIT_TRUST_MIN / TRUST / C0.55 / −0.04 / 0.05Counterfeit Wave
DIY_R_MIN / TRUST / REACH / L / C0.45 / 0.05 / 0.08 / 0.03 / 0.05Repair Movement

D · LOOP — scoring, schedule & impact

Scoring & anti-cheat
ConstantValueMeaning
BASE_POINTS120 / 110 / 100 / 80Repair / Reuse / Refurbish / Recycle
RTR_REPAIR_BASE240Repair base during the Right-to-Repair window
GOLDEN_MULT5"Designed to Matter" golden multiplier
COMBO_STEP / CAP_N0.1 / 10Combo step / cap (→ ×2.0 max)
BONUS_ZERO_WASTE / CLOSED_LOOP500 / 1000End bonuses (Closed Loop subsumes Zero Waste)
MIN_RESOLVE_MS150Earliest a product can resolve after spawn
MAX_WRONGS_PER_PID / MAX_EVENTS8 / 400Anti-cheat caps
Schedule & daily seed
ConstantValueMeaning
ROUND_MS90 000Round length
RTR_COMET_MS / WINDOW_MS2 500 / 8 000Comet tappable window / RtR window length
MAX_CONCURRENT / MIN_SPAWN_GAP_MS5 / 280Hard caps on the conveyor
BURST_GAP_MS / LANES320 / [80,195,310]Within-burst gap / drop lanes
rtrAtMs52 000–70 000Power-up appearance (per-seed)
golden windows12–42k · 42–79.5k · 80–90kThree seed-random golden placements
PHASE Groove7.5–13k · int 2000 · fall 4800On-ramp, friendly subset
PHASE Flow / Peak / Rush13–32k · 32–62k · 62–79kfall 4000 / 3400 / 3000; pace tightens
FINALE bursts80 300 & 83 600Two tight 3-product bursts (fall 3000)
TEACHING spawns1000 / 3400 / 5800Scripted onboarding (identical every seed)
Catalog, impact & physics
ConstantValueMeaning
RING_RETENTION0.9 / 0.9 / 0.7 / 0.25Repair / Reuse / Refurbish / Recycle
CO2_PER_CAR_KM0.15kg CO₂e/km, EU fleet-average real-world tailpipe
Ring centers(50,195)(140,130)(250,130)(340,195)Repair / Reuse / Refurbish / Recycle, logical px
Ring r / capture44 / 58Visual radius / homing capture radius
LOGICAL_W / H390 / 844Logical portrait canvas
CONVEYOR_Y / DROP_Y / LANDFILL_Y40 / 70 / 754Conveyor / drop start / landfill line
GRAB_RADIUS / DROP_RADIUS96 / 85Grab forgiveness / drag-drop target
HOLD_SPRING0.018Hold-spring stiffness ("glassy weight")
MIN / MAX_FLICK_SPEED500 / 1600Nudge threshold / ballistic clamp, px/s
SNAP_CONE_DEG28Flick snap cone
HOMING_MIN / MAX_MS260 / 600Homing flight bounds
SLOWMO_SCALE / MAX / COOLDOWN / EASE0.4 / 1200 / 1000 / 90Bullet-time scale / budget / cooldown / ease (ms)
SWAY_AMPLITUDE / FREQ20 / 0.0011Fall sway px / rad·ms⁻¹
BALLISTIC_GRAVITY0.0026Missed-flick gravity, px·ms⁻²
BOUNCE_SLOW_FACTOR / GRACE_MS0.6 / 1500Wrong-ring bounce slow / grace window
WRONG_FLASH_MS600Badge-enlarge corrective teaching
WORLD_HEALTH_MAX5Saturation steps the world greys through
COMET_Y / TAP_RADIUS430 / 70RtR comet altitude / tap radius

End of reference If a number here doesn't match the live game, the live game wins — this document mirrors the model the game runs, but the game itself is the source of truth. Every value above was transcribed on the 2026 build; corrections and disagreements are welcome.