about · email me · subscribe
Spurious correlation #4,348 · View random

A linear line chart with years as the X-axis and two variables on the Y-axis. The first variable is The number of security and fire alarm systems installers in New Jersey and the second variable is The average number of likes on Casually Explained YouTube videos.  The chart goes from 2015 to 2022, and the two variables track closely in value over that time. Small Image

AI explanation

As the alarm systems installers flocked to New Jersey, little did they know their electromagnetic waves were inadvertently disrupting the algorithms, giving rise to a new kind of 'fire' - one that consumed not buildings, but the very essence of digital appreciation. It seems even the virtual realm couldn't escape the clutches of their 'secure' presence, leaving Casually Explained to wonder if there was a 'system' to this madness.

Model: dalle-3
Prompt: [A photo-realistic image] In a suburban neighborhood in New Jersey, a bustling scene unfolds. A street is lined with houses, and a crowd of security and fire alarm systems installers occupy the sidewalks and lawns, diligently setting up their equipment. The installers are clad in work attire, carrying tools and wiring as they attend to their tasks. Amidst this real-world activity, the digital realm is visualized as a transparent overlay. Digital data streams and particles connect the virtual space to the physical world. On the virtual side, a representation of Casually Explained's YouTube videos is shown, complete with a play button and views counter. As the installers work, a peculiar disturbance ripples through the digital environment, indicated by glitching visuals and disrupted data flow. The likes counter for the videos is visibly dropping, signaling the mysterious interference affecting the virtual appreciation for Casually Explained's content. The visual emphasizes the collision of these two worlds, with the opacity of the virtual realm implying its interconnectedness with the physical. The convergence of the real-world installers and the digital disruption portrays the unexpected crossroads between technology and human action. The depiction should include only scenes, people, and objects, it should not include text or speech bubbles.
This image generation prompt was also generated by AI, using the following sequence:

Model: gpt-3.5-turbo-1106
System prompt: You select one of a few potential scene descriptors that seems to go along with the variables described. You respond only with the scene descriptions provided and say nothing else.
User prompt: Here are two variables: The number of security and fire alarm systems installers in New Jersey and The average number of likes on Casually Explained YouTube videos. Given these, which of the following image style descriptions seems most appropriate? Pick the one that seems to be related to one of the variables at hand. Please respond with only one of the following potential descriptions: Symbolism A photo-realistic image High-tech A photo-realistic image High-tech
ChatGPT: A photo-realistic image

Model: gpt-3.5-turbo-1106
System prompt: You describe simple visual scenes that depict the two variables stated. You combine both variables into one scene.
User prompt: Please describe a visual scene that prominently depicts both The number of security and fire alarm systems installers in New Jersey and The average number of likes on Casually Explained YouTube videos, in the following situation: As the alarm systems installers flocked to New Jersey, little did they know their electromagnetic waves were inadvertently disrupting the algorithms, giving rise to a new kind of 'fire' - one that consumed not buildings, but the very essence of digital appreciation. It seems even the virtual realm couldn't escape the clutches of their 'secure' presence, leaving Casually Explained to wonder if there was a 'system' to this madness.. Keep the description simple.
ChatGPT: In New Jersey, a crowd of security and fire alarm systems installers flooded the streets, each working diligently to set up their equipment. Meanwhile, on the digital realm, Casually Explained's YouTube videos were receiving an average number of likes, but suddenly, the numbers started plummeting as a mysterious interference disrupted the algorithm. The two worlds collided as the installers unknowingly caused a disturbance that affected the virtual appreciation for Casually Explained's content.

Model: gpt-3.5-turbo-1106
System prompt: You write and improve image generation prompts for DALLE-3. You maintain the same subjects, but enhance the visuals.
User prompt: Please respond with an image generation prompt that would be likely to create an interesting visual using DALLE-3, using the following style: [ A photo-realistic image ] and depicting this scene: In New Jersey, a crowd of security and fire alarm systems installers flooded the streets, each working diligently to set up their equipment. Meanwhile, on the digital realm, Casually Explained's YouTube videos were receiving an average number of likes, but suddenly, the numbers started plummeting as a mysterious interference disrupted the algorithm. The two worlds collided as the installers unknowingly caused a disturbance that affected the virtual appreciation for Casually Explained's content. Keep the visual depiction simple. Do not include any words or speech bubbles.
ChatGPT: [A photo-realistic image] In a suburban neighborhood in New Jersey, a bustling scene unfolds. A street is lined with houses, and a crowd of security and fire alarm systems installers occupy the sidewalks and lawns, diligently setting up their equipment. The installers are clad in work attire, carrying tools and wiring as they attend to their tasks. Amidst this real-world activity, the digital realm is visualized as a transparent overlay. Digital data streams and particles connect the virtual space to the physical world. On the virtual side, a representation of Casually Explained's YouTube videos is shown, complete with a play button and views counter. As the installers work, a peculiar disturbance ripples through the digital environment, indicated by glitching visuals and disrupted data flow. The likes counter for the videos is visibly dropping, signaling the mysterious interference affecting the virtual appreciation for Casually Explained's content. The visual emphasizes the collision of these two worlds, with the opacity of the virtual realm implying its interconnectedness with the physical. The convergence of the real-world installers and the digital disruption portrays the unexpected crossroads between technology and human action.

*Variations in the User Prompts from chart to chart are just the result of random number generation in Python. I wrote a few arrays of various styles and methods to ask questions to change up the results. Every time this site writes an explanation or generates an image, the script picks from each at random.

I sequence the requests into multiple prompts because I find GPT 3.5 to perform much better with short, well-managed contexts. Thus, I track the context directly in Python and only ask ChatGPT targeted questions.

Model: gpt-3.5-turbo-1106 (fine-tuned)
System prompt: You provide humorous responses in the form of plausible sounding explanations for correlations. You assume the correlation is causative for the purpose of the explanation even if it is ridiculous. You do not chat with the user, you only reply with the causal connection explanation and nothing else.
User prompt: Please make up a funny explanation for how an increase in The number of security and fire alarm systems installers in New Jersey caused The average number of likes on Casually Explained YouTube videos to decrease.


Random correlation

Discover a new correlation

View all correlations

View all research papers

Report an error


Data details

The number of security and fire alarm systems installers in New Jersey
Detailed data title: BLS estimate of security and fire alarm systems installers in New Jersey
Source: Bureau of Larbor Statistics
See what else correlates with The number of security and fire alarm systems installers in New Jersey

The average number of likes on Casually Explained YouTube videos
Detailed data title: The average number of likes on Casually Explained YouTube videos.
Source: YouTube
See what else correlates with The average number of likes on Casually Explained YouTube videos

Correlation r = -0.6825788 (Pearson correlation coefficient)
Correlation is a measure of how much the variables move together. If it is 0.99, when one goes up the other goes up. If it is 0.02, the connection is very weak or non-existent. If it is -0.99, then when one goes up the other goes down. If it is 1.00, you probably messed up your correlation function.

r2 = 0.4659138 (Coefficient of determination)
This means 46.6% of the change in the one variable (i.e., The average number of likes on Casually Explained YouTube videos) is predictable based on the change in the other (i.e., The number of security and fire alarm systems installers in New Jersey) over the 8 years from 2015 through 2022.

p < 0.10(Null hypothesis significance test)
The p-value is 0.062. 0.0621291692054341000000000000
The p-value is a measure of how probable it is that we would randomly find a result this extreme. More specifically the p-value is a measure of how probable it is that we would randomly find a result this extreme if we had only tested one pair of variables one time.

But I am a p-villain. I absolutely did not test only one pair of variables one time. I correlated hundreds of millions of pairs of variables. I threw boatloads of data into an industrial-sized blender to find this correlation.

Who is going to stop me? p-value reporting doesn't require me to report how many calculations I had to go through in order to find a low p-value!
On average, you will find a correaltion as strong as -0.68 in 6.2% of random cases. Said differently, if you correlated 16 random variables Which I absolutely did.
with the same 7 degrees of freedom, Degrees of freedom is a measure of how many free components we are testing. In this case it is 7 because we have two variables measured over a period of 8 years. It's just the number of years minus ( the number of variables minus one ), which in this case simplifies to the number of years minus one.
you would randomly expect to find a correlation as strong as this one.

[ -0.94, 0.04 ] 95% correlation confidence interval (using the Fisher z-transformation)
The confidence interval is an estimate the range of the value of the correlation coefficient, using the correlation itself as an input. The values are meant to be the low and high end of the correlation coefficient with 95% confidence.

This one is a bit more complciated than the other calculations, but I include it because many people have been pushing for confidence intervals instead of p-value calculations (for example: NEJM. However, if you are dredging data, you can reliably find yourself in the 5%. That's my goal!


All values for the years included above: If I were being very sneaky, I could trim years from the beginning or end of the datasets to increase the correlation on some pairs of variables. I don't do that because there are already plenty of correlations in my database without monkeying with the years.

Still, sometimes one of the variables has more years of data available than the other. This page only shows the overlapping years. To see all the years, click on "See what else correlates with..." link above.
20152016201720182019202020212022
The number of security and fire alarm systems installers in New Jersey (Laborers)24902120242022102800296026003960
The average number of likes on Casually Explained YouTube videos (Average likes)2104051845232165141947572539122598502274310




Why this works

  1. Data dredging: I have 25,153 variables in my database. I compare all these variables against each other to find ones that randomly match up. That's 632,673,409 correlation calculations! This is called “data dredging.” Instead of starting with a hypothesis and testing it, I instead abused the data to see what correlations shake out. It’s a dangerous way to go about analysis, because any sufficiently large dataset will yield strong correlations completely at random.
  2. Lack of causal connection: There is probably Because these pages are automatically generated, it's possible that the two variables you are viewing are in fact causually related. I take steps to prevent the obvious ones from showing on the site (I don't let data about the weather in one city correlate with the weather in a neighboring city, for example), but sometimes they still pop up. If they are related, cool! You found a loophole.
    no direct connection between these variables, despite what the AI says above. This is exacerbated by the fact that I used "Years" as the base variable. Lots of things happen in a year that are not related to each other! Most studies would use something like "one person" in stead of "one year" to be the "thing" studied.
  3. Observations not independent: For many variables, sequential years are not independent of each other. If a population of people is continuously doing something every day, there is no reason to think they would suddenly change how they are doing that thing on January 1. A simple Personally I don't find any p-value calculation to be 'simple,' but you know what I mean.
    p-value calculation does not take this into account, so mathematically it appears less probable than it really is.
  4. Very low n: There are not many data points included in this analysis. Even if the p-value is high, we should be suspicious of using so few datapoints in a correlation.
  5. Y-axis doesn't start at zero: I truncated the Y-axes of the graph above. I also used a line graph, which makes the visual connection stand out more than it deserves. Nothing against line graphs. They are great at telling a story when you have linear data! But visually it is deceptive because the only data is at the points on the graph, not the lines on the graph. In between each point, the data could have been doing anything. Like going for a random walk by itself!
    Mathematically what I showed is true, but it is intentionally misleading. Below is the same chart but with both Y-axes starting at zero.
  6. Inverted Y-axis: I inverted the Y-axis on the chart above so that the lines would move together. This is visually pleasing, but not at all intuitive. Below is a line graph that does not invert the Y-axis.




Try it yourself

You can calculate the values on this page on your own! Try running the Python code to see the calculation results. Step 1: Download and install Python on your computer.

Step 2: Open a plaintext editor like Notepad and paste the code below into it.

Step 3: Save the file as "calculate_correlation.py" in a place you will remember, like your desktop. Copy the file location to your clipboard. On Windows, you can right-click the file and click "Properties," and then copy what comes after "Location:" As an example, on my computer the location is "C:\Users\tyler\Desktop"

Step 4: Open a command line window. For example, by pressing start and typing "cmd" and them pressing enter.

Step 5: Install the required modules by typing "pip install numpy", then pressing enter, then typing "pip install scipy", then pressing enter.

Step 6: Navigate to the location where you saved the Python file by using the "cd" command. For example, I would type "cd C:\Users\tyler\Desktop" and push enter.

Step 7: Run the Python script by typing "python calculate_correlation.py"

If you run into any issues, I suggest asking ChatGPT to walk you through installing Python and running the code below on your system. Try this question:

"Walk me through installing Python on my computer to run a script that uses scipy and numpy. Go step-by-step and ask me to confirm before moving on. Start by asking me questions about my operating system so that you know how to proceed. Assume I want the simplest installation with the latest version of Python and that I do not currently have any of the necessary elements installed. Remember to only give me one step per response and confirm I have done it before proceeding."


# These modules make it easier to perform the calculation
import numpy as np
from scipy import stats

# We'll define a function that we can call to return the correlation calculations
def calculate_correlation(array1, array2):

    # Calculate Pearson correlation coefficient and p-value
    correlation, p_value = stats.pearsonr(array1, array2)

    # Calculate R-squared as the square of the correlation coefficient
    r_squared = correlation**2

    return correlation, r_squared, p_value

# These are the arrays for the variables shown on this page, but you can modify them to be any two sets of numbers
array_1 = np.array([2490,2120,2420,2210,2800,2960,2600,3960,])
array_2 = np.array([210405,184523,216514,194757,253912,259850,227431,0,])
array_1_name = "The number of security and fire alarm systems installers in New Jersey"
array_2_name = "The average number of likes on Casually Explained YouTube videos"

# Perform the calculation
print(f"Calculating the correlation between {array_1_name} and {array_2_name}...")
correlation, r_squared, p_value = calculate_correlation(array_1, array_2)

# Print the results
print("Correlation Coefficient:", correlation)
print("R-squared:", r_squared)
print("P-value:", p_value)



Reuseable content

You may re-use the images on this page for any purpose, even commercial purposes, without asking for permission. The only requirement is that you attribute Tyler Vigen. Attribution can take many different forms. If you leave the "tylervigen.com" link in the image, that satisfies it just fine. If you remove it and move it to a footnote, that's fine too. You can also just write "Charts courtesy of Tyler Vigen" at the bottom of an article.

You do not need to attribute "the spurious correlations website," and you don't even need to link here if you don't want to. I don't gain anything from pageviews. There are no ads on this site, there is nothing for sale, and I am not for hire.

For the record, I am just one person. Tyler Vigen, he/him/his. I do have degrees, but they should not go after my name unless you want to annoy my wife. If that is your goal, then go ahead and cite me as "Tyler Vigen, A.A. A.A.S. B.A. J.D." Otherwise it is just "Tyler Vigen."

When spoken, my last name is pronounced "vegan," like I don't eat meat.

Full license details.
For more on re-use permissions, or to get a signed release form, see tylervigen.com/permission.

Download images for these variables:


View another random correlation

How fun was this correlation?

You're the correlation whisperer we needed!


Correlation ID: 4348 · Black Variable ID: 11713 · Red Variable ID: 25871
about · subscribe · emailme@tylervigen.com · twitter

CC BY 4.0