Buckets:
Repro: Large-Scale Notification Dispatch with Bundle Treatments and Multi-Outcome Uplift Optimization
Independent reproduction attempt for ICML 2026 paper "Large-Scale Notification Dispatch with Bundle Treatments and Multi-Outcome Uplift Optimization" (OpenReview 8GH752ZJ5j, ICML poster #2573, Xu et al. / Kuaishou). Method name in the abstract: BUOPLR (Bundle Uplift Optimization with Pruned Lagrangian-based Relaxation).
No arXiv preprint, public code, or public dataset exists for this paper — confirmed by direct search of OpenReview, arXiv, Hugging Face papers, and GitHub. This reproduction is therefore a synthetic-proxy (toy) mechanism test, not a replication of the paper's real data or exact architecture. Full write-up, figures, and scope/cost accounting are in the Trackio logbook.
Claims
- Online A/B DAU lift (+0.5%, >100M-user platform) — not independently reproducible; requires Kuaishou's proprietary production infrastructure. Documented as such rather than fabricated. See logbook page "Claim 1".
- BUOPLR outperforms SOTA offline — tested mechanistically via a self-contained simulator of the paper's setting (combinatorial bundle treatments, multi-outcome effects with cross-slot interactions, global budget/quota/fatigue constraints) plus an implementation of BUOPLR's two-stage idea (shared multi-task uplift net + restricted-space Lagrangian relaxation) against baseline uplift estimators and assignment algorithms. See logbook page "Claim 2".
Files
experiment.py— the full simulator + BUOPLR + baselines + evaluation. PEP 723uvscript; runs locally or viahf jobs uv run.make_plots.py— builds the Plotly (logbook) and Matplotlib (poster) figures fromexperiment.py's output CSVs.poster.html/poster_embed.html— the posterly reproduction poster.outputs/smoketest_final/— local smoke test (n_train=60k, n_eval=15k).outputs/scaled/— scaled HF Job run (n_train=500k, n_eval=500k, scaling swept to 2,000,000 users). Job: https://huggingface.co/jobs/Firemedic15/6a5a386ed216bd6f3a1fb6c1outputs/figs_scaled/,outputs/figs_smoketest/— rendered figures.
Reproducing
# local smoke test
uv run experiment.py --n-train 60000 --n-eval 15000 --seed 0 \
--out-dir outputs/local --run-lp --lp-max-n 4000 \
--scaling-ns "500,2000,8000,30000"
# scaled run on HF Jobs (CPU-only: stage-1 is a small tabular MLP, stage-2 is
# NumPy/SciPy — neither benefits from a GPU at this problem size)
hf jobs uv run --flavor cpu-upgrade --timeout 1h --secrets HF_TOKEN \
experiment.py -- \
--n-train 500000 --n-eval 500000 --seed 0 \
--out-dir outputs/scaled --run-lp --lp-max-n 5000 \
--scaling-ns "10000,50000,200000,500000,1000000,2000000" \
--push-repo <your-username>/buoplr-repro-artifacts
Result headline
At n=500,000 held-out users, BUOPLR (shared multi-task uplift net + restricted Lagrangian relaxation) is the best non-oracle pipeline (98.3% of the oracle's realized value), beating the classical linear-additive-uplift baseline by +19.6% (matched assignment) and +41.8% against the weakest common baseline (linear-additive uplift + greedy dispatch). The Lagrangian relaxation stays within ~1% of exact-LP quality at ~50x the speed, and scales near-linearly to 2,000,000 simulated users while exact LP is already intractable at 5,000. Full numbers, caveats, and scope in the logbook.
Xet Storage Details
- Size:
- 3.51 kB
- Xet hash:
- 03912810d4d029c1d69d602bc70d70364cefe9ffb08fb1202876168de6adfd8c
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.