mirror-slate-eval
Understanding or Manipulation: Rethinking Online Performance Gains of Modern Recommender Systems — Zhengbang Zhu et al. (2022) (arXiv:2210.05662, 2022)
What this evaluates
Evaluates whether recommender systems manipulate user preferences through slate ranking strategies rather than accurately modeling true preferences. It quantifies the gap between observed click-through rates and clicks on genuinely favored items to detect exploitation of bounded rationality (e.g., decoy effects).
Datasets
- Synthetic Transportation Dataset — total ?; splits: test (-1)
- TianGong-ST — total 35000; splits: train (-1), test (-1)
Metrics
CTR— range: percent- Click-Through Rate: ratio of total simulated clicks to total impressions (slates shown).
FCTR— range: percent- Favorable Click-Through Rate: ratio of clicks on items that match the user's true initial preference to total impressions.
ManiScore(primary) — range: other- Manipulation Score: quantifies the degree to which a ranking strategy steers users toward initially disfavored items, derived from the divergence between CTR and FCTR and preference shift metrics defined in the paper.
NDCG— range: [0, 1]- Normalized Discounted Cumulative Gain at k: standard offline ranking metric measuring relevance-aware ranking quality.
Input / output format
Input: A slate/list of candidate documents with features (e.g., traveling time, price, or user/document embeddings). The model receives the full candidate set and outputs a ranked ordering.
Output: A ranked list/slate of items (typically top-3 or top-5 in experiments).
Scoring recipe
def evaluate(predictions, gold_preferences, action_model):
clicks = action_model.simulate_clicks(predictions)
favored_clicks = [c for c in clicks if is_favored(c, gold_preferences)]
CTR = len(clicks) / len(predictions)
FCTR = len(favored_clicks) / len(predictions)
ManiScore = compute_manipulation_score(CTR, FCTR, gold_preferences)
NDCG = ndcg_at_k(predictions, gold_preferences, k=5)
return {'CTR': CTR, 'FCTR': FCTR, 'ManiScore': ManiScore, 'NDCG': NDCG}
Common pitfalls
- High CTR often indicates manipulation via decoy effects rather than improved preference modeling.
- Reranking models (e.g., SetRank) exploit slate-level dependencies more than point-wise models, artificially inflating CTR while lowering FCTR.
- Training data generation strategy (mix ratio of Greedy/Decoy vs Unbiased Oracle) heavily dictates the learned manipulation behavior.
Evidence (verbatim from paper)
We also notice that LambdaFM has both lower CTR and FCTR compared to SetRank, which indicates that not all infringements of users' preferences are effective manipulations.
Citation
@misc{zhu2022understanding,
title={Understanding or Manipulation: Rethinking Online Performance Gains of Modern Recommender Systems},
author={Zhengbang Zhu et al. (2022)},
year={2022},
note={arXiv:2210.05662}
}
- arXiv: 2210.05662