This post is a quick update on my in-depth review of group differences in the SAT, occasioned by the publication of the College Board’s reports on the SAT scores of the 2023 high school graduate cohort. Using national-level test data as well as data from selected states, I will examine how the most recent results relate to the trends that I previously identified.
1. Test participation
The following graph shows the numbers of SAT-takers from different groups across years, with the 2023 figures highlighted in red. The 2023 data are from this report, while sources for the earlier years are listed in Chapter 1 of the earlier post.
Even with the retreat of the Covid pandemic, you might expect SAT participation to be in serious decline as most colleges have gone “test-optional” or “test-blind” in recent years. However, the 2023 participation numbers actually point to a continuing recovery. The total number of test-takers in 2023 was about 1.9 million, which is clearly short of the record 2.2 million seen in 2019 and 2020, but well above the long-term participation trend. (Note that the SAT administration years refer to high school graduate cohorts rather than the actual dates when the tests were taken.) The recovery in participation was reasonably balanced across racial/ethnic groups.
2. National results
The following graph shows national SAT total score means by race/ethnicity in 1987–2023. The 2023 data are from this report, while sources for the earlier years are listed in Chapter 1 of the earlier post, where the various time trends seen in the graph are discussed in detail. In 2006–2016, SAT total scores ranged from 600 to 2400, while a scale of 400 to 1600 has been used in all other years. In the graph, the scores have been transformed so that the 400 to 1600 scale is used in all years.
The SAT means for all groups have tended to decline in the last few years, and this trend continued in 2023. Not even Asians are immune to this downturn. While this is consistent with learning loss due to the pandemic, in the national data this explanation is difficult to disentangle from changes in test participation. State-level data, to be examined next, may shed some more light on this phenomenon.
3. Results from high-participation states
In 2020, there were 11 states where 98–100 percent of high school graduates took the SAT. In 2023, the rate was that high only in the District of Columbia. However, 10 of the 11 states had a rate of at least 90 percent in 2023, so they still provide reasonably representative samples of high school graduates. The table below lists the high-participation states, with links to SAT reports for each state.
State | N | Participation rate |
---|---|---|
Colorado | 57293 | 90% |
The figure below depicts total mean scores by race/ethnicity in the ten states in 2023. The states are sorted so that white means increase from left to right.
These ten states had ~100 percent participation rates in 2020, so it is useful to compare the results in the two years. This is done in the next graph. Sources for the 2020 data are linked in Table 3.1 of the earlier post.
With the exception of Native Americans, the mean scores of all groups decreased from 2020 to 2023, as measured by median scores across the high-participation states. This happened despite the fact that participation rates in 2023 were somewhat lower, with probably more attrition among less able students. The declining scores are consistent with the pandemic learning loss hypothesis. Alternative, it could be that students’ level of effort in the test is declining together with its importance.
The results for Native Americans may signal a turnaround for them after many years of peculiarly poor SAT scores. However, the sample sizes are small, and no similar reversal is seen in the national data, so it may be simply a selection artifact.
The final table shows numerical differences in SAT total score means between whites and non-whites across the two years. Positive gaps mean that the non-white group outscored whites, while negative gaps indicate a white advantage. It can be seen that non-whites generally gained ground on whites in the last few years, a reflection of greater declines in white than non-white mean scores.
Asian–white | Black–white | Hispanic–white | Native American–white | |||||||||
State | 2020 | 2023 | 2020 | 2023 | 2020 | 2023 | 2020 | 2023 | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Colorado | 50 | 55 | -167 | -166 | -156 | -166 | -212 | -162 | ||||
4. Digital SAT
In 2024, the paper-and-pencil SAT will be replaced by a new digital test. The new test is based on a multistage adaptive design, meaning that both the verbal and math sections are split into two parts, and the test-taker’s performance in the first part determines the difficulty of the items in the second part. A benefit of this design is that the same test score reliability as before can be achieved with fewer items and a shorter testing time.
According to the College Board, scores on the digital SAT will be equivalent with those from the current test, so that there will be no need to convert scores between test versions. This would suggest that racial/ethnic gaps in the new test will be very much like they are today. That remains to be seen.
The College Board has also promised to conduct various validity studies related to the digital test. As I discussed in my previous SAT post, published analyses on the predictive validity and measurement invariance of the current test are somewhat unsatisfactory. Hopefully research on the new test will be better.
Appendix: R code
# read data for 2023 hp_sat2023 <- read.csv(text="Year,State,Group,N,Total,ERW,Math 2023,National,All Groups,1913742,1028,520,508 2023,National,Native American,15384,901,458,443 2023,National,Asian,194108,1219,593,626 2023,National,Black,225954,908,466,441 2023,National,Hispanic/Latino,462186,943,482,461 2023,National,Pacific Islander,3791,925,473,452 2023,National,White,752632,1082,550,532 2023,National,Two or More Races,69410,1091,556,535 2023,National,No Response,190277,955,478,477 2023,Colorado,All Groups,57293,996,508,488 2023,Colorado,Native American,510,898,458,440 2023,Colorado,Asian,2211,1115,553,562 2023,Colorado,Black,2353,894,458,436 2023,Colorado,Hispanic/Latino,19202,894,456,438 2023,Colorado,Pacific Islander,138,906,464,442 2023,Colorado,White,29348,1060,542,518 2023,Colorado,Two or More Races,2499,1052,538,514 2023,Colorado,No Response,1032,960,490,470 2023,Connecticut,All Groups,40405,1007,512,495 2023,Connecticut,Native American,80,919,467,452 2023,Connecticut,Asian,2343,1200,591,609 2023,Connecticut,Black,4341,864,444,421 2023,Connecticut,Hispanic/Latino,10185,892,456,436 2023,Connecticut,Pacific Islander,42,899,455,444 2023,Connecticut,White,20913,1067,543,524 2023,Connecticut,Two or More Races,1545,1051,535,516 2023,Connecticut,No Response,956,1034,522,512 2023,Delaware,All Groups,10368,958,489,469 2023,Delaware,Native American,73,862,440,423 2023,Delaware,Asian,459,1187,592,595 2023,Delaware,Black,2289,879,450,429 2023,Delaware,Hispanic/Latino,1790,885,452,433 2023,Delaware,Pacific Islander,6,NA,NA,NA 2023,Delaware,White,4048,1040,532,508 2023,Delaware,Two or More Races,565,975,500,475 2023,Delaware,No Response,1138,849,428,420 2023,District of Columbia,All Groups,4987,969,495,474 2023,District of Columbia,Native American,25,798,400,399 2023,District of Columbia,Asian,147,1226,613,613 2023,District of Columbia,Black,2302,865,443,422 2023,District of Columbia,Hispanic/Latino,679,967,495,471 2023,District of Columbia,Pacific Islander,4,NA,NA,NA 2023,District of Columbia,White,1006,1232,630,602 2023,District of Columbia,Two or More Races,190,1161,592,568 2023,District of Columbia,No Response,634,822,421,402 2023,Florida,All Groups,205159,966,503,463 2023,Florida,Native American,1255,891,465,426 2023,Florida,Asian,7434,1145,575,570 2023,Florida,Black,35432,872,459,413 2023,Florida,Hispanic/Latino,66716,963,503,460 2023,Florida,Pacific Islander,392,893,468,425 2023,Florida,White,68592,1030,534,496 2023,Florida,Two or More Races,7114,1020,531,489 2023,Florida,No Response,18224,828,436,393 2023,Idaho,All Groups,21813,970,494,476 2023,Idaho,Native American,504,900,458,442 2023,Idaho,Asian,311,1093,546,547 2023,Idaho,Black,216,877,451,426 2023,Idaho,Hispanic/Latino,2798,897,456,441 2023,Idaho,Pacific Islander,62,930,474,456 2023,Idaho,White,11364,1023,521,502 2023,Idaho,Two or More Races,614,1008,514,494 2023,Idaho,No Response,5944,901,460,442 2023,Illinois,All Groups,142769,970,492,478 2023,Illinois,Native American,1370,876,446,430 2023,Illinois,Asian,7745,1181,583,599 2023,Illinois,Black,14048,875,448,427 2023,Illinois,Hispanic/Latino,30921,928,470,457 2023,Illinois,Pacific Islander,119,874,448,425 2023,Illinois,White,47968,1075,544,531 2023,Illinois,Two or More Races,3942,1064,541,524 2023,Illinois,No Response,36656,855,436,419 2023,Michigan,All Groups,102466,967,493,474 2023,Michigan,Native American,1229,886,453,433 2023,Michigan,Asian,4368,1152,570,582 2023,Michigan,Black,14136,827,426,401 2023,Michigan,Hispanic/Latino,9903,902,462,440 2023,Michigan,Pacific Islander,77,901,462,440 2023,Michigan,White,67583,995,507,488 2023,Michigan,Two or More Races,2341,1042,532,510 2023,Michigan,No Response,2829,914,469,445 2023,Rhode Island,All Groups,10745,958,489,468 2023,Rhode Island,Native American,74,821,412,409 2023,Rhode Island,Asian,369,1084,540,544 2023,Rhode Island,Black,966,877,447,431 2023,Rhode Island,Hispanic/Latino,1744,888,454,435 2023,Rhode Island,Pacific Islander,13,918,473,445 2023,Rhode Island,White,5771,1020,522,498 2023,Rhode Island,Two or More Races,374,988,508,480 2023,Rhode Island,No Response,1434,811,414,397 2023,West Virginia,All Groups,16154,923,478,445 2023,West Virginia,Native American,33,885,462,422 2023,West Virginia,Asian,178,1100,546,554 2023,West Virginia,Black,656,853,443,410 2023,West Virginia,Hispanic/Latino,319,926,479,447 2023,West Virginia,Pacific Islander,9,NA,NA,NA 2023,West Virginia,White,14274,925,479,446 2023,West Virginia,Two or More Races,84,1061,550,511 2023,West Virginia,No Response,601,883,458,425") # read pre-2023 cohort size data cohort_sizes <- read.csv(text="Year,Group,N 2002,All Groups,1327831 2002,Asian/Pacific Islander,103242 2002,Black,122684 2002,Hispanic/Latino,104155 2002,Native American,7506 2002,No Response,252618 2002,Other,38967 2002,White,698659 2003,All Groups,1406324 2003,Asian/Pacific Islander,100970 2003,Black,125657 2003,Hispanic/Latino,107492 2003,Native American,7452 2003,No Response,355347 2003,Other,39146 2003,White,670260 2004,All Groups,1419007 2004,Asian/Pacific Islander,112542 2004,Black,137953 2004,Hispanic/Latino,122380 2004,Native American,8219 2004,No Response,271545 2004,Other,46615 2004,White,719753 2005,All Groups,1475623 2005,Asian/Pacific Islander,134996 2005,Black,153132 2005,Hispanic/Latino,144196 2005,Native American,8916 2005,No Response,151440 2005,Other,58167 2005,White,824776 2006,All Groups,1465744 2006,Asian/Pacific Islander,138303 2006,Black,150643 2006,Hispanic/Latino,151761 2006,Native American,9301 2006,No Response,135346 2006,Other,54469 2006,White,825921 2007,All Groups,1494531 2007,Asian/Pacific Islander,140794 2007,Black,159849 2007,Hispanic/Latino,168544 2007,Native American,9897 2007,No Response,133508 2007,Other,53901 2007,White,828038 2008,All Groups,1518859 2008,Asian/Pacific Islander,151235 2008,Black,174383 2008,Hispanic/Latino,190203 2008,Native American,9595 2008,No Response,82866 2008,Other,52016 2008,White,858561 2009,All Groups,1530128 2009,Asian/Pacific Islander,158757 2009,Black,187136 2009,Hispanic/Latino,206584 2009,Native American,8974 2009,No Response,66448 2009,Other,51215 2009,White,851014 2010,All Groups,1547990 2010,Asian/Pacific Islander,166064 2010,Black,196961 2010,Hispanic/Latino,222380 2010,Native American,8550 2010,No Response,67098 2010,Other,48702 2010,White,838235 2011,All Groups,1647123 2011,Asian/Pacific Islander,183853 2011,Black,215816 2011,Hispanic/Latino,252703 2011,Native American,9244 2011,No Response,61148 2011,Other,58699 2011,White,865660 2012,All Groups,1664479 2012,Asian/Pacific Islander,192577 2012,Black,217656 2012,Hispanic/Latino,272633 2012,Native American,9716 2012,No Response,57413 2012,Other,62340 2012,White,852144 2013,All Groups,1660047 2013,Asian/Pacific Islander,196030 2013,Black,210151 2013,Hispanic/Latino,284261 2013,Native American,9818 2013,No Response,62603 2013,Other,62251 2013,White,834933 2014,All Groups,1672395 2014,Asian/Pacific Islander,206564 2014,Black,212524 2014,Hispanic/Latino,300357 2014,Native American,9767 2014,No Response,55588 2014,Other,64774 2014,White,822821 2015,All Groups,1698521 2015,Asian/Pacific Islander,211238 2015,Black,219018 2015,Hispanic/Latino,322873 2015,Native American,10031 2015,No Response,70062 2015,Other,65063 2015,White,800236 2016,All Groups,1637589 2016,All Groups,1637589 2016,Asian,196735 2016,Asian/Pacific Islander,199106 2016,Black,199306 2016,Hispanic/Latino,355829 2016,Native American,7778 2016,No Response,84070 2016,Other,20604 2016,Pacific Islander,2371 2016,Two or More Races,28460 2016,White,742436 2017,All Groups,1715481 2017,Asian,158031 2017,Asian/Pacific Islander,162162 2017,Black,225860 2017,Hispanic/Latino,408067 2017,Native American,7782 2017,No Response,94199 2017,Pacific Islander,4131 2017,Two or More Races,57049 2017,White,760362 2018,All Groups,2136539 2018,Asian,217971 2018,Asian/Pacific Islander,223591 2018,Black,263318 2018,Hispanic/Latino,499442 2018,Native American,10946 2018,No Response,131339 2018,Pacific Islander,5620 2018,Two or More Races,77078 2018,White,930825 2019,All Groups,2220087 2019,Asian,228527 2019,Asian/Pacific Islander,233957 2019,Black,271178 2019,Hispanic/Latino,554665 2019,Native American,12917 2019,No Response,112350 2019,Pacific Islander,5430 2019,Two or More Races,87178 2019,White,947842 2020,All Groups,2198460 2020,Asian,223451 2020,Asian/Pacific Islander,228558 2020,Black,261326 2020,Hispanic/Latino,569370 2020,Native American,14050 2020,No Response,125513 2020,Pacific Islander,5107 2020,Two or More Races,89656 2020,White,909987 2021,All Groups,1509133 2021,Asian,167208 2021,Asian/Pacific Islander,170223 2021,Black,168454 2021,Hispanic/Latino,352094 2021,Native American,10288 2021,No Response,117627 2021,Pacific Islander,3015 2021,Two or More Races,54961 2021,White,635486 2022,All Groups,1737678 2022,Asian,175468 2022,Asian/Pacific Islander,178844 2022,Black,201645 2022,Hispanic/Latino,396422 2022,Native American,14800 2022,No Response,146319 2022,Pacific Islander,3376 2022,Two or More Races,66702 2022,White,732946") # merge cohort size data cohort_sizes <- merge(cohort_sizes, subset(hp_sat2023, State=="National", select=c("Year", "Group", "N")), all=TRUE) cohort_sizes <- rbind(cohort_sizes, list(2023, "Asian/Pacific Islander", 194108+3791)) # graph of SAT cohort sizes #install.packages("ggplot2") library(ggplot2) ggplot(data=subset(cohort_sizes, Year<2023), aes(Year, N))+ geom_point(color="green4")+ geom_point(data=subset(cohort_sizes, Year==2023), color="red")+ geom_line(linetype = "solid",color="green4")+ geom_line(data=subset(cohort_sizes, Year>2021), linetype = "solid", color="red")+ theme_classic()+ scale_y_continuous(labels=function(x) format(x, big.mark = ",", scientific = FALSE))+ theme(panel.grid.major = element_line(color = "gray87", linetype = "solid"), axis.title.x = element_text(margin = margin(t = 10)), axis.title.y = element_text(vjust=1),text=element_text(size=16), plot.caption = element_text(hjust = 0, margin = margin(t = 15), size = 16), axis.text.x = element_text(size=9, angle=90,vjust=0.5), axis.text.y = element_text(size=9))+ scale_x_continuous(breaks=c(2002:2023))+ labs(caption="Number of SAT takers by race/ethnicity in 2002–2023", y="Number of test takers")+ theme(legend.position="none")+ facet_wrap(. ~ Group, ncol=3,scales = "free_y") ggsave("sat_cohort_sizes.png", height=5.4, width=9.9, dpi=300) # total score means by race/ethnicity in 1987-2022 total_scores <- read.csv(text="Year,Group,Total 1987,Asian/Pacific Islander,1020 1987,Black,839 1987,Hispanic/Latino,912 1987,Native American,934 1987,White,1038 1991,Asian/Pacific Islander,1033 1991,Black,846 1991,Hispanic/Latino,911 1991,Native American,938 1991,White,1031 1997,Asian/Pacific Islander,1056 1997,Black,857 1997,Hispanic/Latino,918 1997,Native American,950 1997,White,1052 2001,Asian/Pacific Islander,1067 2001,Black,859 2001,Hispanic/Latino,915 2001,Native American,960 2001,White,1060 2002,Asian/Pacific Islander,1070 2002,Black,857 2002,Hispanic/Latino,911 2002,Native American,962 2002,White,1060 2003,Asian/Pacific Islander,1083 2003,Black,857 2003,Hispanic/Latino,912 2003,Native American,962 2003,White,1063 2004,Asian/Pacific Islander,1084 2004,Black,857 2004,Hispanic/Latino,916 2004,Native American,971 2004,White,1059 2005,Asian/Pacific Islander,1091 2005,Black,864 2005,Hispanic/Latino,923 2005,Native American,982 2005,White,1068 2006,Asian/Pacific Islander,1066.66666666667 2006,Black,860.666666666667 2006,Hispanic/Latino,913.333333333333 2006,Native American,970 2006,White,1054.66666666667 2007,Asian/Pacific Islander,1070 2007,Black,858 2007,Hispanic/Latino,913.333333333333 2007,Native American,969.333333333333 2007,White,1052.66666666667 2008,Asian/Pacific Islander,1073.33333333333 2008,Black,853.333333333333 2008,Hispanic/Latino,908.666666666667 2008,Native American,964 2008,White,1055.33333333333 2009,Asian/Pacific Islander,1082 2009,Black,850.666666666667 2009,Hispanic/Latino,907.333333333333 2009,Native American,965.333333333333 2009,White,1054 2010,Asian/Pacific Islander,1090.66666666667 2010,Black,851.333333333333 2010,Hispanic/Latino,909.333333333333 2010,Native American,962.666666666667 2010,White,1053.33333333333 2011,Asian/Pacific Islander,1093.33333333333 2011,Black,848 2011,Hispanic/Latino,905.333333333333 2011,Native American,958 2011,White,1052.66666666667 2012,Asian/Pacific Islander,1094 2012,Black,848.666666666667 2012,Hispanic/Latino,901.333333333333 2012,Native American,955.333333333333 2012,White,1052 2013,Asian/Pacific Islander,1096.66666666667 2013,Black,852 2013,Hispanic/Latino,902.666666666667 2013,Native American,951.333333333333 2013,White,1050.66666666667 2014,Asian/Pacific Islander,1100.66666666667 2014,Black,852 2014,Hispanic/Latino,902 2014,Native American,952 2014,White,1050.66666666667 2015,Asian/Pacific Islander,1102.66666666667 2015,Black,851.333333333333 2015,Hispanic/Latino,896 2015,Native American,948.666666666667 2015,White,1050.66666666667 2016,Asian,1110 2016,Black,846.666666666667 2016,Hispanic/Latino,891.333333333333 2016,Native American,924 2016,Pacific Islander,862 2016,White,1048 2017,Asian,1181 2017,Black,941 2017,Hispanic/Latino,990 2017,Native American,963 2017,Pacific Islander,986 2017,White,1118 2018,Asian,1223 2018,Black,946 2018,Hispanic/Latino,990 2018,Native American,949 2018,Pacific Islander,986 2018,White,1123 2019,Asian,1223 2019,Black,933 2019,Hispanic/Latino,978 2019,Native American,912 2019,Pacific Islander,964 2019,White,1114 2020,Asian,1217 2020,Black,927 2020,Hispanic/Latino,969 2020,Native American,902 2020,Pacific Islander,948 2020,White,1104 2021,Asian,1239 2021,Black,934 2021,Hispanic/Latino,967 2021,Native American,927 2021,Pacific Islander,950 2021,White,1112 2022,Asian,1229 2022,Black,926 2022,Hispanic/Latino,964 2022,Native American,936 2022,Pacific Islander,945 2022,White,1098") # merge total scores from 2023 and before total_scores <- merge(total_scores, subset(hp_sat2023, State=="National" & !Group %in% c("No Response", "Two or More Races", "All Groups"), select=c("Year", "Group", "Total")), all=TRUE) # graph of national SAT total score means by race/ethnicity in 1987-2023 ggplot(data=total_scores, aes(Year, Total, color=Group, shape=Group))+ geom_point()+ geom_line(linetype = "solid")+ theme_classic()+ theme(axis.text.x = element_text(size=11, vjust=0.5,angle=90), panel.grid.major = element_line(color = "gray87", linetype = "dotted"), text=element_text(size=16), plot.caption = element_text(hjust = 0, margin = margin(t = 15), size = 16), axis.title.y = element_text(margin = margin(r = 10)), legend.title=element_text(size=16), legend.text=element_text(size=15),axis.title.x = element_text(margin = margin(t = 5)))+ scale_y_continuous(name="Total score mean", breaks=c(850,900,950,1000,1050,1100,1150,1200,1250))+ scale_x_continuous(breaks=c(1987:2023))+ scale_shape_manual(values=c(12,15,17,18,10,7,16))+ scale_color_manual(values=c("turquoise3", "#F0E442", "black", "#009E73", "brown1", "blue", "purple"))+ labs(caption="SAT total mean scores by race/ethnicity in 1987–2023, national data", color="Race/ethnicity", shape="Race/ethnicity") ggsave("total_score_1987to2023.png", height=5.4, width=9.9, dpi=300) # read data for high SAT-participation in 2023 hp_states_2023 <- read.csv(text="State,Participation_rate Colorado,90% Connecticut,93% Delaware,95% District of Columbia,100% Florida,90% Idaho,95% Illinois,96% Michigan,97% Rhode Island,95% West Virginia,90% Overall,NA") # Ns hp_states_2023$N <- c(hp_sat2023$N[hp_sat2023$State!="National" & hp_sat2023$Group=="All Groups"],NA) hp_states_2023$N[hp_states_2023$State=="Overall"] <- sum(hp_states_2023$N[1:10]) hp_states_2023$Participation_rate[hp_states_2023$State=="Overall"] <- paste(round(weighted.mean(as.numeric(gsub("%", "", hp_states_2023[1:10,2])), hp_states_2023[1:10,3]),0), "%", sep="") hp_states_2023 <- hp_states_2023[,c(1,3,2)] # table of high-participation states #install.packages("ztable") library(ztable) colnames(hp_states_2023) <- c("State", "N", "Participation rate") hp_states_2023_html <- ztable(hp_states_2023 ,zebra=2,zebra.color="#d4effc;", caption="States with high SAT-participation in 2023", caption.placement="top",caption.position="l", caption.bold=TRUE, align="lrr",include.rownames=FALSE,size=3,colnames.bold=TRUE) hp_states_2023_html <- hlines(hp_states_2023_html, add = c(10)) capture.output(hp_states_2023_html,file="hp_states_2023.html") # reorder hp_sat2023$State <- factor(hp_sat2023$State, levels=c("West Virginia", "Michigan", "Rhode Island", "Idaho", "Florida", "Delaware", "Colorado", "Connecticut", "Illinois", "National", "District of Columbia")) # graph of SAT total scores in high-participation states in 2023 library(ggplot2) ggplot(data=subset(hp_sat2023,State!="National" & !Group %in% c("All Groups", "Pacific Islander", "Two or More Races", "No Response")),aes(x=State, y=Total,group=Group,color=Group))+ geom_line(linetype = "dashed") + geom_point(aes(size=N)) + theme_classic()+ theme(panel.grid.major = element_line(color = "gray87", linetype = "dotted"), plot.caption = element_text(face="bold",hjust = 0, margin = margin(t = 15), size = 17),text=element_text(size=16), axis.text.x = element_text(angle = 45,margin = margin(t = 27)), axis.title.x = element_text(margin=margin(t=-25)))+ labs(caption="Mean SAT total scores by race/ethnicity in high-participation states in 2023", x="State", y = "Mean score")+ scale_color_discrete(name = "Race/ethnicity", labels = c("Asian", "Black", "Hispanic/Latino", "Native American", "White"),type=c("purple", "azure4", "#009E73", "brown1", "#56B4E9"))+ scale_size_continuous(name = "Sample size", breaks=c(50,500,5000,25000,50000), labels=c("50","500","5,000","25,000","50,000"))+ scale_x_discrete(labels = c("District of Columbia" = "District of\nColumbia"))+ scale_y_continuous(breaks=c(800,900,1000,1100,1200,1300), limits=c(770,1310))+ guides(color=guide_legend(order=1), size=guide_legend(order=2)) ggsave("sat_high_participation_2023.png", height=5.4, width=9.9, dpi=300) # read data for high-participation states in 2020 hp_sat2020 <- read.csv(text="Year,State,Group,Total,N 2020,West Virginia,Asian,1133,196 2020,West Virginia,Black,855,720 2020,West Virginia,Hispanic/Latino,928,432 2020,West Virginia,Native American,817,246 2020,West Virginia,Pacific Islander,852,14 2020,West Virginia,White,940,14664 2020,Idaho,Asian,1077,295 2020,Idaho,Black,889,223 2020,Idaho,Hispanic/Latino,900,3199 2020,Idaho,Native American,853,420 2020,Idaho,Pacific Islander,914,62 2020,Idaho,White,1026,12792 2020,Michigan,Asian,1168,4407 2020,Michigan,Black,860,13425 2020,Michigan,Hispanic/Latino,925,9962 2020,Michigan,Native American,833,1701 2020,Michigan,Pacific Islander,852,129 2020,Michigan,White,1033,69303 2020,Rhode Island,Asian,1120,501 2020,Rhode Island,Black,879,905 2020,Rhode Island,Hispanic/Latino,890,2378 2020,Rhode Island,Native American,850,114 2020,Rhode Island,Pacific Islander,807,14 2020,Rhode Island,White,1052,6379 2020,Delaware,Asian,1171,477 2020,Delaware,Black,884,2399 2020,Delaware,Hispanic/Latino,903,1836 2020,Delaware,Native American,844,102 2020,Delaware,Pacific Islander,820,16 2020,Delaware,White,1056,4819 2020,Florida,Asian,1145,6767 2020,Florida,Black,890,35955 2020,Florida,Hispanic/Latino,980,63510 2020,Florida,Native American,927,1316 2020,Florida,Pacific Islander,921,330 2020,Florida,White,1060,63548 2020,Colorado,Asian,1122,2306 2020,Colorado,Black,905,2475 2020,Colorado,Hispanic/Latino,916,19366 2020,Colorado,Native American,860,596 2020,Colorado,Pacific Islander,928,133 2020,Colorado,White,1072,31260 2020,Illinois,Asian,1177,7726 2020,Illinois,Black,887,18273 2020,Illinois,Hispanic/Latino,944,36688 2020,Illinois,Native American,839,1301 2020,Illinois,Pacific Islander,890,144 2020,Illinois,White,1073,64670 2020,Connecticut,Asian,1217,2631 2020,Connecticut,Black,897,4704 2020,Connecticut,Hispanic/Latino,917,9580 2020,Connecticut,Native American,928,98 2020,Connecticut,Pacific Islander,929,42 2020,Connecticut,White,1095,23334 2020,District of Columbia,Asian,1210,158 2020,District of Columbia,Black,877,2416 2020,District of Columbia,Hispanic/Latino,969,767 2020,District of Columbia,Native American,782,21 2020,District of Columbia,Pacific Islander,NA,7 2020,District of Columbia,White,1263,990") # merge 2020 and 2023 data hp_sat_2020_and_2023 <- merge(subset(hp_sat2020, Group!="Pacific Islander"), subset(hp_sat2023, State!="National" & !Group %in% c("All Groups", "Pacific Islander", "Two or More Races", "No Response"))[,1:5], all=TRUE) # compute medians sapply(unique(subset(hp_sat_2020_and_2023, Year==2020)$Group), function(group) hp_sat_2020_and_2023[nrow(hp_sat_2020_and_2023) + 1,] <<- list(2020, "MEDIAN", group, median(subset(hp_sat_2020_and_2023, Year==2020 & Group==group)$Total), NA)) sapply(unique(subset(hp_sat_2020_and_2023, Year==2023)$Group), function(group) hp_sat_2020_and_2023[nrow(hp_sat_2020_and_2023) + 1,] <<- list(2023, "MEDIAN", group, median(subset(hp_sat_2020_and_2023, Year==2023 & Group==group)$Total), NA)) # state abbreviations state_abb <- function(state_name) { if(state_name == "Colorado") return("CO") else if(state_name == "Connecticut") return("CT") else if(state_name == "Delaware") return("DE") else if(state_name == "District of Columbia") return("DC") else if(state_name == "") return("CT") else if(state_name == "Florida") return("FL") else if(state_name == "Idaho") return("ID") else if(state_name == "Illinois") return("IL") else if(state_name == "Michigan") return("MI") else if(state_name == "Rhode Island") return("RI") else if(state_name == "West Virginia") return("WV") else return("MEDIAN") } hp_sat_2020_and_2023$State_Abb <- sapply(hp_sat_2020_and_2023$State, function(state) state_abb(state)) # graph of SAT total scores in high-participation states in 2020 and 2023 #install.packages("ggrepel") library(ggrepel) high_participation_2020_and_2023 <- ggplot(data=hp_sat_2020_and_2023, aes(Year, Total, group=State, color=State, label=ifelse(State!="MEDIAN", State_Abb, paste(sep="", "Median=", round(Total,0)))))+ geom_point(show.legend=TRUE, aes(size=N))+ geom_line(data=subset(hp_sat_2020_and_2023, State=="MEDIAN"), show.legend=FALSE, linetype="solid")+ geom_text_repel(aes(segment.linetype="dashed"), max.overlaps=20, size=2,show.legend=FALSE)+ theme_classic()+ scale_x_continuous(breaks=c(2020:2023), limits=c(2019.5,2023.5))+ labs(y="Mean score", caption="SAT total score means in high-participation states in 2020 and 2023", tag = "Dots show means in each state, while lines indicate medians across states.")+ theme(legend.title = element_text(size = 12), legend.position = c(.85, .35), panel.background = element_rect(fill = NA, color = "black"), axis.title.x = element_text(margin = margin(t = 10)), axis.title.y = element_text(margin = margin(r = 10)), axis.title=element_text(size=13), axis.text=element_text(size=12), strip.text = element_text(size = 14), plot.margin = unit(c(0,0.4,0.4,0.4), "in"), plot.tag = element_text(size = 11), plot.tag.position = c(0.363,-0.011),plot.caption = element_text(hjust = 0, margin = margin(t = 15), size = 16, face="bold"), panel.grid.major = element_line(color = "gray87", linetype = "dotted"))+ facet_wrap(. ~ Group, ncol=3, scales = "free")+ guides(group="none", color="none")+ scale_size(name="Sample size", breaks = c(50,500,5000,10000,25000,50000), labels=c("50","500","5,000","10,000","25,000","50,000"))+ scale_color_manual(values=c("#9E0142", "#D53E4F", "#F46D43", "#FDAE61", "#FEE08B", "#ABDDA4", "#E6F598", "black", "#66C2A5", "#3288BD", "#5E4FA2"))+ scale_y_continuous(breaks=seq(780,1260,30)) ggsave("high_participation_2020_and_2023.png", height=10.8, width=9.9, dpi=300) # table of gaps between whites and non-whites sat_gaps_2023 <- data.frame(State=unique(hp_sat_2020_and_2023$State)) sat_gaps_2023[,2:5]<-as.data.frame(with(subset(hp_sat_2020_and_2023, Year==2020 & State!="National" & !Group %in% c("Pacific Islander", "Two or More Races", "No Response")), sapply(unique(Group[Group!="White"]), function(group) round(-Total[Group=="White"]+Total[Group==group],0)))) sat_gaps_2023[,6:9]<-as.data.frame(with(subset(hp_sat_2020_and_2023, Year==2023 & State!="National" & !Group %in% c("Pacific Islander", "Two or More Races", "No Response")), sapply(unique(Group[Group!="White"]), function(group) round(-Total[Group=="White"]+Total[Group==group],0)))) sat_gaps_2023 <- sat_gaps_2023[,c(1,2,6,3,7,4,8,5,9)] # html table of racial/ethnic gaps colnames(sat_gaps_2023) <- c("State", "2020", "2023", "2020", "2023", "2020", "2023", "2020", "2023") cgroup <- c("", "Asian–white", "Black–white", "Hispanic–white", "Native American–white") n.cgroup <- c(1,2,2,2,2) sat_gaps_2023_html <- ztable(roundDf(sat_gaps_2023,0),zebra=2,zebra.color="#d4effc;", caption="Differences in SAT total scores between whites and non-whites in high-participation states in 2020 and 2023", caption.placement="top",caption.position="l", caption.bold=TRUE, align="lrrrrrrrr",include.rownames=FALSE,colnames.bold=TRUE) sat_gaps_2023_html <- addcgroup(sat_gaps_2023_html, cgroup, n.cgroup) sat_gaps_2023_html <- hlines(sat_gaps_2023_html, add = c(10)) capture.output(sat_gaps_2023_html,file="sat_gaps.html")
Discover more from Human Varieties
Subscribe to get the latest posts sent to your email.
In addition to the number of test takers, it is helpful to know what fraction of the respective cohort they represent, e.g. if approx 200k Asians took the test in 2023, how many didn’t?
In 2020, there were 11 states where 98–100 percent of high school graduates took the SAT. In 2023, the rate was that high only in the District of Columbia. However, 10 of the 11 states had a rate of at least 90 percent in 2023, so they still provide reasonably representative samples of high school graduates.
For some reason these high participation rates remind me of the old ‘A mind is a terrible thing to waste’ commercials for the United Negro College Fund that used to air on TV several decades ago.
It seems absurd to me that such a high percentage of HS grads take the SAT, especially if you think e.g. of an ‘average’ white HS grad having an ‘average’ IQ of 100 — there is simply no way someone with an IQ of 100 belongs at a university, yet one has to assume that with a participation rate close to 100%, plenty of them are taking the test.
Some sort of tracked education system makes a lot more sense — personally, I think it is pointless to attempt to educate the vast majority of black kids in an academic setting past the 8th grade — teach them how to read and write; build their vocabulary, including by making them read and look up words they don’t know; teach them to competently do basic arithmetic, including fractions. as well as something about the binary system and the basics of how a computer works; cover elementary biology, including Linnaean taxonomy and human biology; also something about the natural sciences, including a historical outline (physics, chemistry); show them how to use a library to find material and do a little research — a reasonable curriculum for this could be developed.
Then instead of an academic HS setting, allow them to choose some sort of career or vocational training.
Many people who go on to college and land in junk academia would be better off doing something similar — then university spending on that nonsense could be drastically cut too.
It looks like in the not too distant future 60% of college grads will be female — obviously they are heavily concentrated in junk academic majors.