jinghao.me
  • About Me
  • Archive
  • Tags
Jinghao Yan
Jinghao Yan

Curious engineer and part-time economist from UC Berkeley interested in solving problems through technology


  • Facebook
  • LinkedIn
  • Quora
  • GitHub

The Merits of the State and Local Tax Deduction

07 January 2018 by Jinghao

“Why should lower-tax inland states subsidize high-tax coastal states like California and New York?”

Of course, the quote above taken at face value is not true (even before the 2017 Tax Act, CA and NY contribute far more into the Federal coffers than it receives), but it sounds like a fair question to ask in discussing the merits of the State and Local Tax (SALT) deduction, which was one of the biggest victims in the 2017 Tax Act. Even Blue State Liberals can have trouble justifying why this deduction makes sense in principle.

Therefore, I want to point out some of the less obvious merits to the deduction, not to argue that we should keep the deduction, but to balance the discussion. It has many drawbacks as well but they’re more well known so I will not discuss them here. Moreover, I’ll focus on the income tax deduction (since there’s less merit to the property tax deduction). If you’re curious about my opinion, read to the end.

You can see my previous post about the politics and optics of this change, specifically its redistributive nature. This post will focus on its policy and economic merits.

Historical Justification

The deduction was in place when the income tax was instituted at the Federal level to protect the state’s ability to levy taxes entirely consumed by the Federal taxes. You can see a clear illustration of this principle when the top marginal rate was high (94% during WWII). Without this protection, states would have had virtually no power to levy taxes on high-income earners.

Of course, given where our top marginal rates are now (37% post-tax-act), this fear seems a bit strange. Perhaps if we believe that rates will never go up as high, this justification should be left to the economic historians. But if a national mobilization were to become necessary (i.e. major war) and the Federal government needed to finance it, we may again see merit in this argument.

Positive Externalities of Public Spending

Some forms of public spending generate positive externalities–that is, it produces benefits to those who are outside of that jurisdiction. For example:

  • tighter emission standards in California benefit the world overall and its neighbors especially.
  • investment in education (including higher education) produces a more educated populace, many of whom will end up working (and paying taxed) in other states.
  • investment in public facilities are often used by residents of other states (or even countries)–not all of these are national parks that are funded by the Federal Government.
  • generous benefits will tend to draw a more dependent crowd, reducing costs in other states. Imagine the migration that would ensue if only California offered universal health care to everyone.

Negative Externalities of Tax Cuts

With fluid borders, local governments are locked in a Tragedy of the Commons situation where one state lowering their taxes creates pressure on the coffers of other states, as the wealthy and mobile threaten to (and in many cases decide to) move out.

This pattern may be more visible when companies do it, like when Kansas and Missouri took turns in paying a company to move its headquarters back and forth between the two states or when New Jersey and others offered $7 billion to Amazon, worth almost $600 billion, to locate its second headquarters there.

States are not immune to wealthy individuals packing up for another state, either. Each one may be less prominent compared to a well-known global behemoth like Amazon, but there are many more individuals than businesses. See how “one man can move out of New Jersey and put the entire state budget at risk” for one story.

My Opinion

Despite the merits described in this post, I think it’s outweighed by its many downsides: The redistributive effect (It only benefits high earners), its imprecision in affecting externalities, and the cost. However, this isn’t a slam-dunk case where the downsides are clearly more significant.

The deduction should be eliminated along with many other deductions (including charitable giving deduction, mortgage interest deduction, etc), for both individuals and corporations. Insofar as public spending by a government entity generates benefits outside of its jurisdiction, that positive externality should be properly quantified and directly subsidized (i.e. a Federal transfer to the state for achieving certain educational results). The deduction is too blunt of an instrument to properly price in the various externalities of state spending.

  • politics 47
  • economics 31
  • taxes 3

GOP Tax "Reform"

01 January 2018 by Jinghao

Many people have asked for my thoughts on the GOP Tax “Reform”. Despite how black and white the media and politicians want you to believe it is, it’s actually a very complex topic, so I’ll cover this in depth over multiple posts.

