Translate

Wednesday, December 19, 2018

Age and Turnout in WA GE 2018

Summary

For Whatcom County and the state as a whole, age bins under 40 (with few exceptions) continue to  chose to let late GenX, Boomers and Postwar generations decide political realities. However, Whatcom County shows much greater youth participation than WA State as a whole. Furthermore, migratory patterns of youth voters suggest that housing stability or "a stable residence address" my be a strong determinant in youth voting patterns.
Whatcom County had 77% turnout of registered voters which was 5% points higher than the state average. Whatcom County also had higher turnout for Millennial and GenX age bins. Left axis is votes, bottom axis represents age bins, top and right axis represents turnout percentage per age bin as delineated by the blue line. For all of WA State, see charts below the break. Click to enlarge the charts.

Introduction

I am using the 'LastVoted' field from the VRDB. For this article, 'LastVoted' is close enough.  See Appendix (TBD) below for more information. A sample of the 12/2018 'LastVoted' field:

The top 10 "LastVoted" bins ranked by count for all Statuses:

 1: 11/06/2018 3131937 # Voted GE 2018
 2:             670963 # No "Last Voted" record
 3: 11/08/2016  451195 # Last Voted GE 2016
 4: 11/06/2012  127008 # Last Voted GE 2012
 5: 08/07/2018   60552 # Last Voted Primary 2018
 6: 11/07/2017   45076 # Last Voted GE 2017
 7: 11/04/2008   37618
 8: 11/04/2014   36934
 9: 02/13/2018   36839
10: 05/24/2016   26016


Some base code:

# VR: All Status November 2018 vrdb
# VH.17.18: Voting History 2018 only

m1 = merge(VR,VH.17.18[order(-ElectionDate)],
all.x=TRUE,
by="StateVoterID")[
order(mdy(LastVoted))][
!duplicated(StateVoterID)& StatusCode == "A",]

m1[LastVoted == "11/06/2018",.N] # Voted in GE 2018
[1] 3128748
m1[LastVoted != "11/06/2018",.N] # Not Voted in GE 2018 
[1] 1237666
nrow(m1)                         # Status Active 11/30/2018
[1] 4366414 


Charts

The charts below give insight into Age and Turnout for WA GE 2018. The charts display both volume and turnout percentage. The horizontal axis gives us volume of votes by a vertical axis of age bins displayed with a rainbow pattern of bars. The transparent gray bars underneath are those who didn't vote. All data is from active registered voters for November 2018. Click to enlarge the charts.

The right horizontal axis translates the indexed bars into percentages which are displayed both top and bottom axis for Voted / (Voted + NotVoted). The blue curve charts this age bin participation. The left 30K becomes 50%. 72% (all state turnout) is marked at 43K. If 50% (30K) is used as the start and end, the "turnout curve" is a remarkably stable distribution. Consistent enough for turnout to be some predictable function of age! Click to enlarge the charts.

Alas, that I should live to see myself draw on a chart!

Analysis

Above are some scribbles worth explaining from left to right. Clearly, the millennial vote still has some challenges. Some number of millennial age bins had the non voted exceeding the voted. Many others 20s and early 30s votes just exceed 50% turnout of registered voters. Why this might be considered exceptional in Oklahoma , WA state vote by mail and online registration averaged nearly 72% this midterm.  Turnout rates per age bin start after from the mid 30 age bins.  By the time late GenXrs are in play at age 47, turnout is at or above the state average (72%). Turnout per age bin stays above 72% until age 92 in WA State for the 2018 midterm. Boomers provide the leading bulk of the vote because of their high participation coupled with large volume of turnout. Of the 109 voting bins displayed above, Ages 52 - 72 provide for 29% of GE 2018 vote.

Notes on Millennial/GenX Vote

The Millennial/GenX vote continues to be challenging in non Presidential years.  The number of challenges aren't worth explicating here. However a look at the year over year voter migration data reveals some general patterns. So the following technical discussion shows stability in the voter database for late GenXrs and Boomers and instability and flux for Millennials. The discussion and code itself may be tedious for lay readers.  However, I think even the most challenged readers will construct some general conclusions from this data. Here are mine:
  • Participation by age bins favors older voters.
  • VRDB 'status migratory patterns' of millennials show much greater 'flux' than other generations. 
  • Housing stability is probably a useful predictor of voter turnout per age bin.
In addition there a possible interpretation of some of the data below is the numbers of actual youth on the voting rolls is much less accurate than older generations.
These charts above shows two curves: (L) Active voters by decade who voted in years 2016:2018 and (R) Active voters by decade who voted in year 2018 only. Note that the post 50 curves are more similar and stable. The first decade ('1') contains only two years (18 and 19). Click to enlarge the Charts.
Below tables are year over year 12/2017 to 12/2018 except where noted.

Status Code in the VRDB for December. For my purposes only 'A' (Active) and 'I' (Inactive) are considered:
   StatusCode       N
1:          A 4366414
2:          I  486554
3:      PDUPL    5315
4:      PFELN     785
5:      A-DUP     493
6:      PDETH      60
7:      I-DUP      54
8:          P      36

Top Ten Status *active* age bins for 12/2018 in the VRDB:
    Age     N
 1:  61 80525
 2:  58 80165
 3:  57 79912
 4:  62 79784
 5:  56 79345
 6:  59 79333
 7:  60 79287
 8:  63 78145
 9:  64 78018
