In the ongoing effort to view everything geographically, I couldn’t help thinking about how to visualize the proposed tax “cuts” that the House passed last Friday. Paul Krugman’s Thursday article had a link to the data I needed — Congress’s Joint Committee on Taxation’s analysis of the bill’s impact on different incomes. It’s a bit of a stretch, but combined with county data on median household income (last 12 months based on 2015 Census data), the data allows a look at the geographic impact of the bill across the US and through the life of the bill from 2019 to 2027. Note: these maps show changing tax rates for the median household income for each county — they don’t represent rate changes for all income brackets within a given county.

Here’s a quick look and comments for 2019 and 2027 (click on for full size):

The 2019 shows tax breaks for all median incomes across the contiguous 48 states — as promised by Republicans. The breaks are smaller for poorer counties visible across the Appalachians, the rural South, and a spattering of western counties. The “bait” of the tax breaks is real, but — interestingly — is least impactful for many of the poorer regions that voted for Trump. Many of the tax breaks for families are temporary, though, and along with changes in the inflation measure, lead to a substantial “switch” after 2022. By 2023, the average tax rate change for median household incomes looks like this:

Less of a tax break for most median households and some increases for counties with lower median household incomes. By 2027, most median households see a tax increase on par with the earlier breaks:

Only a few of the wealthier counties in the country are projected to have median incomes high enough for most of them to still be receiving tax breaks. Most poorer- and middle-income counties will experience higher taxes.

Interactive version with rates for each two-year period:

Methods and details: First, the county boundaries were combined with media household income data to yield a map of median household income across the country:

Next, the change in rates were calculated from each biennial table within the JCT report (example for 2019):

Rate changes for each county and year were assigned based on the county’s median income.


Employment map, March 2011-2012 (click for larger image)

I’ve watched several unemployment reports from the Bureau of Labor Statistics (BLS) roll by without diving too much into the details. What I have seen is both the Democrats and the Republicans cherry picking data at times to highlight either job losses or gains in the state. What’s a trend? …well, it usually depends on how you define your baseline. Democrats start counting in June while the Walker administration likes to start from January of last year — presumably the time period he’s influenced those numbers.

The recent data from the BLS is different. It covers the period from March 2011 to March 2012. Given when Act 10, the Budget Repair Bill, was unveiled and publicly debated, this March to March period reflects when Walker’s policies have been in place. Arguably, this is the best measure of the effectiveness of his key policies in creating jobs and turning the Wisconsin economy around. Wisconsin was the only state in the union to have statistically significant job losses over this period.

The recalls underway in Wisconsin present an interesting opportunity to compare two forms of democratic participation: signature gathering and campaign contributions. Both have raised questions about what constitutes valid exercises of democracy and representations of the people’s will. With open records laws in Wisconsin, it’s relatively easy to see who is contributing time or money to either process. Petition circulators can come from anywhere in the USA and so can campaign contributions.

Here’s an initial look at the recall effort against Senator Scott Fitzgerald compared to his 2010 campaign contributions. On the left are the mapped addresses of each recall petition circulator (with the size of the circles indicating the relative number of signatures collected); on the right is Fitzgerald’s campaign contributions (with the size of the circles indicating the relative size of campaign contributions):

Recall versus contributions
Link to larger interactive maps (may take a while to load)

While we could perform statistical analyses on distance-weighted averages, standard deviation ellipses, or the like, the distributions are fairly clear. Unlike most of Fitzgerald’s campaign contributions, most of the petition circulators come from his own district — his own constituents collected the vast majority of the signatures to recall him.

Data sources: petition circulators from Karen Tuerk via the GAB; campaign contributions from Wisconsin Democracy Campaign database

Full disclosure — my wife, Lori Compas, organized the recall effort in Fitzgerald’s district.

Lori, my wife, asked if there was any way to visualize the signatures she’s been collecting for the Senator Scott Fitzgerald’s recall. She was interested in both inspiring volunteers and in analyzing the distribution of signers. After finding a post about QGIS‘s Time Manager, this was relatively easy to pull off:

Short version of procedure

  1. Collect addresses in spreadsheet (LibreOffice).
  2. Modify date of signature to conform with Time Manager’s format and add random offset (so all signatures on the same day don’t appear at exactly the same time).
  3. Geocode using GPSVisualizer’s batch geocoder (built on Yahoo’s geocoder).
  4. Import delimited text (*.csv) file into QGIS. Export layer as shapefile.
  5. Create three versions as suggested by underdark and set Time Manager settings.
  6. Export sequence to series of images.
  7. Use AviSynth and VirtualDub to create video.