In this post, I’ll briefly cover the main changes in the tax bill and whether I think each is good or bad. I won’t explain each in depth for brevity–in fact, some of my answers may sound completely unintuitive. I’ll cover the key ones in depth in future posts.

Process, Politics and Optics

I want to focus most of this on the contents of the tax bill so let’s get this out of the way first.

The process, politics and optics of this were far from ideal. It’s a hugely complex and long bill, rammed through at the last moment along party lines, that looked intended to punish “Blue State” voters in California and New York (limiting State and Local Taxes, and Mortgage Interest Deduction). The last point is felt more acutely because the blue states already contribute far more to the Treasury than they receive. Moreover, due to the razor thin margins, hold-out GOP Senators were able to extract specific concessions like a specific deduction for pass through businesses that benefit real estate property owners (you can guess who that benefits).

The temporary nature of the individual tax cuts is also deceptive to voters who may see a near-term tax cut but eventually the cost for that tax cut will catch up on them (due to the bill’s contributions to the deficit) at the same time that their tax cuts expire. Moreover, some of the short-term revenues will come from a one-time discount on repatriating profits held abroad. When the 2020 elections come, voters won’t have felt the squeeze of the belt-tightening from the expiration of the individual tax cuts nor the impact to the federal deficit.

Policy Changes

You can see more details about the bill on Wikipedia.

Many of the specific changes are not bad. The real problems are in

  • the omissions (not going far enough in many cases)
  • the clear bias towards corporations, for example:
    • retaining key deductions that have been cut for individuals (like SALT)
    • eliminating the corporate Alternative Minimum Tax (while keeping the individual AMT)
    • making the individual tax cuts temporary while making the corporate tax cuts permanent)
  • the timing and transition plan
  • the impact to the federal budget, which will be used to justify cuts to social programs

For Businesses

  • Reduces the corporate tax: 4/5. A cut is good because headline corporate rates are high in the US but it wasn’t paid for by cuts in deductions.
  • Introduces a territorial system of taxation: 4/5. Simpler and more consistent with other countries.
  • Limits interest deduction to 30% of EBITDA: 4/5. Great direction. Doesn’t go far enough. Should eliminate interest deduction completely.
  • Eliminates the corporate Alternative Minimum Tax: 4/5. It’s fine to simplify corporate taxes but the bill should’ve eliminated more corporate deductions to make a corporate AMT not necessary.
  • Creates a 20% deduction for certain pass-through businesses with tangible assets like real estate firms: 2/5. It’s just a kickback for certain politicians and further complicates the tax code.
  • Allows immediate deduction of certain capital investments: 2/5. More corporate giveaways and complications without serious justification.
  • Creates a discount for repatriating foreign earnings: 2/5. It’s a one-time boost and rewards companies for hoarding cash abroad.

For Individuals

  • Doubles estate tax exemption to $11.2m/giver (or $22.4m for a couple): 1/5. Nobody needs to receive more than $10m of tax-free money to start off their life. Generational wealth is the biggest contributor to growing inequality.
  • Caps state and local taxes (SALT) to $10k: 2/5. In principle, I agree with eliminating (or drastically reducing) deductions for SALT (especially property tax). In practice, it was imposed too suddenly and doesn’t give states and individuals time to adjust. Moreover, companies can still deduct their taxes. If it were truly about incentivizing states to lower their taxes, it should give states time to do so (phasing it in over five years?).
  • Doubles the standard deduction: 2/5. The fact that standard deduction and itemized deduction don’t add up is bad. Doubling the standard deduction magnifies the issue. The presence of the standard deduction means that most people don’t benefit from deductions and it complicates taxes. (For example, what’s the impact of donating? Should I buy this house assuming I can deduct the interest?) This tension can be resolved by eliminating the standard deduction, eliminating itemized deductions, or combining the two.
  • Updates the tax brackets: 4/5. The new brackets make more sense for a few reasons (although the rates didn’t have to be lowered so much)
    1. It eliminates weird brackets like the 35% for individuals rate ($424,950-$426,700)
    2. It eliminates the marriage penalty for most couples if you ignore the deduction limits.
    3. It indexes the brackets to chained CPI measure of inflation, which more accurately tracks purchasing power because it accounts for substitution effects.
  • Eliminates the personal exemption: 4/5. The child tax credit is a simpler way of “subsidizing” child-raising, although the merit of using tax policy to steer family planning decisions is dubious.
  • Limits mortgage interest deduction (MID) to 750k of principal: 4/5. Good idea in principle. It doesn’t go far enough and the transition plan contributes to a liquidity issue. The MID is regressive, expensive and creates many problems. It should be phased out over a number of years (5-15) and should affect all mortgages, not just newly originated ones, because creating two classes of mortgages will lower liquidity for the housing market (mortgage is worth more to the homeowner than to the potential buyer, widening the bid/ask spread).
  • Eliminates individual mandate for health insurance: 1/5. A terrible clause to sneak into the bill that will cripple health insurance markets in subtle ways. You may be wondering why it’s expected to save money even though we would no longer be collecting fees? It’s because it’s estimated to take 20 million+ people off insurance, which is partially subsidized.
  • Raises exemption for AMT: 3/5. More deductions should be removed and AMT will just become irrelevant. It’s a needless complication if the main line tax system were simpler.

Implications and Conclusion

The economy doesn’t need a fiscal stimulus right now. It’s at or near full employment. Companies are sitting on record amounts of uninvested cash because there aren’t many profitable investment opportunities, not because of punishing tax rates. Yet, this bill will add trillions to the debt over the next decade.

The right way to pay for these tax cuts is eliminating more deductions–including deductions taken away from individuals but kept for corporations–and special status for certain types of income (i.e. capital gains on primary property, carried interest, etc).

  • politics 47
  • economics 31
  • taxes 3

Programming Competition

16 May 2015 by Jinghao

In the spring semester of 2009 when I was a sophomore at Berkeley, I was taking the algorithms class taught by professor Dave Wagner. Most of the class is very theoretical. Problem sets and midterms focused on proofs and complexity analysis.

One day, the professor decided to hold a programming competition to see who can write the fastest program to solve some string problems. This would be one of the few times where you needed to program. There would also be a prize involved–his favorite book Programming Pearls, signed by him. It would be a good complement to the heavy focus on theory so far.

I chose to implement a simpler, but asymptotically worse algorithm. The consequences of not winning weren’t high, but the consequences of a flawed implementation or algorithm were much greater. So this decision seemed natural.

The day came when the professor wrote the running times and implementation language of the top 10 submissions (250~ students) on the board (plus our account IDs which were random letters like cs170-ab). I was surprised to see my submission at the top.

It turns out that the professor used standard test inputs like The Bible and War and Peace, rather than adversarial inputs that tested the asymptic bound. The professor explained that the top few solutions were all using the simpler, but “worse” algorithm. The main difference between mine and the second submission is that I used the C language whereas the second submission was in Java.

The irony of the situation became apparent to many people. The whole semester up until that point, we’ve been focused on asymptotic time/complexity, yet the clever and hard-working folks who implemented better algorithms were not the ones to win. And among those who chose the simpler algorithm, it was the C implementation that won overall.

Further compounding the irony was the fact that I spent most of my time on the project optimizing my C code, from writing a custom sort function (saved around 20% time on The Bible) to optimizing compiler flags and compilers (Using g++ led to a 10% faster program–not sure why). At the end of the day, instead of focusing on implementing the “best” algorithm, I focused on all the things that are unmentioned in the algorithms class.

Of course, if the professor had wanted to use this project to teach us a lesson about complexity, he could’ve used more adversarial inputs to really test the algorithm. Perhaps he chose these test inputs to remind us that complexity isn’t all that matters in real life.

  • programming 12
  • computer science 1
  • UC Berkeley 1

Courage

16 May 2015 by Jinghao

A little past a year after I joined Facebook, I participated in a mentorship program with Kent Beck, the founder of “Extreme Programming” and Agile. The structure of that program is that I choose what I want to work on for an hour a day, and Kent would be watching over me and my screen from another state while talking to me.

One day at the start of a session, I mentioned that I had an idea but I’m not sure if I should build it.

The idea is basically that for reflexive connections, we can save the need to fetch the mirror from the database or other service. For instance, after fetching the ID of a name (like 1055670107 for jyan), when asked what is the name of 1055670107, there is no need to fetch that information. The idea seemed intuitive enough and generally useful.

Kent pushed me to give it a try even though I was timid. Thanks to him, I wrote a test to describe the behaviors I wanted, updated some code to exhibit that behavior, and submitted a diff to get feedback from the experts working on the core data fetching code.

To my surprise, the main engineer working on data fetching liked my idea. After discussing the approach with him and making some change at his request (invalidating the request cache of one direction should leave the other direction untouched), I was able to push my code.

This was an eye-opening moment for me. Before this, I was in constant doubt about whether I could contribute to “core” code–surely there are experts who know why all of my silly ideas wouldn’t work. Even if I had a promising idea, I shot it down before I even gave it a chance.

This moment gave me the courage and confidence to improve whatever I felt could be improved. In the weeks after this moment, I asked more questions, explored more ideas and reconsidered age-old assumptions in the system, and as a result discovered an entire garden of opportunities. The courage to question the status quo let me optimize memcache to reduce cache misses by 90%, identify important (but previously unknown) bugs, and learn more than ever about the Facebook stack.

When in doubt, give it a chance. Who knows, you may learn something about yourself.

  • programming 12
  • facebook 2

Ebola

25 October 2014 by Jinghao

The stories of the two nurses who treated Ebola victims are uncomfortable to hear. One, recently cleared of the deadly virus after having cared for the Liberian man who died in a hospital bed, was given a hero’s welcome and a bear hug by President Obama. The other, recently returned from helping victims in Sierra Leone, lashed out at officials for putting her on quarantine despite testing negative for the virus.

The grave tragedy of the virus is that it hits the caretakers the most; the brave and selfless individuals who are fighting back against the disease’s advance are putting themselves in tremendous danger and risking becoming the vectors to the very disease they are trying to stop.

Is Nina Pham a hero for caring for Thomas Duncan? Would you fault her for whatever breach of protocol led to her contracting the disease and risking its spread? She was brave, selfless and obviously didn’t want to cause any harm–mistakes happen and this was just one of them. Did “hero” just mean someone who got unlucky while in some noble service? (In the way that we colloquially refer to marines who fall).

What about Kaci Hickox? With the public gripped by fear, it’s understandable that she became a victim of that fear, despite not showing any symptoms, and quarantined for 21 days. What if she is at risk of spreading the disease, the electorate may wonder. The selfless deeds of the past cannot justify subjecting the entire country to the risk.

Yet what message do we send to these brave and selfless individuals when we treat them with no dignity? Who will follow in their footsteps, doing the important work of fighting the disease?

We need to be pragmatic.

Nurses who treat at-risk individuals must go through extensive training and exercises to ensure they don’t become vectors. It wasn’t fair to Nina that she wasn’t adequately prepared to handle the case.

People who arrive from at-risk regions or were in contact with someone who was, but aren’t showing symptoms (and thus not contagious) need regular monitoring until the end of the incubation period. Kaci should be allowed to return home and rest after her long journey, with regular check-ups to ensure symptoms don’t appear.

People who show symptoms or are otherwise contagious should be immediately taken to a facility that is prepared to handle them.

We can’t ostracize the people who risk their lives to help others by giving into unfounded fears, but we also can’t risk public health either.

The response so far to this global tragedy is unacceptable. We can do better.

  • ebola 1
  • politics 47
© 2006-2018 Jinghao Yan. Built with Jekyll