Tax optimization Taxes

Your marginal income tax rate

Introspective on your tax rates is an important element of financial literacy. How much taxes will you pay if you increase your income by X? In this entry, we’ll learn how to answer this question. To do that, we’ll see how to estimate your marginal income tax rate.

Your marginal income tax rate

What is it

Your marginal income tax rate is the percentage of taxes you pay on incremental income you receive [1].

An easy example. Assume you currently earn CHF 8k per month. You get a raise to 8.5k. Your marginal rate tells you how much taxes you pay on the additional CHF 500.

Marginal and average income tax rates are different concepts. Check this entry if the difference isn’t clear.

Why is it important

Familiarity with your marginal income tax rate is important because of two reasons. The first one is to estimate the take-home value of potential increases in income. As you can imagine, salary increases are somewhat less meaningful if you have to pay 40% taxes on them than if you have to pay just 15%.

The second reason is to estimate the financial impact of tax deductions. As we saw in this entry, the impact of tax deductions directly depends on your marginal income tax rate. The higher the rate, the more effective tax deductions are. Typical scenarios when this comes into play are:

  • Signing up for pillar 3a
  • Getting a mortgage
  • Making donations

Calculating your marginal income tax rate

OK, so now we know why it makes sense to know about our marginal income tax rate. How do we calculate it?

A difficult calculation

Calculating your marginal income tax rate isn’t easy. At least not if you’ve never done it before. It requires some effort because:

  1. It’s not directly observable in your tax declaration. You know your average tax rate whenever you pay taxes. But not your marginal income tax rate
  2. You pay taxes at multiple levels. As explained here, these levels are federation (Bundessteuer), canton (Kantonssteuer), and municipality (Gemeindessteuer). The marginal income tax rates is different for each
  3. Tax deductions are different across the three taxation levels. Tax deductions can also vary from year to year, so you have to correct for ‘one-offs’

An easy proxy – withholding taxes

There’s an easy alternative to estimate your income tax rate. We can use the withholding taxes (Quellensteuer). This method has several advantages:

  1. Coming up with an estimate takes no time. You can estimate your rate in less than two minutes
  2. Withholding taxes aggregate all three taxation levels
  3. You can plug in your monthly gross salary. No calculations required
  4. Withholding taxes already account for a set of tax deductions that the tax authorities consider ‘representative’ for an average citizen

This method has some arguably important limitations. We’ll cover them later.

Estimating your marginal income tax rate through withholding taxes

The Swiss Confederation is quite transparent when it comes to withholding taxes. The tax authorities aggregate data on withholding taxes for all cantons and conveniently make it publicly available. You can find the database here.

The bad news is that the format is quite ugly. Information is codified is a non human-readable way. The good news is that I already ‘decodified’ and aggregated the data for you. Plus I calculated marginal income tax rates, which are not part of the standard dataset. To estimate your average and marginal income tax rates you just have to follow three steps.

Step one: data downloading

Download this Excel file with the processed data for all cantons.

Step two: filtering

Filter by Kanton, Tariff, Kinder and Kirche. The only column that is not obvious is Tariff. This is a legend for this column, extracted from here:

  • A: single individuals
  • B: single-earner married couples
  • C: double-earner married couples
  • D: side income or part time jobs
  • E: income taxed with simplified accounting
  • F: cross-border commuters from Italy whose spouse is employed outside of Switzerland
  • H: people who live with and fully dedicated to the care of children other dependents
  • L: cross-border commuters from Germany who meet the requirements for tariff A
  • M: cross-border commuters from Germany who meet the requirements for tariff B
  • N: cross-border commuters from Germany who meet the requirements for tariff C
  • O: cross-border commuters from Germany who meet the requirements for tariff D
  • P: cross-border commuters from Germany who meet the requirements for tariff H

Despite the variety of cases, most likely A, B or C apply to you.

Step three: evaluating the output

Read the average and marginal income tax rate for monthly gross incomes close to yours. Remember that this is only a precise figure if you are tax at sourced. If you declare taxes, this is just an estimate.

output marginal income tax rate
Example output for canton Zurich, tariff A, no children and no church


As you just saw, estimating your marginal tax rate through Quellensteuer takes no time. However, keep in mind that this method has certain limitations. If you file taxes, this estimate won’t be exact because:

  1. It doesn’t consider the differences Gemeindesteuer. This is because withholding taxes are always the same for a given canton. They don’t correct for different municipalities. A regular tax filing does. As we saw here, the effect is not negligible
  2. The average set of deductions baked into Quellensteuer might be far from the truth. This depends on your personal case

A different kind of limitation is the consistency of the data. If you downloaded the file, you’ll see that at times the marginal rate isn’t monotonically increasing. In other words, it goes down. This is likely the result of rounding by the tax authorities. If we recalculate with a bigger step size – e.g. 500 instead of 1,000 – the issue fades away. Rest assured that there’s progressive taxation in Switzerland!

Ideas for additional data analyses

You can also use the dataset to generate interesting insights. In here I’ll just explore a couple of examples.

Marginal income tax rates in different cantons

The chart below compares marginal income tax rates for 10 Swiss cantons. It assumes tariff A, no children, no church.

Average income taxes and number of children

The chart below captures the effect of children on average income tax rates. It assumes canton Zurich, double-earner married couple, no church. The bump at CHF ~16k is quite interesting. If you plot marginal rates, you’ll see sharp spike around that point.

Final words

Hopefully this entry helped you build some familiarity with your marginal income tax rate. Quellensteuer offer a fast alternative to estimate this rate. But this estimate isn’t perfect. If are looking for a precise calculation, you’ll have to go back to your tax filing and aggregate your rates for Bundesteuer, Kantonssteuer and Gemeindesteuer.

Last updated on June 10, 2020

Leave a Reply

Your email address will not be published. Required fields are marked *