The living market
A market that keeps living between your decisions.
Jonbar is building a living model of a market: a population of simulated shoppers with budgets, habits and pay days, a behaviour model trained on real purchase sequences, a causal core and the signals of the world around it. You rehearse a decision in it before the real market sees it, and every outcome makes it sharper.
This page is the direction. Each layer below says plainly what runs today and what is still being built.
Seven layers
What the living market is made of.
Seven layers, from the shoppers at the top to the loop that keeps the model honest. Pick one to see what it contains and where it stands.
Shopper population
A population of simulated shoppers, each a behaviour profile learned from real purchase sequences rather than a prompted character. The population is born, churns and moves between categories and channels.
- Priorities: price, speed, brand
- Budget and pay cycle
- Purchase rhythm and reference-price memory
- Channel habits and loyalty
Where it stands
Not built yet. Today's engine works with demand at product level, not with individual shoppers.
Why it matters
The same discount lands differently on a shopper who just got paid and one who stocked up last week.
World signals
A signal moves through the market.
Pick a signal and follow it: who it touches, what changes in their behaviour and what the engine would tell you to do about it.
Weeks
01 · Who it touches
Shoppers on a monthly budget near the wage floor, in price-sensitive categories.
02 · What changes
Budgets loosen for a few weeks after the first new payslip; trading up becomes more likely, then settles.
03 · What Jonbar would tell you
Hold the discount you planned for that month and test a smaller one; the extra demand comes without it.
Calibration loop
Every forecast is locked before the outcome.
This is how the market stays honest and gets sharper with use.
- 01LockThe forecast for a decision is saved with a timestamp before the decision goes live.
- 02ObserveThe real outcome comes in: units, revenue, gross profit, the weeks after.
- 03MeasureThe miss is measured against the locked forecast and against a simple rule.
- 04UpdateThe error updates the shared model, so the next forecast starts from a sharper market.
Today your data is used only for your own runs. Any learning shared across sellers will be opt-in and limited to measured effects and forecast errors, never your raw sales or customer data.
Why it compounds
Three records no one can backfill.
A model can be copied. What builds up around it with time cannot.
Interventions and outcomes
Every decision that was rehearsed, what was actually done and what happened after. Each one measures a cause and effect for real.
Locked-forecast track record
A public history of forecasts saved before the outcome. It can only be grown forward, never written after the fact.
The market over time
The state of the living market on each day: prices, signals, shelves. Yesterday's market cannot be recreated later.
Phases
From engine v0 to the full living market.
No dates on purpose: each phase starts when the previous one has shown it works.
- Live todayWe are here
Engine v0
Classic demand models and economics, calibrated with your sales. Versions side by side with a probable range. Goal to decision in a narrow version.
- In build
Pilots
Blind tests on past campaigns, rehearsals of the next decision, locked forecasts and published results.
- Roadmap
Behaviour model and signals
A sequence model trained on purchase data, plus live macro, calendar and platform signals.
- Roadmap
Full living market
The shopper population, all seven layers connected and the calibration loop running across sellers.
Hard problems
What makes this hard, said plainly.
A vision page that hides its problems is a brochure. These are the ones we work on.
- 01
Behaviour data is scarce
Purchase sequences at scale are hard to get. We start from aggregate sales and published research, and grow the behaviour layer only as data allows.
- 02
Correlation is not cause
Natural experiments are rare and noisy. Effects we cannot measure well fall back to published ranges, and the run says so.
Bijmolt, van Heerde & Pieters: 1,851 elasticity estimates - 03
A simulation can look right and be wrong
That is why forecasts are locked before outcomes and the blind test is published good or bad.
- 04
Searching inflates the winner
The more plans you compare, the more the best one is overstated by luck. The decision engine shrinks it before ranking.
- 05
Markets drift
Inflation and platform rule changes move behaviour quickly. The model has to be recalibrated continuously, not trained once.
- 06
Language models are tempting and weak
They write fluent answers but score 40.8 out of 100 at simulating human behaviour and overstate willingness to pay roughly 3x in some tests. We keep them out of the decision.
SimBench, ICLR 2026