Papers › Causal Strategic Classification: A Tale of Two Shifts

Causal Strategic Classification: A Tale of Two Shifts

13 Feb 2023arXiv:2302.06280archive 2025-07-28

Guy Horowitz, Nir Rosenfeld

When users can benefit from certain predictive outcomes, they may be prone to act to achieve those outcome, e.g., by strategically modifying their features. The goal in strategic classification is therefore to train predictive models that are robust to such behavior. However, the conventional framework assumes that changing features does not change actual outcomes, which depicts users as "gaming" the system. Here we remove this assumption, and study learning in a causal strategic setting where true outcomes do change. Focusing on accuracy as our primary objective, we show how strategic behavior and causal effects underlie two complementing forms of distribution shift. We characterize these shifts, and propose a learning algorithm that balances between these two forces and over time, and permits end-to-end training. Experiments on synthetic and semi-synthetic data demonstrate the utility of our approach.

PaperPDFCode

In Syntology View this paper on Syntology: its page in Syntology's graph, with its repositories and citations.

Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

Code

anoncsc/csc officialmentioned in paperpytorch report
guyhorowitz/csc officialmentioned in paperpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Tasks

ClassificationVocal Bursts Valence Prediction

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections