← Latest papers
💰 quantitative finance

Tax reform as a constrained optimization problem: a piecewise-linear framework and software implementation

This paper presents a constrained optimization framework and open-source software, \texttt{TaxSolver}, that transforms complex tax codes into piecewise-linear models to automatically generate politically viable, provably optimal tax reforms, a methodology currently in active use by the Dutch Ministry of Finance.

Original authors: Mark Verhagen, Menno Schellekens, Michael Garstka

Published 2026-07-20
📖 3 min read☕ Coffee break read

Original authors: Mark Verhagen, Menno Schellekens, Michael Garstka

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine trying to untangle a giant ball of yarn where every string is tied to another, and pulling one loose makes three others snap tight. That is what modern tax codes often feel like: a messy knot of rules, brackets, and special benefits that interact in confusing ways. This paper sits at the intersection of economics and computer science, specifically a field called "operations research," which is basically the art of using math to find the best possible solution to a complicated problem. The core idea the authors build on is simple: if you can describe a system with a set of rules, you can treat those rules like ingredients in a recipe. If you want to change the taste of the dish (the tax system) without ruining the budget or making people too poor, you need a way to test millions of recipe variations instantly. The authors ask a big question: instead of just guessing how to fix a broken tax code, can we use a computer to mathematically prove the best way to fix it, while guaranteeing that no family loses more than a tiny bit of money and the government doesn't lose its paycheck?

The paper, titled "Tax reform as a constrained optimization problem," proposes a clever new way to look at tax reform. Instead of treating tax laws as a rigid, unchangeable wall, the authors show that almost any tax code can be flattened into a simple, piecewise-linear function. Think of this like a staircase: each step represents a different tax rate, and the flat parts are the "brackets." The authors discovered that even a tax code with dozens of complex, interacting rules can be reduced to a single, smooth staircase for every type of taxpayer. Once they turned the tax code into this mathematical staircase, they treated reform as a puzzle. They set up a computer program with strict "guardrails" (constraints): no household can lose more than 5% of their net income, the government can't lose more than 1.5% of its total revenue, and no one should face a tax rate spike higher than 80%.

The computer then searched for the perfect set of new steps and rates that fit inside these guardrails. The result is a toolkit that doesn't just guess; it either finds a mathematically proven "optimal" reform or tells you, with absolute certainty, that no such reform exists because your goals contradict each other. To test this, the authors rebuilt the entire Dutch income tax code, which is famous for being a tangled mess where low- and middle-income earners sometimes face effective tax rates over 80% because multiple benefits disappear at once. Using their software, called TaxSolver, they generated new tax codes that smoothed out these terrifying spikes, capped household income losses, and roughly halved the number of active rules. They even showed that if you try to make the system too simple or too cheap, the math proves it's impossible to keep everyone happy. By turning tax reform into a solvable math problem, the authors provide a way to design fairer, simpler tax systems that actually work in the real world, rather than just hoping for the best.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →