[openspending-dev] The taxman cometh

Nick Stenning nick at whiteink.com
Tue May 1 15:16:51 UTC 2012

On 1 May 2012, at 15:47, Martin Keegan <martin at no.ucant.org> wrote:
> Hello,
> Thanks for making the taxman tool - I really like it.
> What is to be done to obtain valid international comparative data from non-programmers?

Hi Martin,

[adding openspending-dev]

Yes, this is The Question, and it has multiple parts:

1) is there a standard data format we could accept that would
adequately describe tax systems across jurisdictions?

2) is there a meaningful contribution non-programmers can make to
building TaxMan?

3) how can we standardise the output of the TaxMan so as to make it
useful for interjurisdictional comparisons.

To which I think the answers are:

1) No, and we shouldn't try and invent one. While tax bands are a good
abstraction for a fixed-parameter system, you end up needing a program
to calculate the tax bands given varying parameters (sex, age,
employment status, etc, etc.)

The true nature of a tax system is algorithmic, not tabular, and a
program is the correct implementation. Any attempt to create a
"data-only" format would either not work everywhere or be outrageously

2) Yes! If people would just write down detailed textual explanations
of how their jurisdiction calculates tax contributions, it would make
coding the TaxMan adapter much easier. The tough part is hunting down
the information on the relevant federal web pages.

3) In short, I don't know. But my current feeling is that we should
standardise *parts* of the return object. For example, different
jurisdictions might have all kinds of data that aren't shared, but
there should always be a "calculation.total" field denoting total
contributions. Perhaps also stuff like "calculation.directs.total" and

What do you think of the basic three root keys? "options" to show how
the adapter parsed the GET params, "data" to show the data used in the
calculation, and "calculation" to show the detailed tax calculation
for the provided parameters?

Lastly, I should stress that TaxMan was hacked together in a few
hours, and any and all design decisions are up for grabs!


More information about the openspending-dev mailing list