Fuel tax debates
So, there’s currently a vibrant debate on a small New Zealandish corner of Twitter about a petrol tax coming into effect in Auckland today, and the different impacts of such taxes on richer and poorer households.
The Government has released analysis from the Stats NZ Household Expenditure Survey showing higher petrol consumption per household for higher income households (and hence paying more of the new tax). Sam Warburton, an economist with the New Zealand Institute, argues in response that poorer households have older, often larger, less efficient vehicles, leading to higher fuel costs per kilometre. This means a fuel tax will not only result in poor people paying more as a percentage of their income (as any sales tax on basic commodities will do), but paying more per kilometre. Further, poor people are more likely to live out of the big urban centres, and when in an urban area are less likely to be well serviced by public transport.
Mr Warburton also argues that the results from the Household Expenditure Survey are misleading because they include “people who can’t afford or otherwise don’t own cars”. His own analysis from the Ministry of Transport’s Household Travel Survey shows that households including two or more children, with Māori, with unemployed people, or in the poorer regions all pay more tax per kilometre.
I’m totally convinced by Mr Warburton on the argument that poorer people are paying more tax per kilometre, which makes a fuel tax a particularly regressive tax. Even paying the same rate per kilometre would be regressive because transport costs are a higher proportion of income for poorer people; so more tax per kilometre is really rubbing salt into the wound. I’m not convinced though by the suggestion that they will pay more of the new tax even in absolute terms; I’m inclined to trust the Household Economic Survey on this one.
The USA Consumer Expenditure Survey
One good thing about this debate was it motivated me to do something that’s been on my list for a while, which is to get my toes in the water with the USA Bureau of Labor Statistics’ impressive Consumer Expenditure Survey. Huge amounts of confidentialised microdata from this mammoth program are freely available for download - without even filling in any forms! This makes it suitable to use in a blog post in a way I couldn’t with the New Zealand or Australian Household Expenditure Surveys (both of which have Confidentialised Unit Record Files for researchers, but with restrictions that get in the way of quick usage in public like this).
Big caveat for what follows - literally I looked at this survey for the first time today, and it is very complex. Just for starters, the Consumer Expenditure Survey really comprises two surveys - an Interview Survey for “major and/or recurring items” and the Diary Survey for “minor or frequently purchased items”. It is very possible that I am using not-the-best variables. Feedback welcomed.
Densities of income and fuel spend
Let’s get started by downloading the data. Here’s a couple of graphs of what I think are the main variables of interest here. These draw on:
gasmocq “Gasoline and motor oil this quarter”
fincbtxm “Total amount of family income - imputed or collected” (in the past 12 months? although the data dictionary only implies this)
fam_size “Number of Members in CU” (ie in responding household)
bls_urbn “Is this CU located in an urban or a rural area”
Both these graphics are showing a quantity divided by household size to get a simple estimate of amount per person. A better approach would be to used equivalised figures, taking into account economies of scale for larger households and different cost structures for different age groups, but it probably would have taken me all morning just to work out a safe way of doing that so I’ve stuck with the simpler method.
Both these graphics - and most of those that follow - also use John and Draper’s modulus transform that I wrote about in some of my first ever posts on this blog. It’s a great way to effectively visualise heavily skewed data that has zero and negative values as well as positive, a common occurrence with economic variables. The helper functions for the transformation are available in my bag-of-misc R package frs available from GitHub.
Here’s code to do that download, prepare the data for later and draw graphs:
# mandatory reading: https://www.bls.gov/cex/pumd_novice_guide.pdf
library(haven)
library(tidyverse)
library(scales)
library(frs) # for modulus transforms of scales
library(MASS) # for rlm. Watch out for dplyr::select and MASS::select clash.
library(ggExtra)
library(survey)
# download the latest year's data (caution - 71MB):
dir.create(&quot;bls-cd&quot;)
download.file(&quot;https://www.bls.gov/cex/pumd/data/stata/intrvw16.zip&quot;,
destfile = &quot;bls-cd/intrvw16.zip&quot;, mode = &quot;wb&quot;)
# download the data dictionary
download.file(&quot;https://www.bls.gov/cex/pumd/ce_pumd_interview_diary_dictionary.xlsx&quot;,
destfile = &quot;bls-cd/ce_pumd_interview_diary_dictionary.xlsx&quot;, mode = &quot;wb&quot;)
unzip(&quot;bls-cd/intrvw16.zip&quot;, exdir = &quot;bls-cd&quot;)
# The FMLI files have characteristics, income, weights, and summary expenditure
# the numbers in file names refer to year and quarter. So intrvw16/fmli162.dta is # 2016, second quarter
# Import 2017 first quarter:
fmli171 %
ggplot(aes(x = inc_pp, y = gas_p_inc, size = finlwt21)) +
geom_point(alpha = 0.3) +
scale_x_continuous(&quot;Income per person in household in past 12 months&quot;,
label = dollar,
trans = modulus_trans(lambda),
breaks = modulus_breaks(lambda)) +
coord_cartesian(ylim = c(0, 1)) +
scale_y_continuous() +
geom_smooth(se = FALSE) +
theme(legend.position = &quot;none&quot;) +
ggtitle(&quot;Poorer households spend more on petrol proportionately than do richer households&quot;) +
labs(caption = &quot;Source: USA Bureau of Labor Statistics Consumer Expenditure Survey&quot;,
y = &quot;Expenditure per person on gasoline and motor oil\nas a proportion of income&quot;) Who is likely to spend nothing on petrol at all?
Finally, I was interested in who spends nothing on petrol at all. This relates to Mr Warburton’s argument that the New Zealand Household Economic Survey if flawed for these purposes because the average spend on petrol includes people who have been priced out of vehicles altogether. In fact, with the US data, there is a very strong negative relationship between household income and the probability of spending zero on gasoline and motor oil.:
However, as the previous scatterplots showed, removing either or both of the zero income and zero fuel spend cases from the US Consumer Expenditure survey doesn’t serve to remove the relationship between income and gasoline spend.
Finally, here’s the code for this last bit of analysis:
p1 %
ggplot(aes(x = inc_pp, y = no_gas, size = finlwt21)) +
geom_point(alpha = 0.1) +
geom_smooth(method = &quot;glm&quot;, method.args = list(family = &quot;binomial&quot;)) +
scale_x_continuous(&quot;Income per person in household in past 12 months&quot;,
label = dollar,
trans = modulus_trans(lambda),
breaks = modulus_breaks(lambda)) +
labs(y = &quot;Probability of spending $0 on gasoline and motor oil this quarter\n&quot;) +
theme(legend.position = &quot;none&quot;) +
labs(caption = &quot;Source: USA Bureau of Labor Statistics Consumer Expenditure Survey 2017 Q1&quot;) +
ggtitle(&quot;Poorer households are more likely to spend nothing on petrol at all&quot;,
&quot;Blue line shows logistic regression; points show American households&quot;)
print(p1)
p2 0) + ggtitle(&quot;&quot;, &quot;Effect holds even if restricted to households with positive income&quot;)
print(p2)
# Check out the relationship with slightly more formal modelling than just on the fly in the graphic.
# crude approximation of the survey design, that takes just the primary sampling units and weights
# into account but ignores the stratification and post-stratification calibration (this will be
# conservative for inference so that's ok). # Also, better would be to transform `inc_pp`, or use a gam, or something. This will do for now!
dd