Skip to content

Instantly share code, notes, and snippets.

@Keith-S-Thompson
Last active February 23, 2025 00:41
1875 Social Security rumor

On 2025-02-11, Elon Musk made some remarks in the Oval Office, including the following:

I think it's really just saying, let's look at each of these expenditures and say is this actually in the best interest of the people? And if it is, it's approved. If it's not, we should think about it. So, crazy things like just cursory examination of Social Security and we've got people in there that are 150 years old.

Now, do you know anyone who's 150? I don't, OK. They should be on the Guinness Book of World Records, they're missing out. So, that's a case where I think they're probably dead, is my guess, or they should be very famous -- one of the two. And then there's a whole bunch of Social Security payments where there's no identifying information.

Musk didn't directly say that payments were being made to people who are 150 year old, but that's almost certainly what we were supposed to infer.

In response to this, it was claimed to be a result of a feature of the COBOL programming language, that supposedly specifies 1875-05-20 as a base date, used to mark an unknown date. This is not the case; the COBOL standard does not refer to 1875. But this false explanation spread quickly through both social media and news outlets, being reported by Rachel Maddow among others.

Another alleged explanation is that that date is specified by ISO 8601, the standard that gave us the YYYY-MM-DD date format. In fact the 2016 edition of that standard does include the following:

The Gregorian calendar has a reference point that assigns 20 May 1875 to the calendar day that the “Convention du Mètre” was signed in Paris.

But there is no indication that this should be used as a base date or as a default value when an actual date is unknown. I believe its purpose is to explicitly align ISO 8601 dates with the Gregorian calendar by specifying an arbitrary date that is the same in both. Furthermore, my understanding is that the "reference point" wording was dropped in the 2019 edition. (I'm not willing to spend CHF 177 to verify that.)

I had speculated that 1875 might have been an application-specific default date used by Social Security Administration's software. It's also been speculated that children or spouses might be receiving benefits due to their relationships to someone who was born in 1875.

On Mon 2025-02-17 Elon Musk posted on Twitter (x.com) a table showing the number of records in each 10-year age cohort.

According to the Social Security database, these are the numbers of people in each age bucket with the death field set to FALSE!

Maybe Twilight is real and there are a lot of vampires collecting Social Security 🤣🤣

The table shows more than 12 million records with ages over 120. (The current oldest verified living person in the US is 114 years old.)

So there is no cluster at age 150. Even if either COBOL or ISO 8601 specified 1875 as a default date, that would not explain the data shown in the table.

And there is no evidence that anyone over the age of 120 is actually receiving benefits. I speculate that the "death field" might be a legacy field, and that that information is now indicated in some other way.

It's plausible that the Social Security Administration uses COBOL to manage its data, but I've seen no actual evidence of that.

This is a copy of the original image from Musk's tweet:

Table from Elon Musk's tweet

I've run the Tesseract OCR program on the image that Musk posted:

Age Range Count
0-9 38,825,456
10-19 44,326,480
20-29 47,995,478
30-39 52,106,915
40-49 47,626,581
50-59 45,740,805
60-69 46,381,281
70-79 33,404,412
80-89 15,165,127
90-99 6,054,154
100-109 4,734,407
110-119 3,627,007
120-129 3,472,849
130-139 3,936,311
140-149 3,542,044
150-159 1,345,083
160-169 121,807
170-179 6,087
180-189 695
190-199 448
200-209 879
210-219 866
220-229 1,039
240-249 1
360-369 1

An online article called "There is no 1875 epoch" by "loops" (included in the References section below) reaches some of the same conclusions I have and provides some additional information. One thing it mentions is that:

The Master Beneficiary Record, which tracks social security benefits payments, was created in 1962 ...

In 1962, someone born in 1875 would have been 87 years old, and could very plausibly have been collecting Social Security benefits. It wouldn't even have made sense to use 1875 as a default value for a missing birthdate.

"saori-yuko" has posted a comment on this Gist with more information. If you're reading this on GitHub, you should be able to scroll down and read it.

References:

@saori-yuko
Copy link

The key differences between NUMIDENT records and the Social Security Death Index (SSDI) are outlined below, along with potential pitfalls:

Differences:

  1. Source of Data:

    • NUMIDENT records are derived from the "Enumeration System," which includes the Master Files of Social Security Number (SSN) Holders and SSN Applications [0].
    • The SSDI, on the other hand, is derived from the Death Master File, which is an extract of death information from NUMIDENT [0].
  2. Content:

    • NUMIDENT records contain some of the information used to create the SSDI, but they also include additional records not found in the SSDI, such as application (SS-5) and claim records [1].
    • The SSDI specifically focuses on death records and excludes certain state-reported deaths in accordance with the Social Security Act section 205(r) [1].

Pitfalls:

  1. Incomplete Death Records:

    • NUMIDENT death records may not include state-reported deaths due to legal restrictions, which could lead to incomplete data for research or verification purposes [1].
  2. Multiple Records:

    • NUMIDENT may contain multiple entries for the same individual, which could complicate searches and lead to inaccuracies if not carefully analyzed [0].
  3. Scope of IDs:

    • NUMIDENT records include individuals who have applied for SSNs or made claims, not just those who are deceased, which could introduce irrelevant data for death-related queries [1].

In summary, while NUMIDENT provides a broader dataset, including application and claim records, the SSDI is a more focused compilation of death records. However, both systems may have limitations, such as missing data or duplicate entries.

tl;dr he's looking at the wrong data set first of all
https://en.wikipedia.org/wiki/Social_Security_Death_Index is what you want to look at for death information

https://aad.archives.gov/aad/content/aad_docs/rg047_num_faq_2020May.pdf
https://catalog.data.gov/dataset/numident

@morkev
Copy link

morkev commented Feb 18, 2025

Thanks for putting this together, Keith!

It's annoying to see how Elmo Musk and some other people try to manipulate the meaning of data, and instead of trying to win an argument with good reasoning, they just want to scare or mislead people. It’s really sad to this anywhere, but I appreciate you putting this together to at least speak up from the computing side of things.

I would also like to add a relevant Reddit comment from u/685674537, which has been pasted below and referenced at the bottom:

This is why data analysis is hard. You have to have some domain knowledge (and intent in the search for truth).

"There was an audit in 2023 by the SSA Inspector General about number holders over the age of 100 with no record of death on file. They identified just shy of 19 million. They were able to find death certificates and records for a couple million, but most couldn't be verified. But here's the important part that Musk is omitting: Of the 19 million over the age of 100 without a verified death record, only 44,000 number holder accounts were actually drawing social security payments. That means only 44k people aged 100+ still collecting SS, which is a more logical situation."

"Statistically, it is reasonable there are 44K people older than 100. It represents .013% percent of the population which is in line with the 100+ populations in the UK, France and Germany."

https://www.reddit.com/r/SQL/s/5wOFAkb5C6

@mdchaney
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment