Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Simulate a progressive tax on gross household income

    Hello everybody,

    I'm trying to simulate on stata a progressive taxation on household income based on the italian taxation.
    The main available variable in my microdata dataset is the gross family income for every observation of the 19000 sample .

    From the income I need to apply the follow tax scheme:
    €0 — €15,000 23%
    €15,000 — €28,000 27%
    €28,000 — €55,000 38%
    €55,000 — €75,000 41%
    over €75,000 43%
    Which command I'll need to use to obtain the total tax payed from the single family ?

    Kind regards,

    Fabio.

  • #2
    A question: In the Italian system, how are the rates applied to income below each threshold? That is, suppose a family has income = 20000. Is its tax 0.23 * 20000, or is it 0.23 * 15000 + 0.27 * (20000 - 15000)?
    If it is the first of these, you can just recode income to obtain the rate:
    Code:
    recode income (0/15000 = 0.23) (15000/20000 = 0.27) ...., generate(rate)
    generate tax = income * rate
    If the tax is calculated using the second method, as I would guess, then the solution that occurs to me is more complicated:
    Code:
    gen tax = 0
    local ratelist = "0.23 0.27 0.38 0.41 0.43"
    local breaklist = "0 15000 28000 55000 75000"
    forval i = 1/5 {
       local break = word("`breaklist'", `i')
       local rate = word("`ratelist'", `i')
       replace tax = tax + `rate' * (income -`break') if (income > `break')
    }

    Comment


    • #3
      Mike:
      in Italy taxation on personal income follows your second method.
      Kind regards,
      Carlo
      (Stata 18.0 SE)

      Comment


      • #4
        I believe there should be a necessary modification in Mike's code. Particularly, in stead of
        Code:
        local ratelist = "0.23 0.27 0.38 0.41 0.43"
        it should be
        Code:
        local ratelist = "0.23 0.04 0.11 0.03 0.02"

        Comment


        • #5
          Thanks for the correction.

          Comment

          Working...
          X