Anyone looking into their income eventually hits the same question: how much is left after taxes? Many income tax systems are progressive, charged in brackets. And around them floats a stubborn myth: “if I get a raise, I’ll jump into a higher bracket and take home less.” The math behind it is a piecewise function, and once you see how it works, the myth falls apart in a few lines.

How bracket-based tax actually works

The key idea: each rate applies only to the slice of income that falls inside its bracket. Your whole income is not taxed at the highest rate it reaches. It gets sliced, and each slice pays its own bracket’s rate.

To study this without depending on any real tax table (they change every year), we’ll use a made-up schedule built just for this example. Amounts are monthly, in US dollars:

Bracket (fictional example)Portion of incomeRate
1up to $2,0000%
22,000to2,000 to5,00010%
35,000to5,000 to10,00020%
4over $10,00030%

Someone earning 7,000doesnotpay207,000 does not pay 20% on7,000. They pay 0% on the first 2,000,102,000, 10% on the next3,000, and 20% only on the 2,000above2,000 above5,000.

Tax as a piecewise function

Let xx be income and T(x)T(x) the tax owed. Within each bracket, the tax is a linear function: the bracket’s rate times xx, minus a constant that accounts for the lower slices having paid less.

T(x)={0,0≤x≤20000.10x−200,2000<x≤50000.20x−700,5000<x≤100000.30x−1700,x>10000T(x)=\begin{cases}0,& 0\le x\le 2000\\ 0.10x-200,& 2000<x\le 5000\\ 0.20x-700,& 5000<x\le 10000\\ 0.30x-1700,& x>10000\end{cases}
The fictional schedule written as a piecewise function (amounts in USD).

Where do 200, 700 and 1,700 come from? From requiring the graph to have no jumps. At x=5000x = 5000, bracket 2’s formula gives 0.10 · 5,000 − 200 = 300, and bracket 3’s gives 0.20 · 5,000 − 700 = 300. At x=10000x = 10000, both neighboring formulas give 1,300. The function is continuous: it changes slope at each threshold but never jumps. Its graph is a polyline that gets steeper, and the slope of each piece is exactly that bracket’s rate.

0200040006000800010,00012,0000500100015002000Income ($)Tax ($)Tax T(x)
A polyline with no jumps: flat up to $2,000, then slopes of 10%, 20% and 30%. Tax is 300 at $5,000 and 1,300 at $10,000.

Marginal rate vs. effective rate

Two different rates describe the same tax:

  • Marginal rate: the rate on your next dollar earned, the slope of the piece you’re on. At $7,000, it’s 20%.
  • Effective rate: the share of your total income that goes to tax, i.e. tax divided by income.
reff(x)=T(x)xr_{\text{eff}}(x)=\frac{T(x)}{x}
In a progressive schedule like this one, the effective rate never exceeds the marginal rate.

Worked example: $7,000, then a raise to $10,500

Tax on $7,000, slice by slice
  1. 2000⋅0=0\displaystyle 2000\cdot 0=0 First slice: the first $2,000 pays 0%.
  2. 3000⋅0.10=300\displaystyle 3000\cdot 0.10=300 Second slice: $2,000 to $5,000 is $3,000 at 10%, or $300.
  3. 2000⋅0.20=400\displaystyle 2000\cdot 0.20=400 Third slice: $5,000 to $7,000 is $2,000 at 20%, or $400.
  4. T(7000)=0+300+400=700\displaystyle T(7000)=0+300+400=700 Add the slices: tax is $700, leaving $6,300.
  5. 7007000=0.10\displaystyle \frac{700}{7000}=0.10 Effective rate: 700 divided by 7,000 is 10%, half the 20% marginal rate.

Check with the formula. 7,000isinbracket3,so7,000 is in bracket 3, soT(7000)$ = 0.20 · 7,000 − 700 = 1,400 − 700 = 700. Matches.

Now suppose a raise to 10,500.Byslices:0+300+1,000(the10,500. By slices: 0 + 300 + 1,000 (the5,000 in bracket 3 at 20%) + 150 (the 500above500 above10,000 at 30%) = 1,450.Bybracket4′sformula:0.30⋅10,500−1,700=3,150−1,700=1,450.Take−homepaygoesfrom1,450. By bracket 4's formula: 0.30 · 10,500 − 1,700 = 3,150 − 1,700 = 1,450. Take-home pay goes from6,300 to $9,050, and the effective rate rises from 10% to about 13.8%, still far below the 30% marginal rate.

10%Effective at$7,00013.8%Effective at$10,50030%Marginal at$10,500
Effective rate of 10% at $7,000 and about 13.8% at $10,500, far below the 30% marginal rate.

The myth of the raise that costs you money

Picture someone earning exactly 10,000whogetsa10,000 who gets a100 raise, crossing into the 30% bracket. The fear is that 30% now applies to everything. It doesn’t.

  • At 10,000:taxof10,000: tax of1,300, take-home $8,700.
  • At 10,100:taxof10,100: tax of1,330, take-home $8,770.

Of the extra 100,100,30 goes to tax and 70stayswithyou.Because70 stays with you. BecauseTiscontinuousanditsslopeneverreaches100is continuous and its slope never reaches 100%, after-tax incomex - T(x)$ is strictly increasing: its slope is 1 minus the marginal rate, always positive. More gross pay always means more net pay.

The myth comes from mixing up two models. If tax were “bracket rate times your whole income,” the function would jump: at 10,000thetaxwouldbe2010,000 the tax would be 20% of 10,000 =2,000, and at 10,100itwouldbe3010,100 it would be 30% of 10,100 =3,030, and take-home would indeed drop. Bracket schedules are designed precisely to avoid that cliff. Income-tested benefits, which sit outside the tax table, can create real cliffs in specific cases; that’s a separate calculation.

9800990010,00010,10010,20070007500800085009000Gross pay ($)Take-home ($)Brackets (real)Rate on all (myth)
With brackets, take-home rises from $8,700 to $8,770. If the rate hit the whole income it would fall from $8,000 to $7,070: that cliff is what brackets avoid.

Common mistakes

  1. Applying the bracket rate to your entire income. This is what feeds the myth. Each rate covers only its slice.
  2. Confusing marginal and effective rates. Saying “I pay 30% in taxes” when only the top slice does. At $10,500 the effective rate is about 13.8%.
  3. Dropping the subtraction constant. Computing 0.20 · 7,000 = 1,400 and stopping there doubles the tax.
  4. Getting the slice width wrong. The 5,000to5,000 to10,000 bracket is 5,000wide,not5,000 wide, not10,000.
  5. Treating the example table as real. These numbers are fictional; they teach the structure, not your actual tax bill.

FAQ

Frequently asked questions

Can a raise push me into a higher bracket and lower my take-home pay?

Not under a bracket-based progressive tax like the one here. Only the amount above the threshold is taxed at the higher rate, so net income always rises when gross income does.

What's the difference between marginal and effective tax rate?

The marginal rate applies to your next dollar, the slope of the graph where you are. The effective rate is total tax divided by total income.

Why is the tax function continuous?

Because each rate applies only to its own slice. At every threshold the formulas on both sides give the same tax, so there is no jump.

How do I find the constant for each bracket?

Require continuity at the threshold. For example, 0.20 · 5,000 − d = 300 gives d = 700.