2.75 MB
29 files
Updated 26 days ago
Name
Size
outputs
GATE_REPORT.json5.02 kB
xet
README.md3.51 kB
xet
experiment.py26.6 kB
xet
make_plots.py6.64 kB
xet
poster.html51.1 kB
xet
poster_embed.html615 kB
xet
poster_preview.pdf969 kB
xet
poster_preview.png456 kB
xet
README.md

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

  1. 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".
  2. 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 723 uv script; runs locally or via hf jobs uv run.
  • make_plots.py — builds the Plotly (logbook) and Matplotlib (poster) figures from experiment.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/6a5a386ed216bd6f3a1fb6c1
  • outputs/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.

Total size
2.75 MB
Files
29
Last updated
Jul 17
Pre-warmed CDN
US EU US EU

Contributors