Happy Friday the 13th

In celebration of this day that holds so much superstition here are some stat facts about Friday the 13th.

  • Every year has at least one Friday the 13th. A year can have up to three occurrences. This creates an average of it occurring 1.72 times per year.
  • Friday is the most common weekday for the 13th to land on. This happens because of how leap years shift the calendar over the 400-year cycle of the Gregorian calendar.
  • September is the most common month for Friday the 13th over the 400-year cycle.
  • Friday the 13th can occur in any month, however certain patterns are common; 1. If a month starts on a Sunday it will have a Friday the 13th. 2, In non-leap years February, March, and November often product them. 3. In leap years January, April, and July normally have them.
  • In a 1993 BMJ study, researchers found that fewer people drove on Friday the 13th. However, hospital admissions increased due to accidents compared to other days.
  • If today was a random date the probability its Friday the 13th is 0.47% (roughly 1 out of every 212 days)
  • The maximum gap between two Friday the 13ths is 426 days. the smallest gap is 28 days.
  • There is nothing mathematically unusual about the 13 itself. Across the calendar, every date from 1 to 31 appears exactly the same number of times in the long run. What varies is the weekday pairing.

Overall it’s just a fun day that is whatever you make of it. If you want to geek out with some python here is a script that generates every Friday the 13th in history:

FridayThe13thInHistory
Python
from datetime import date, timedelta
def generate_friday_13ths(start_year: int = 1, end_year: int = 9999):
"""
- Uses Python's proleptic Gregorian calendar.
- In Python's datetime module:
Monday = 0
Tuesday = 1
Wednesday = 2
Thursday = 3
Friday = 4
Saturday = 5
Sunday = 6
"""
friday_13ths = []
for year in range(start_year, end_year + 1):
for month in range(1, 13):
d = date(year, month, 13)
if d.weekday() == 4: # Friday
friday_13ths.append(d)
return friday_13ths
def print_friday_13ths(start_year: int = 1, end_year: int = 9999):
dates = generate_friday_13ths(start_year, end_year)
print(f"Friday the 13ths from {start_year} to {end_year}:")
print(f"Total found: {len(dates)}")
print("-" * 40)
for d in dates:
print(d.isoformat())
if __name__ == "__main__":
# every Friday the 13th in Pythons supported date range
print_friday_13ths(1, 9999)
# to make the range smaller
# print_friday_13ths(1900, 2100)

/end trans

Leave a Reply

Discover more from Nelson Barringer

Subscribe now to keep reading and get access to the full archive.

Continue reading