The Intergenerational Income Mobility of the One Percent

The NY Times/Vox feature on intergenerational income mobility by county makes for very informative browsing. My county of residence (Tompkins County, NY) does pretty well relative to its neighbors for children born at the bottom of the national income distribution. Still I was curious to look more at the aggregate data, and at fine-grained distinctions among the very wealthiest Americans.

And fortunately—amazingly!—you can do this thanks to the Equality of Opportunity Project. Their data page contains a whole set of descriptive statistics that can be used to characterize how the resources of one’s parents relate to one’s income as an adult, at much higher resolutions than we see in the Vox article.

Specifically, the green line in the figure below represents the probability of a child being in the ith percentile of the US national income distribution conditional on his or her parents’ income having been at the 99th percentile—the top 1%—of family incomes. I have also plotted additional percentiles for comparison purposes.

mobility

I’m certainly not the first to have highlighted the differences between the 1% and the rest of the US income distribution, but the figure displays these differences in a particularly clear way.

NB: R commands to create this figure appear in the first comment.

Comment 1

  1. tompepinsky May 5, 2015

    library(foreign)
    matrix<-read.dta(file="http://www.equality-of-opportunity.org/images/onlinedata1.dta&quot😉

    i10<-matrix[,11]
    i20<-matrix[,21]
    i30<-matrix[,31]
    i40<-matrix[,41]
    i50<-matrix[,51]
    i60<-matrix[,61]
    i70<-matrix[,71]
    i80<-matrix[,81]
    i90<-matrix[,91]
    i100<-matrix[,101]
    plot(i100[6:96]~seq(10,100,1),type="l", lwd=3, col="green", bty="n", yaxt="n", xaxt="n",
    ylab="Probability", xlab="Child's Income Percentile", main="Intergenerational Income Mobility")
    lines(i90[6:96]~seq(10,100,1),col="tan")
    lines(i80[6:96]~seq(10,100,1),col="gray")
    lines(i70[6:96]~seq(10,100,1),col="blue")
    lines(i60[6:96]~seq(10,100,1),col="purple")
    lines(i50[6:96]~seq(10,100,1),col="black", lwd=3)
    lines(i40[6:96]~seq(10,100,1),col="orange")
    lines(i30[6:96]~seq(10,100,1),col="yellow")
    lines(i20[6:96]~seq(10,100,1),col="pink")
    lines(i10[6:96]~seq(10,100,1),col="red", lwd=3)
    axis(2,at=c(seq(0,.1,.01)))
    axis(1,at=c(seq(10,100,5)))
    text(95,i100[96],"Parent in Top 1%")
    text(20,.02,"Parent in 90th Percentile")
    text(55,.015,"Parent in 50th Percentile")

Comments are closed.