Firemedic15's picture
|
download
raw
3.51 kB
# 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](https://openreview.net/forum?id=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
```bash
# 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.