tl;dr
Technical Debt is a concept from software development describing how, over time, pressure to deliver features leads to complex systems and low productivity. A parallel concept, Policy Debt, can be observed in the public policy sphere, particularly in the hugely complex Tax Code. As in software development, although the optimal solution may be to slowly re-factor and simplify, the only solution that can be sold to stakeholders is a complete rebuild of the system.
Tech Debt
In software development there is the concept of technical debt (tech debt). When a new feature is needed often the only option is to cut corners to get it released on time.
Maybe you save time by avoiding changing existing code, preferring to bolt on additional logic. This might be fast (it reduces the risk of breaking existing functionality) but it creates issues for the future as your system becomes more complex and logic is duplicated.
Alternatively, strapped for time you may write some bad code. You probably know it’s bad, but you don’t have time to write anything better.
Over time this bad code and complexity (plus many other tech debt issues) accumulate making:
- Unexpected things happen in your system (bugs)
- Your developers massively unproductive (and their life a misery)
At some point this ‘debt’ must be paid or the system slowly grinds to a halt.
If you’re not familiar with software development, consider the shared spreadsheet at work. The one with 27 tabs and whole sections that you simply wouldn’t dream of touching lest you upset the Excel Gods. That’s tech debt.
Policy Debt
Public policy is similar. Every government begins, not from a blank slate, but with a portfolio of laws, policies and taxes that it inherited. The costs of changing any one of these are huge – there are sections of the population who benefit from each of them, business interests who rely on them and a limited amount of time to get things done. Therefore the easiest thing to do to achieve policy aims is to overlay additional laws, policies, taxes and rebates onto what already exists.
We’ll call this policy debt. It is particularly pernicious in the tax sphere for a couple of reasons:
- The system of allowances, thresholds, rates, exemptions and relief give many more dimensions over which to increase complexity
- Any change to the tax code impacts people directly and measurably in hard currency. This makes the political fallout stronger and the cost of change higher
So, does the U.K. tax code represent policy debt? Here is a list of some current taxes:
- Income Taxes
- Income Tax
- National Insurance (Employer and Employee)
- Health and Social Care Levy
- Capital Gains Tax
- Inheritance Tax
- Property Taxes
- Council Tax
- Stamp Duty
- Car Tax
- Business Taxes
- Corporation Tax
- Business Rates
- Consumption Taxes
- Value Added Tax
- Fuel Tax
- Air Passenger Duty
- Various ‘Sin’ taxes
As well as many niche taxes such as Insurance Premium Tax. Now this may not seem like too much until you consider how complex each of these can become.
Focussing purely on income. Income Tax has a tax free personal allowance, a 20% basic rate, a 40% higher rate, a 45% additional rate. Your personal allowance reduces to 0 above a certain threshold and there are individual allowances for dividends, savings interest, self employment income, property rental and under certain circumstances marriage. Also ISAs, LISAs and Pensions ‘protect’ income from being taxed. National Insurance has different allowances and rates that kick in at different levels. Plus there is the Health and Social Care Levy which is like National Insurance but different in a presumably very important way.
To add additional complexity, individuals and companies are taxed differently on income (50+% v 20%) which creates a whole class of loopholes (or tax code ‘bugs’) where you can reduce your tax bill by routing your income through a company and drip feeding yourself the cash through salary, dividends and loans, but only if you have sufficient knowledge of the system or can afford an accountant.
As a function to decide how much tax someone pays based on their income, this certainly feels overly complex to me.
As a system weighed down by tech debt requires more and more developers. So too, the complexity of the tax system and the ability to reduce one’s bill through loopholes creates a whole industry of tax accountants and advisors.
Digging Holes
The economy allocates labour (and scarce resources) to fulfil desires under a set of rules dictated by the government. We can look at the jobs that are created and examine the value that they add to get insight into that rule set.
Tax advisory annual industry revenue in the U.K. is estimated to represent £4.7bn pa. https://www.ibisworld.com/united-kingdom/market-research-reports/tax-consultants-industry/
Making some assumptions about average salaries, we can estimate that this represents 50k-100k full time workers before we even consider the time spent by regular accountants on this kind of activity.
That is possibly more than 100,000 U.K. workers, presumably intelligent and skilled, making up an industry that achieves what? Most charitably it ensures that the correct amount of tax is being paid, less charitably it minimises the amount of tax that can be collected from its clients for use on public services. Why does an economy need such a large group of people working with such aims? From a planning perspective, that time would be better spent digging holes. (No offence to any tax accountants out there – they didn’t create the rules). When the invisible hand is allocating a workforce equivalent to 20% of the teachers in the country to something utterly pointless (and that clearly wouldn’t exist without the government) it’s likely that something in the ruleset is wrong.
A largely pointless tax advisory function, frequent tax evasion scandals and the constant need to close loopholes whack-a-mole style all point to huge policy debt in the tax sphere. The key question then is how to fix it?
Lessons From Software Development
It is hard to get a piece of work approved to fix a small amount to tech debt. For example, it is difficult to get approval to spend a couple of days making the shared spreadsheet marginally less bad. Similarly, it is tricky to sell a couple of weeks work to make some horrible code slightly less horrible. The problem is the same in politics.
Why has no one tackled turning the various taxes on income into a single Income Tax? It would be a perfectly sensible thing to do. The reason that it’s not done is that some people would inevitably lose out, they would complain and you would end up expending political capital to force through a very sensible change with small but largely invisible benefits – politically, it’s not going to win you votes.
So how is this problem solved in software development? When you can’t sell incremental improvement, eventually a total rebuild is required. Delete the old spreadsheet and make a new one without any of the issues of the old one, tear down swathes of code and replace them with something new, efficient, probably in a cool new language.
People cannot stand investing time to change something only for it to remain basically the same steaming pile of excrement as before, even if the pile is marginally less worse. But they will buy into making something new and great.
So how to deal with policy debt in the tax code. Burn it to the ground. Complete and utter destruction of the old rule book and the creation of a shiny new one. Simpler and better. Raising more money, more fairly, for less impact on the economy etc.
In Summary
- Policy debt is like tech debt for politicians
- It slowly makes our tax system dysfunctional
- It is politically impossible to slowly unravel the chaos
- The solution is a complete rebuild