Methods capability matrix¶
Every method is a ColdStartMethod: it declares requires, fits on TransferInputs, and predicts
long-format [user_id, item_id, score] for cold items.
How to read the matrix¶
- Requires is the exact input kind declared by the registered class.
- Model-agnostic means the method needs only exported scores/interactions/content, not donor internals.
- Popularity pull marks methods that can inherit warm-neighbor popularity unless the benchmark proves otherwise.
- Legend:
yes ·
no · popularity pull
low ·
medium ·
high ·
intended (baseline by design) ·
none.
| Method | Requires | Family | Model-agnostic | Calibrates scale | Popularity pull | First try when... |
|---|---|---|---|---|---|---|
linmap |
content, donor_scores |
score-space mapping | you have donor scores and item content | |||
stacking_plus |
content, donor_scores, train_interactions, val |
supervised hybrid | a val-cold fold is available | |||
stacking |
content, donor_scores, similarity, train_interactions, val |
supervised hybrid | you want KNN signal plus affinity/popularity features | |||
scale_shift |
content, donor_scores, similarity |
score-space mapping | you want a scale/shift diagnostic over KNN scores | |||
logreg_calib |
content, donor_scores, similarity, val |
supervised calibration | you need a supervised diagnostic with val-cold labels | |||
knn_score_avg |
content, donor_scores, similarity |
content neighbors | you need the simplest neighbor-score baseline | |||
attention_knn |
content, donor_scores, similarity |
content neighbors | you want softmax-weighted neighbors | |||
debiased_knn |
content, donor_scores, similarity |
content neighbors | you are testing popularity subtraction | |||
linmap_emb |
content, embeddings |
embedding mapping | the donor exposes user/item embeddings | |||
magnitude_scaling |
content, embeddings |
embedding debiasing | cold embedding norms look overconfident | |||
dropoutnet |
content, embeddings |
neural embedding mapping | you can use torch and donor embeddings |
|||
embedding_avg |
content, embeddings, similarity |
embedding neighbors | you need a simple embedding-neighbor baseline | |||
attention_emb |
content, embeddings, similarity |
embedding neighbors | you want attention over neighbor embeddings | |||
grouped_most_popular_pers |
content, train_interactions |
baseline | you need the main strong baseline | |||
grouped_most_popular |
content, train_interactions |
baseline | you need non-personalized grouped popularity | |||
most_popular |
train_interactions |
baseline | you need global popularity | |||
random |
none | baseline | you need a sanity-check floor |
Recommended path¶
- Start with
grouped_most_popular_persandlinmap. - Add
stacking_pluswhen a validation-cold fold is available. - Use KNN and embedding-neighbor methods as diagnostics for popularity inheritance.
- Use embedding methods only when the donor exposes embeddings.
See Method families for the concepts and Main results for the benchmark table.
Important correction about calibration¶
Platt and isotonic calibration are monotone transformations. They can improve probability quality (logloss/Brier), but they do not change rank-based metrics or AUC. If a method loses on AUC, the problem is ranking, not score calibration.
References¶
- SimCSR — Han & Chun, "Addressing the Item Cold-Start Using Similar Warm Items", 2021
- DropoutNet — Volkovs et al., NeurIPS 2017
- MWUF — Zhu et al., SIGIR 2021, arXiv:2105.04790
- Gantner et al., "Learning Attribute-to-Feature Mappings", ICDM 2010
- On Inherited Popularity Bias in Cold-Start, RecSys 2025, arXiv:2510.11402