Recommendation World Models for Future-State Control
Jinfeng Xu, Zheyu Chen, Ziyue Peng, Jianheng Tang, Zheng Lin, Jing Yang, Puzhen Wu, Zheng Xing, Victor C. M. Leung
cs.IR
2026-09-25
UA-TWM searches slates near a frozen ranker, predicts utility, target movement, and failure risk, and falls back if gates fail. Median Recall@20 rises 5.9% on MovieLens across 12 backbones; KuaiSim issues zero invalid claims.
Sequential recommenders are strong at ranking the next item. What the user sees is a slate, and that slate changes the next step's feedback and state. Two slates can be close in Recall while one narrows later consumption and the other keeps the mix wide. Next-item scores do not order those futures. If a platform wants to cut concentration, rebalance exposure, or steer a category mix without giving up clicks, it needs a layer around the ranker that compares nearby slates on future statistics, rather than retraining a long-horizon RL policy.
UA-TWM is a utility-anchored world-model interface. The backbone is frozen and emits an anchor slate A0. Candidates stay near that anchor. In logged replay, Top-K is re-ranked by standardized backbone score plus β times a tag-alignment score, with β chosen on calibration users. In the closed loop, the controller uses small anchor edits plus a fixed set of graph-semantic replacements (repeat, balanced, diverse, with click floors). Items never leave the backbone's top-M pool.
Logged replay predicts three margins against the anchor: utility (mean standardized score gap), target movement (L1 improvement of the slate's tag mix toward the prefix target), and failure risk (utility below a per-user floor or target gain too small). The risk head is L2-regularized logistic regression on prefix and candidate features only; test future positives never enter training. Among candidates that pass all three gates, pick the largest predicted target gain; if none pass, return A0. Coverage is the rate of non-anchor choices; invalidity is how often those choices fail after the fact.
The closed loop fits a one-step state-action ridge on KuaiSim, predicting repeat exposure, tag entropy, history overlap, and next-state coverage. Each step chooses among the anchor, two local edits, and six semantic replacements, with an immediate-click utility gate. Execute, observe, update, repeat for 10 steps. Prediction depth P=1, horizon H=10, slate size 6.
On MovieLens-25M (162,541 users) and KuaiRand-Pure (17,269 users), every one of twelve frozen backbones improves Recall@20, NDCG@20, and future-state L1. MovieLens Recall gains run 0.0119 to 0.0144, median +5.9% relative. KuaiRand medians are +6.4% Recall and +6.5% NDCG. State L1 drops 0.037 to 0.046 on MovieLens and 0.064 to 0.082 on KuaiRand.
| Backbone | ML R@20 base→+UA | ML N@20 base→+UA |
| GRU4Rec | 0.118→0.130 | 0.034→0.038 |
| BERT4Rec | 0.245→0.258 | 0.099→0.104 |
| S3Rec | 0.249→0.261 | 0.095→0.100 |
| FAVE | 0.253→0.266 | 0.203→0.213 |
| ADRec | 0.025→0.037 | 0.019→0.029 |
Strong anchors still move: S3Rec and FAVE rise on MovieLens. On KuaiRand, S3Rec goes 0.1148 to 0.1202 Recall with state loss 1.368 to 1.304. Coverage differs by domain: MovieLens 41.5% to 94.4% at 3.3%–5.2% unsafe; KuaiRand 94.8% to 99.0% at 5.0%–6.1% unsafe.
Dropping the utility floor buys more state movement and worse ranking. Dropping the state head weakens target gain. Dropping the risk gate lets in more unsafe claims. On MovieLens FPMC, aggressive selection cuts state loss by 0.051 at 12.5% invalidity; the constrained policy cuts 0.046 at 3.5%. On KuaiRand ADRec, the aggressive policy turns Recall and NDCG negative; the constrained policy recovers positive ranking gains and drops invalidity from 10.5% to 5.8%.
Closed-loop against a diversity-rerank anchor: UA-TWM click 42.936 vs 42.892, target L1 2.581 vs 2.819, four valid claims, three fallbacks, zero invalid claims across ten seeds. Target gain before fallback is 0.374, 95% CI [0.251, 0.505]. A state-only ablation that strips action summaries issues no claims; the paired advantage is 0.173. Ridge normalized MAE on held-out seeds falls from 0.491 to 0.266. Semantic aggressive controllers drive target L1 to 0.4–0.7 and also drop click below the anchor. UA-TWM keeps click and moves less.
This is a local consequence layer you can bolt onto a shipped sequential model without retraining or long-horizon RL. Gains across twelve backbones (recurrent, attention, Markov, multi-interest, diffusion, flow) point to a structural gap: ranking scores do not order future mix. Anchor fallback is a first-class action: if nothing qualifies, do not steer.
The fit is settings with an explicit future statistic (category mix, repeats, diversity) that must not spend short-term utility. It is not a general world model. It is a one-step selector in a neighborhood of the ranker.
Logged positives come from the historical policy, so transitions of unshown slates are not identified; alignment is with the historical future mix, not an intervention effect. The closed loop is a simulator, one-step prediction over ten interactions, no real users. Candidates cannot leave the backbone top-M, so distant slates are out of search. KuaiRand leaves the anchor almost always, so the gates are nearly always open there. Risk ECE still sits around 0.1. The target is L1 on tag mixtures; a different objective needs a new calibration. Latency and candidate-generation cost are unreported.