Research on a practical question in energy-program recommendation: when should a recommender trust a more specific local comparison, and when should it keep the broader model?
The primary output is the accessible edition of Behavioral Embeddings and Propensity Neighborhoods for Program Recommendation:
Everything else in this repository, including earlier notes, follow-up experiments, scripts, and machine-readable results, is supporting material for that paper.
The argument moves through three ideas.
- Behavior creates a useful geometry. A customer's pre-decision history is compressed into an embedding. Combined with ordinary customer attributes, that embedding improves the estimated probability that the customer will enroll in each eligible program.
- More specific neighborhoods spend support. Adding matching criteria produces peers who are more alike, but fewer in number. Similarity improves while statistical uncertainty grows.
- A frontier governs trust. The method prices mismatch against sample size. Local evidence can calibrate a score or support a confidence flag; when the evidence is too thin, the recommender keeps the direct propensity ranking or abstains.
The empirical ending matters: behavioral embeddings deliver the main predictive and ranking gain. Propensity neighborhoods deliver a smaller calibration and reliability benefit, but no confirmed improvement in the winning recommendation.
For customer
be the true enrollment propensity. A fitted model combines static attributes
The direct recommender chooses the eligible program with the largest fitted propensity. To test whether local evidence should adjust that score, the method builds nested peer sets
Each refinement adds detail. The worst mismatch among the remaining peers can only improve, while the peer count
Here
In the chronological KuaiRec study, adding a behavioral embedding to static features:
- reduced propensity RMSE by 31.9%;
- reduced top-1 regret by 6.4%; and
- increased exact top-1 hit rate by 2.58 percentage points.
The embedding improved RMSE on all ten splits. Neighborhood methods found real calibration information, but the accumulated exploratory and confirmation experiments did not establish a reproducible top-1 ranking improvement. The supported workflow is consequently:
- filter to eligible programs;
- construct a behavioral embedding from pre-decision history;
- fit a propensity for every eligible program;
- rank directly by fitted propensity; and
- use neighborhoods as an optional layer for calibration, diagnostics, confidence, fallback, or abstention.
This is a study of enrollment propensity, not incremental enrollment, energy savings, or causal program impact.
| Path | Role |
|---|---|
papers/propensity-neighborhoods-accessible/ |
Primary accessible paper in HTML, PDF, and LaTeX |
papers/propensity-neighborhoods/ |
Longer technical note and extensions |
propensity-neighborhoods-v2/ |
Supplemental ranking and decision-boundary experiments |
scripts/ |
Reproducible KuaiRec experiments |
results/ |
Metrics, selected parameters, summaries, and experiment reports |
data/ |
Data acquisition and local-layout instructions; raw data are not tracked |
For the consolidated experimental interpretation, see propensity-neighborhoods-v2/OVERALL_CONCLUSION.md.
The scripts target Python 3 and use the dependencies pinned in requirements.txt.
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txtPlace KuaiRec at data/kuairec/extracted as described in data/README.md, then run:
python scripts\kuairec_behavior_embedding_test.pyThe script writes machine-readable output under results/. Additional experiment commands and their interpretations live beside the relevant scripts and result folders.
If this work informs your research, cite the paper title and author shown in the accessible edition. A machine-readable citation record will be added when the manuscript receives a permanent identifier.