Explaining Group Recommendations via Counterfactuals

Towards Fair and Explainable Group Recommendations via Counterfactuals.

Maria Stratigi Nikos Bikakis Kostas Stefanidis

Data Science Research Centre, Tampere University · Hellenic Mediterranean University & Archimedes/Athena RC

arXiv:2601.16882 · 2026

Abstract

Group recommender systems help users make collective choices but often lack transparency, leaving group members uncertain about why items are suggested. Existing explanation methods focus on individuals, offering limited support for groups where multiple preferences interact.

In this paper, we propose a framework for group counterfactual explanations, which reveal how removing specific past interactions would change a group recommendation. We formalize this concept, introduce utility and fairness measures tailored to groups, and design heuristic algorithms, such as Pareto-based filtering and grow-and-prune strategies, for efficient explanation discovery. Experiments on MovieLens and Amazon datasets show clear trade-offs: low-cost methods produce larger, less fair explanations, while other approaches yield concise and balanced results at higher cost. Furthermore, the Pareto-filtering heuristic demonstrates significant efficiency improvements in sparse settings.

Explanations for Group Recommender Systems

The essence of a counterfactual explanation lies in identifying the set of previously interacted items that, if removed, would prevent the appearance of a specific item (the target item) in the recommendation list. The problem can be described through the following question and its explanation.

Question

“Why does the target item t appear in the group recommendation list?”

Explanation

“If the group had not interacted with the items X, item t would not have been recommended.”

Finding Counterfactual Explanations

Phase A

Collect group history

Start with the items previously interacted with by any member of the group and select the target recommendation that needs to be explained.

Phase B

Rank candidate removals

Use item metrics such as recognition, rating, influence, and explanatory power to identify interactions that are most likely to affect the target item.

Phase C

Re-run the recommender

Remove a candidate set from the group history and invoke the group recommender again on the updated interaction set.

Phase D

Validate the explanation

Return the removed set as a counterfactual explanation only if the target item is absent from the new recommendation list.

Item-level & Explanation-level Metrics

The framework uses metrics at two levels. Item-level metrics help rank candidate interacted items for removal, while Explanation-level metrics evaluate whether a generated counterfactual is concise, interpretable, efficient, useful, and fair.

Item-level metrics

Signals for selecting candidate removals

  • Group item recognition: how many group members have interacted with an item.
  • Public item recognition: how widely the item is known outside the group.
  • Group item rating: the group members' average rating for the item.
  • Public item rating: the average rating among users outside the group.
  • Influence: how strongly the item affects the target recommendation in a model-agnostic way.
  • Explanatory power: how much removing a set of items lowers the target item's rank or removes it entirely.
Explanation-level metrics

Criteria for evaluating generated explanations

  • Minimality: favors smaller explanations with fewer removed items.
  • Interpretability: favors explanations containing items that are familiar to the group or to the wider user base.
  • Cost: counts the recommender calls required to discover the explanation.
  • Utility: combines minimality and interpretability into an overall explanation-quality score.
  • Fairness: checks whether the explanation burden is balanced across group members.

Fairness in Group Counterfactual Explanations

In a group setting, an explanation should not place the entire burden on one member's interaction history. The paper treats the removed items as an explanation burden and evaluates whether that burden is distributed evenly across the group.

Intuition

Avoid one-sided explanations

An explanation can feel biased if it says that only one member's past interactions caused the target item to be recommended. Fairness asks whether the explanatory removals are shared across members instead of concentrating on a single profile.

Measurement

Balance member contributions

For each group member, the framework counts how many of that member's interacted items appear in the explanation. It then compares these counts across members: more similar counts indicate a fairer explanation.

Interpretation

Lower imbalance means higher fairness

The paper measures imbalance using the standard deviation of the per-member contribution counts. A lower standard deviation means the burden is more balanced; perfect fairness occurs when all members contribute equally.

Algorithms

Pareto-filtering

Uses Pareto dominance over item metrics as a preprocessing step. It removes non-dominated, high-impact candidates first and gradually relaxes the dominance threshold until the target item disappears.

GreedyGrow

Sorts items by total score and adds them one by one to a removal set. It is fast, but the resulting explanation can be larger than necessary because no pruning is applied.

Grow&Prune

Starts with a GreedyGrow counterfactual and then removes unnecessary items while preserving the counterfactual condition, producing a smaller and usually fairer explanation.

ExpRebuild

Uses explanatory power to reorder the items in an initial counterfactual and rebuilds the explanation from the most influential candidates.

FixedWindow

Moves a fixed-size window over the ranked candidate list, tests each window, and then searches inside a successful window to find a compact subset.

BibTeX

@article{stratigi2026GroupRecExplanations,
  title   = {Explaining Group Recommendations via Counterfactuals},
  author  = {Stratigi, Maria and Bikakis, Nikos and Stefanidis, Kostas},
  journal = {arXiv:2601.16882},
  year    = {2026}
}