Algorithmic Contract Theory: A Survey
Paul Duetting, Michal Feldman, Inbal Talgam-Cohen
TL;DR
This survey develops a computer science–friendly framework for algorithmic contract theory, unifying classic principal–agent models with modern algorithmic and learning tools. It shows how simple, robust contracts (notably linear ones) can achieve strong guarantees under uncertainty, while optimally complex contracts may be intractable; LP formulations, geometric views, and robust/minimax analyses underpin these results. The work extends to combinatorial actions, multi-agent settings, typed agents, and data-driven contracts, highlighting both tractable cases (e.g., gross substitutes, constant action sets) and hardness results (e.g., submodular or XOS outcomes, non-constant action counts). It also explores contracts in ML contexts, social-good applications, and ambiguous contracts, and discusses learning-based approaches, including regret bounds and online/offline sample complexities. Overall, the paper maps tractability frontiers, proposes robust design principles, and outlines open questions at the intersection of economics, computation, and machine learning, with implications for scalable, incentive-aware algorithms and platforms.
Abstract
A contract is an economic tool used by a principal to incentivize one or more agents to exert effort on her behalf, by defining payments based on observable performance measures. A key challenge addressed by contracts -- known in economics as moral hazard -- is that, absent a properly set up contract, agents might engage in actions that are not in the principal's best interest. Another common feature of contracts is limited liability, which means that payments can go only from the principal -- who has the deep pocket -- to the agents. With classic applications of contract theory moving online, growing in scale, and becoming more data-driven, tools from contract theory become increasingly important for incentive-aware algorithm design. At the same time, algorithm design offers a whole new toolbox for reasoning about contracts, ranging from additional tools for studying the tradeoff between simple and optimal contracts, through a language for discussing the computational complexity of contracts in combinatorial settings, to a formalism for analyzing data-driven contracts. This survey aims to provide a computer science-friendly introduction to the basic concepts of contract theory. We give an overview of the emerging field of "algorithmic contract theory" and highlight work that showcases the potential for interaction between the two areas. We also discuss avenues for future research.
