TwinStore: A Synthetic Consumer Platform Using Vision--Language Models
Abstract
We present TwinStore, a source-available synthetic consumer platform for physical retail built on vision--language models. TwinStore turns a store into a digital twin---from 82 ready-made formats, a floor-plan image or phone photos of its shelves---and fills it with synthetic shoppers who plan a trip, walk the aisles and decide what to buy by looking at rendered shelves with packs, price tags and promotion signs. Every trip ends in a receipt, so a layout, price, pack or promotion can be tried on the same shoppers before it reaches the store. Around this core, TwinStore provides 3D playback, paired comparisons and layout optimization, shopper interviews, a trade-area model, counterfactual edits of real shelf photos, a marketing studio with eleven tools, and an assistant that turns a plain sentence into a drafted study or an answer grounded in a run's own numbers. In a held-out validation on eleven public datasets, simulated receipts approach the households' own natural variation (category-mix divergence 0.017--0.018 against a real drift of 0.012), price elasticities fall inside the range measured in the field, and three independent decision models agree. TwinStore runs on cloud or on-device models and is distributed with installers for Windows, macOS and Linux.
Figures & tables
| Rule-based | Language | Vision | |
|---|---|---|---|
| Decides from | probabilities fitted to receipts | text: persona, store directory, situation | images: the store map at the door and rendered or photographed shelf faces |
| Plan | rule plan | pattern, then intent | one call at the entrance |
| Impulse purchases | probabilities | a text stage | glances at the best-seen faces |
| Reacts to packs, facings, signs | no | no | yes |
| Model calls per shopper | none | about three | one plan and one to three glances |
| Typical use | screening many options | reasoning, interviews | visual levers, final checks |
| Tool | Question | Output |
|---|---|---|
| A/B tests | What do a price, discount, sign, placement or new pack change? | paired effects by segment with intervals; an automatic report; price sweeps with a demand curve, elasticity and the revenue-maximizing price |
| Shelf tests | Does a new pack, price or sign stand out on the shelf? | paired pick share and stand-out per respondent |
| Concept tests | Which pack or price do respondents prefer? | five-point ratings, top-two-box shares, preference shares, acceptable price ranges, verbatims |
| Conjoint | Which features and prices win the choice? | part-worths with intervals, importance, willingness to pay, a market simulator |
| Staff scripts | Which wording sells better? | paired purchase intent, trust and pressure |
| Field pilots | Does it hold in the real store? | a shift-balanced schedule and sample size; observed conversion; leave-one-out checks by staff and shift; staff time and a cost scenario |
| Check | Vision shoppers | Real reference |
|---|---|---|
| Category mix (JSD) | 0.017–0.018 | 0.012 (own earlier weeks) |
| Household hit vs. best-sellers | to , CI | – |
| Demographic deviations, history hidden ( ) | 0.27 ( ) | 0.30 (own earlier receipt) |
| Repeat-purchase share | 0.56–0.72 | 0.73 |
| Real vs. simulated classifier (AUC) | 0.56–0.62 | 0.52 (own earlier receipt) |
| Own-price elasticity | to | to |
Appendix figures & tables13 assets
Supplementary material from the paper’s appendix.
Appendix
| Screens | A check on the sample store | |
|---|---|---|
| C1 | Figs. 9 , 10 and 19 | Every fixture, product, price and opening hour is a record that can be read, edited and exported; the 3D view renders the same records the shoppers use. |
| C2 | Figs. 13 and 10 | A promotion added to a rendered shelf face changes 0.8 % of its pixels, all in the ribbon and the tag; an edit of a shelf photograph changes no pixel outside the edited regions. |
| C3 | Fig. 14 | Any of the 2,440 shoppers can be opened; each purchase shows its time, shelf, price and the reason recorded at that step. |
| C4 | Figs. 11 and 15 | The revenue on screen equals the sum over the per-shopper export ($21,032.06 over 2,440 rows); receipts, POS files and tracks can be uploaded and compared with the simulation. |
| C5 | Figs. 16 and 17 | The layout comparison pairs 2,440 shoppers and reports intervals; unpaired, the same difference would not be distinguishable from noise. |
Synthetic Data Generation
Synthetic data generation creates artificial examples, simulations, and datasets to train, test, or protect machine-learning systems.
See all 617 papers