10:  55 77508

Top Ten Status *inactive* age bins for 12/2018 in the VRDB:
    Age     N
 1:  28 18009
 2:  29 17234
 3:  26 17229
 4:  27 17144
 5:  25 16449
 6:  30 16035
 7:  24 15338
 8:  31 15008
 9:  32 14646
10:  33 14208

The top ten registered *active* voters ranked by age bin from 12/2018 who had some VRDB status 12/2017:
    Age     N
 1:  61 79096
 2:  58 78768
 3:  57 78615
 4:  62 78416
 5:  59 78006
 6:  60 77975
 7:  56 77947
 8:  64 76911
 9:  63 76907
10:  55 75940

The top ten registered *inactive* voters ranked by age bin from 12/2018 who had some VRDB status 12/2017:
    Age     N
 1:  28 14709
 2:  26 14196
 3:  27 13994
 4:  29 13974
 5:  25 13348
 6:  30 13092
 7:  31 12450
 8:  24 12277
 9:  32 11927
10:  33 11704

County migration in the VRBD is dominated by millennials whose destination is King County. Top ten migration groups:
    Age County    N
 1:  28     KI 6462
 2:  26     KI 6380
 3:  29     KI 6344
 4:  27     KI 6193
 5:  30     KI 6011
 6:  31     KI 5916
 7:  32     KI 5390
 8:  25     KI 5264
 9:  33     KI 5085
10:  34     KI 4762

Those who are changing addresses in Whatcom County are young. They are moving to college district precincts.

Top ten migration age bins in Whatcom County and their precinct destination:
    Age PrecinctID  N
 1:  19        245 61
 2:  21        253 55
 3:  22        253 50
 4:  20        253 45
 5:  21        257 36
 6:  21        226 35
 7:  21        247 34
 8:  20        226 33
 9:  22        247 32
10:  23        253 30

Top ten migration age bins in Whatcom county by 'precinct decade' (e.g. '2' == 200 series):
    Age old.PrecinctDec new.PrecinctDec   N
 1:  21               2               2 314
 2:  22               2               2 310
 3:  23               2               2 277
 4:  24               2               2 247
 5:  26               2               2 232
 6:  25               2               2 227
 7:  27               2               2 215
 8:  20               2               2 193
 9:  28               2               2 189
10:  29               2               2 157

The top 20 "LastVoted" age bins of *active*  voters who did not vote in GE 2018 ranked by count:

    Age  LastVoted     N
 1:  19            18530
 2:  23            18428
 3:  22            18120
 4:  21            17579
 5:  26            17418
 6:  24            17122
 7:  27            17030
 8:  25            16992
 9:  20            16170
10:  28            15990
11:  29            14833
12:  30            13886
13:  31            13342
14:  18            13339
15:  32            12337
16:  33            12152
17:  34            11101
18:  35            10982
19:  36            10670
20:  37            10011

The top 20 "LastVoted" age bins of Status *active* or *inactive* voters who did not vote in GE 2018 ranked by active voters:

    Age     A     I
 1:  28 35496 17937
 2:  26 34767 17167
 3:  27 34417 17077
 4:  25 33819 16394
 5:  29 33419 17157
 6:  24 33308 15285
 7:  23 31505 12894
 8:  30 31293 15955
 9:  22 30540 11104
10:  32 30270 14564
11:  31 30107 14921
12:  33 30071 14132
13:  21 29585  8531
14:  34 28650 13449
15:  36 28133 12220
16:  35 27943 12447
17:  37 27325 11411
18:  20 26578  6178
19:  38 26219 10695
20:  39 24753  9931

WA 'Flux' dispositions (Under Construction - possibly incorrect)

VR12.17[VR12.18,list(StateCode,StatusCode,Age),by=.EACHI][,
.N,.(StatusCode)]
   StatusCode       N
1:          A 4084344 # 12.2017 VRDB now active 12.2018
2:          I  477157 # Inactive 2018 once part of VRDB 2017
3:          NA 95950  # NO status in 12.18

VR12.18[VR12.17,list(StateCode,StatusCode,Age),by=.EACHI][,
.N,.(StatusCode)]
   StatusCode       N
1:          A 4175000 # Active 12.2018 VRDB once active 12.2017
2:          I  386501 # Inactive 2017 but part of VRDB 2018
3:          NA 291467 NO status in 12.17

Appendix (To Be Done)

If you merge the VRDB with the Voting History, you find discrepancies that I will discuss here (TBD). I will discuss the statewide 'undeliverable' challenges and age bias in that group here (TBD).

Appendix (Technical)

This analysis uses [R] data.table of grouped  'join inherited scope':

 X[Y,.(),by=.EACHI]

 This format described in some detail here:
A readable example of X[Y,.(),by=.EACHI] :

library(data.table)
Y = data.table(cbind(alpha=c("D","E","F","G","H","I")))
X = data.table(cbind(alpha=c("A","B","C","D","E","F")))

setkey(X,alpha)
setkey(Y,alpha)

X[Y,.(alpha),by=.EACHI]
   alpha alpha
1:     D     D
2:     E     E
3:     F     F
4:     G     NA
5:     H     NA
6:     I     NA

Y[X,.(alpha),by=.EACHI]
   alpha alpha
1:     A     NA
2:     B     NA
3:     C     NA
4:     D     D
5:     E     E
6:     F     F

No comments: