Analysis of Fatal Stabbing Videos

I’ve been recently reading literature and writing blog entries on stabbings (see here, here and here) and that brought me to watching videos of fatal stabbings via Kaotic. I did a semi-scientific analysis of the videos, recording for each of the 31 videos (all of which showed an entire stabbing incident from start to collapse of the victim) the number of stab wounds, location of the initial stab wound, time to limited motor function in the victim and time to collapse. I used this rough guide to determine the respective times to the best of my abilities:

Limited Motor FunctionIf standing: Victim becomes shaky on his legs, starts making awkward and uncoordinated steps

If on the ground: Defensive motions become weak and less coordinated
CollapseIf standing: Victim falls to the ground and does not get back up

If on the ground: Defensive motions cease
  • Time to Motor Function Limitation

Victims showed obvious signs of motor function limitations in the range of 4 to 49 seconds after the initial stab wound, with the median being 15 seconds.

  • Time to Collapse

The time to collapse ranged from 6 to 80 seconds after the initial stab wound, with a median of 21 seconds.

  • Time between Motor Function Limitations and Collapse

It took 1 to 15 seconds (with one outlier at 50 seconds) from the first obvious signs of motor problems to collapse, with the median being 5 seconds. Once a victim becomes shaky / weak from the bleeding, a cessation of defensive motions and full collapse within a relatively short time is practically guaranteed.

  • Number of Stab Wounds

The observed number of stab wounds seems to agree quite well with the literature. In one out of three stabbings there was only one stab wound. In one out of two cases the stabbing was limited 1 or 2 stab wounds. In about 15 % of the cases the number of stab wounds exceeded 10. One outlier showed a number of 35 stab wounds, inflicted by two male perpetrators in a gang-style-stabbing on a male victim in a frequented alley in India. The median number of stab wounds was 3.

  • Number of Stab Wounds Within the First Five Seconds

The number of stab wounds within the first five seconds of the initial stab ranged from 1 to 9, with a median of 2. So the highest observed frequency was about 2 stab wounds per second, maintained for a full five seconds. This was however with two perpetrators. The highest stabbing frequency with one perpetrator was about 1.5 stab wounds per second.

  • Location of Initial Stab Wound

In about half of the cases the chest was the initial target. In one out of three cases it was the stomach. Taken together, these two locations were the first target in roughly four out of five cases. Though rarer, the back was also a somewhat common target for the first stab, seen in about one out of six of cases. In only one out of the 23 cases (8 cases were missing as the location of the initial stab was not clearly visible) did the perpetrator go immediately for the neck. This does not mean that neck wounds are uncommon, many stabbings did feature them, but perpetrators usually go for center mass first and then, when the victim is partially immobilized, for the neck.

Wie Vorhersagbar sind Menschen?

In der Physik ist es keine Seltenheit, den Ausgang eines Experimentes mit einer Genauigkeit von 10-20 Nachkommastellen vorhersagen zu können. Die unbelebte Natur, zumindest der makroskopische Teil davon, zeigt wenig bis keine Varianz. Physiker fragen sich nicht, welcher R² für Modelle akzeptabel ist, weil die Zusammenhänge i.d.R. so perfekt sind, dass sich die Frage erübrigt. Unerklärbare Varianz ist etwas, mit dem sich vor allem Sozialwissenschaftler quälen müssen. Was nicht die Schuld der Wissenschaftler ist. Die Vorhersagbarkeit der belebten Natur kommt sehr schnell an eine Grenze kommt, ohne dass man etwas dagegen tun könnte. Hier eine Demonstration.

Selbstbewusstsein lässt sich recht gut aus Neurotizismus vorhersagen. Nimmt man Extroversion hinzu, wird die Vorhersage noch besser. Ebenso wenn man das Gewicht, Erfahrungen der Jugend und Impulsivität hinzunimmt. Ansonsten gibt es in dem Datensatz mit n = 530 Leuten und mehr als 100 Variablen nichts mehr, was die Vorhersage noch verbessern könnte. So sieht das Modell mit den fünf Faktoren aus:

Für psychologische Verhältnisse ein exzellentes Modell: Hohe standardisierte Regressionskoeffizienten, niedriger p-Wert für jeden Faktor, hohes R². Aber wie genau sind die Vorhersagen daraus? Wie oft würde man auf Basis dieses Modells eine korrekte Vorhersage für das Maß an Selbstbewusstsein einer Person machen? Wertet man Vorhersageerfolg so, dass der berechnete Wert innerhalb einer halben Standardabweichung des berichteten Werts liegt (eine faire Schwelle, bedenkt man, dass die meisten Menschen innerhalb von -2 bis 2 Standardabweichungen liegen), dann ergibt sich ein Vorhersageerfolg von 52 %. Mit Neurotizismus alleine 47 %.

Man sollte das jetzt nicht mit einem Münzwurf vergleichen, da es hier nicht um eine Vorhersage Ja/Nein ging. Die Wahl der Schwelle entspricht grob einer Unterteilung der Skala in acht Einheiten. Der Vorhersageerfolg basierend auf bloßer Zufallsschätzung wäre 1/8 = 12,5 % gewesen. Das Modell bringt also definitiv eine Verbesserung gegenüber einer Zufallsschätzung. Es ist nicht nutzlos. Aber auch nicht sonderlich verlässlich.

Man könnte einwerfen, dass es sich nur um einen Fall handelt, aber meine Erfahrung mit psychologischen Datensätzen widerspricht dem ganz klar. 50/50 bei einer Fehlertoleranz von 0,5 Standardabweichungen ist eine typische Grenze, an die man bei der Vorhersage mit sehr guten Modellen kommt. 60/40 wäre schon eine Revolution. Der Grund ist sehr einfach: Viel unerklärbare Varianz. Im Datensatz finden sich dutzende Leute, bei den alle Risikofaktoren für geringes Selbstbewusstsein vorhanden sind, die jedoch keinerlei Probleme in dieser Hinsicht zeigen. Und andere, bei denen keiner der Risikofaktoren vorhanden ist und trotzdem unter geringem Selbstbewusstsein leiden. Es gibt keine cleveren Techniken, um solche unerklärbare Varianz zu domestizieren. Man muss einfach akzeptieren, dass die unbelebte so gebaut ist und die Vorhersagbarkeit entsprechend prinzipiell beschränkt ist.

Es gibt die Hoffnung, dass Hirnscans dieses Problem lösen könnten. Statt die Leute zu fragen, misst man sie und die unerklärbare Varianz verschwindet. Bisher ist das nicht geschehen. Zumindest mit den modernen Mitteln bleibt die Varianz auch bei Hirnscans enorm. Zum Beispiel BPD-Skala und Amygdala-Volumen. Ein kleineres Amygdala-Volumen führt in der Tendenz zu höheren Werten auf der BPD-Skala, aber der Vorhersageerfolg bei diesem Zusammenhang liegt ebenso im Bereich 50/50. Wieder eine deutliche Verbesserung zur Zufallsschätzung, aber es bleibt viel Unklarheit übrig.

Stab Wounds in Male and Female Victims

I recently analyzed the distribution of number of stab wounds in fatal stabbings, I also wanted to have a look at whether there are any gender differences. The limited data implies that female victims of stabbings (both in lethal and non-lethal stabbings) tend to receive more stab wounds than male victims. First data from “Murder By Stabbing” (A.C. Hunt) on this, which looked at n = 100 victims of fatal stabbings:

Number of Stab WoundsMale VictimsFemale Victims
155 %19 %
2-1029 %42 %
11-209 %19 %
> 207 %21 %

The difference is quite noticeable. About half the male victims received one stab wound, while this was only true for every fifth female victim. For male victims the chance of receiving more than 20 stab wounds was 1 in 14, while for female victims it was 1 in 5, three times more likely. However, given the small sample size, general conclusions should only be drawn with extreme caution. The data is in line though with what a larger Israeli sample found. “The Differences in Stabbing-Related Injury Profiles of Men and Women” (Michael Rozenfeld) includes data from n = 9173 non-fatal stabbings and produces the following result:

Number of Stab Wounds Male Victims Female Victims
1-288 %81 %
3+12 %19 %

Unfortunately the breakdown leaves much to the imagination, but as it stands, it does show that female victims are 1.6-times more likely to receive 3+ stab wounds than male victims. In agreement with this, the study also notes that female victims are about two times more likely to receive an Injurity Severity Score ISS > 16 (possibly fatal injury) than male victims.

Why do female victims seem to receive more stab wounds? One reason might be strength. Defense wounds are quite common in stabbings, people commonly fight back. And the stronger the victim, the more difficult it should be for the perpetrator to add more stab wounds. So one can see how the edge in strength for males might translate into fewer stab wounds.

The setting can provide an alternative (or additional) explanation. The Israeli study found that 48 % of female victims are stabbed at home and 26 % on the street, while for male victims only 6 % are stabbed at home and 51 % on the street. In short: Women tend to be stabbed at home, men on the street. When stabbing someone on the street, there are a lot of rational reasons to keep it short: possible witnesses, possible interferences by bystanders, presence of cameras, etc … At home however, a perpetrator can take his time and keep the stabbing going to subjective completion. In this way, the setting might explain the differences in the number of stab wounds.

Number of Wounds in Fatal Stabbings

Using two publications about fatal stabbings, one being “Murder By Stabbing” (A.C. Hunt) and “Patterns of Stab Wounds: A Six Year Study” (D.A. Rouse), I derived a formula for the probability distribution of number of stab wounds by fitting the data to a Zipf distribution. When a range of stab wounds was given rather than a precise point value, I used a midpoint estimate before feeding the data to the regression program. Here first the tables that can be found in the publications.

“Murder By Stabbing” (A.C. Hunt, n = 100 victims)

Number of Stab WoundsIncidence among Fatal Cases
138 %
2-1035 %
11-2014 %
21-306 %
> 308 %

“Patterns of Stab Wounds: A Six Year Study” (D.A. Rouse, n = 152 victims)

Number of Stab Wounds Incidence among Fatal Cases
144 %
213 %
39 %
45 %
51 %
67 %
73 %
83 %
94 %
101 %
11-206 %
21-303 %
31-401 %
> 401 %

Fitting both and then calculating the average of the constants, linearly weighted by study size, leads to the following formula for the expected share p of fatal cases in which n stab wounds are observed:

p = 40 / n^1.4

I rounded the constants liberally as one should not expect high precision from such small samples. I also checked whether an exponential fit might lead to a lower sum of squared residuals, however, the Zipf fit outperformed the exponential fit quite noticeably. Both from the table and the fit, one can see that fatal stabbings with a large number of wounds (overkill) are not as uncommon as one might suspect. In about 1 in 6 fatal stabbings the victim receives more than 10 wounds, in 1 in 12 stabbings more than 20 wounds, in 1 in 25 stabbings more than 30 wounds and in roughly 1 in 100 stabbings even more than 40 wounds.

Unsurprisingly, a comparison to data from non-fatal stabbings shows that a larger number of wounds are more common in fatal stabbings than in non-fatal ones. Here is the incidence of stab wounds in non-fatal stabbings, taken from “The Differences in Stabbing-Related Injury Profiles of Men and Women” (Michael Rozenfeld), a large Israeli sample of n = 9173 non-fatal stabbings, compared to what the above two studies found for the fatal cases:

Number of Stab WoundsNon-Fatal StabbingsFatal Stabbings
1-287 %55 %
3+13 %45 %

Unfortunately, the Israeli study does not allow a better breakdown, but one can clearly see that cases with three or stab wounds are much more frequent in cases with fatal outcomes. In a later post I want to go more into the site of the stab wounds as well as defense wounds, but for now, I will leave it at mentioning that the chest is the most common site for stab wounds, being the target (or one of the target sites) in about 50 % of non-fatal and 75 % of fatal cases. In a series of 14 stabbing videos I recently watched, the chest was also the most common site for the initial stab wound (7 out of 14 cases), followed by the abdomen (5 out of 14) and back (2 out of 14).

Blood Loss After Severing an Artery (CAREFUL: GRAPHIC CONTENT)

Recently I’ve been going through stabbing videos from Kaotic and I found an excellent example that allows an estimation of the rate of blood loss after an artery has been cut. The video shows an altercation in the open-dining area of a bar. A middle-aged man approaches and antagonizes a young man, who can be seen sitting at a table. The young man gets up, draws a knife and stabs the middle-aged man. One of the stabs hits an artery and blood can be seen pouring out. In some frames one can even see the parabolic trajectory of the massive blood stream, which can be used to estimate the flow speed and volume flux.

The initial path of the trajectory seems to be about alpha = 20° down, hitting the floor at a distance of roughly one and a half feet lengths, so about d = 0.45 m. This translates to an ejection speed of v = 0.9 m/s = 90 cm/s. Given that an artery has a cross-section of around A = 3 cm², the volume flux should be Q = 270 cm³/s = 16 Liter/Min = 0.25 Liter/s. Note that since blood pressure decreases as blood is lost, we should expect that ejection speed to decrease as well. So instead of a linear model (constant loss of 0.25 L/s) one should favor an exponential model (constant loss of 5 %/s). Given that we begin at 5 L of blood, which was also used to calculate the aforementioned percentage, we get the following formula for the remaining blood in the body after t seconds:

V = 5*0.95^t

Roughly speaking, people enter a state of limited motor function after 30 % of blood is lost (1.5 L lost or V = 3.5 L) and collapse once 40 % of blood is lost (2 L lost or V = 3 L). So after an artery has been severed, we should expect the two events to occur after the following time span:

  • Limited Motor Function: 7 s
  • Collapse: 10 s

This calculated blood loss and the predictions made from it seem to agree quite well with what can be seen in the video. The severing of the artery occurs at the time stamp 1:18. The victim starts to make disoriented / wobbly motions at around 1:26, so 8 seconds after the stabbing. He collapses at 1:30, which is 12 seconds after the stabbing. Any signs of life end very soon after that. From the calculations and the video it’s easy to see why severing of arteries has a near 100 % mortality even in the best of circumstances.

Here are some key moments of the fatal altercation:

Begin of the Altercation
First Stab
Knife Blade Visible
Second Stab – Note that there is already blood below the left foot
Another man steps in and breaks up the fight
Lots of blood on the ground already
Parabolic blood stream can be seen
Again the clearly visible blood stream
The stream becomes more of a fountain. The blood loss is severe
The victim wobbles back and collapses
All signs of life cease. The perpetrator walks off

Link to the video.

Erweiterte Todesuhr

Habe die Funktion der Todesuhr noch etwas erweitert. Es lassen sich jetzt die Charakteristiken einer zweiten Person eingeben und es wird berechnet, basierend auf der Annahme, dass die Todesjahre normalverteilt sind mit einer Standardabweichung von 11 Jahren (Mittelwert dieser beiden Publikationen), wie wahrscheinlich es ist, dass Person 2 vor Person 1 stirbt. Dies einmal gemäß den unveränderten Lebenserwartungen aus den Sterbetafeln 2019 des Statistischen Bundesamts wie auch den veränderten Lebenserwartungen gemäß den Inputs zu Bewegung, Übergewicht, Rauchen, etc … Es lässt sich jetzt ebenfalls ein Testjahr (im Beispiel-Output 2030) eingeben und gemäß der Normalverteilung wird angezeigt, wie wahrscheinlich es ist, dass die jeweiligen Personen vor diesem Testjahr sterben.

Beispiel-Output für mich und eine gewisse andere Person:

------ Values for Person 1 ------

Birth Year: 1983
Gender: Male

Expected Remaining Lifespan (Table): 42
Expected Remaining Lifespan (Adjusted): 36

Expected Death Year (Table): 2063
Expected Death Year (Adjusted): 2057

Probability of Dying before 2030 (Table): 0.13 %
Probability of Dying before 2030 (Adjusted): 0.74 %


------ Values for Person 2 ------

Birth Year: 1958
Gender: Female

Expected Remaining Lifespan (Table): 22
Expected Remaining Lifespan (Adjusted): 26

Expected Death Year (Table): 2043
Expected Death Year (Adjusted): 2047

Probability of Dying before 2030 (Table): 11.86 %
Probability of Dying before 2030 (Adjusted): 5.79 %


------ Simulation Based on Normally Distributed Death Years ------

Probability of Person 2 Dying Before Person 1 (Table): 90.06 %
Probability of Person 2 Dying Before Person 1 (Adjusted): 73.00 %

Wie wissenschaftlich sind die Berechnungen?

  • Grundlage für alles ist ein fast perfekter Fit der Sterbetafeln 2019, separat für Männer und Frauen, da die Unterschiede der Verläufe recht deutlich sind
def funcm(x):
    return (79.02-1.317*x**0.8806)/(1+0.000004896*x**2.776)

def funcf(x):
    return (83.82-1.334*x**0.8906)/(1+0.000000820*x**3.136)
  • Die Annahme der Normalverteilung der Todesjahre ist in der Praxis gut erfüllt
  • Die Standardabweichung müsste sich exakt aus den Sterbetafeln bestimmen lassen. Aber solange ich nicht weiß wie, bleiben die 11 Jahre als Annahme. Dürfte keine großen Verzerrungen bringen
  • Die maximale Erhöhung / Reduktion der Lebenserwartung durch einen gegebenen Lifestyle-Faktor ist akademischen Quellen entnommen
  • Größtes Problem ist die lineare Addition der Erhöhung / Reduktion der Lebenserwartungen. Rauchen bringt eine Reduktion bis zu 9 Jahre (bei smoking_scale = 1), Übergewicht bis zu 5 Jahre (bei obesity_scale = 1), das heißt aber nicht, dass es bei übergewichtigen Rauchern bis zu 9 + 5 = 14 Jahren sind. So funktioniert das nicht, aber ohne die jeweiligen Korrelationen zu kennen, bleibt es die beste Annahme
  • Die Wahl der Skalenwerte ist subjektiv. Wer nie geraucht hat, setzt smoking_scale = 0. Wer seit dem Alter von 10 Jahren drei Packungen pro Tag raucht, setzt smoking_scale = 1. Wer irgendwo dazwischen liegt, setzt irgendwas wohlpassendes dazwischen. Was ist wohlpassend? Das muss jeder selbst entscheiden.

Der Code mit ausführlichen Kommentaranweisungen zum Input und Links zu den Quellen. Funktioniert auch in diesem Online-Compiler.

import scipy
from scipy import stats
import numpy as np


# USER INPUT: SPECIFY CURRENT YEAR AND TEST YEAR
currentyear = 2021
testyear = 2030


# USER INPUT: SPECIFY GENDER AND BIRTH YEAR FOR PERSON 1
# if male set to 1, otherwise to 0
male = 1
birthyear = 1983

# USER INPUT: SPECIFY CHARACTERISTICS FOR PERSON 1
# USER INPUT: ONLY ADJUST SCALE VALUES

# from 0 to 1
# https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3395188/

exercise_scale = 0.3
exercise_add = 7

# from 0 to 1
# https://www.acpjournals.org/doi/abs/10.7326/0003-4819-138-1-200301070-00008

obesity_scale = 0.3
obesity_red = 5

# from 0 to 1
# https://www.bmj.com/content/345/bmj.e7093.full.pdf+html

smoking_scale = 0.7
smoking_red = 9

# from 0 to 1
# https://jamanetwork.com/journals/jama/article-abstract/2513561

wealth_scale = 0.6
wealth_add = 12

# from 0 to 1
# https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2366041/

education_scale = 0.8
education_add = 3.5

# from 0 to 1
# https://pubmed.ncbi.nlm.nih.gov/21593516/

mental_disorder_scale = 0.7
mental_disorder_red = 15




# USER INPUT: SPECIFY IF COMPARISON TO SECOND PERSON SHALL BE MADE
# To Compare to Another Person, set to 1. Otherwise 0
testperson = 1


# USER INPUT: SPECIFY GENDER AND BIRTH YEAR FOR PERSON 2
# if male set to 1, otherwise to 0
tp_male = 0
tp_birthyear = 1958


# USER INPUT: SPECIFY CHARACTERISTICS FOR PERSON 2
# USER INPUT: ONLY ADJUST SCALE VALUES

# Set to 1 to copy all following characteristics from person 1
copyall = 0

# from 0 to 1
# https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3395188/

tp_exercise_scale = 0.3
exercise_add = 7

# from 0 to 1
# https://www.acpjournals.org/doi/abs/10.7326/0003-4819-138-1-200301070-00008

tp_obesity_scale = 0.0
obesity_red = 5

# from 0 to 1
# https://www.bmj.com/content/345/bmj.e7093.full.pdf+html

tp_smoking_scale = 0.1
smoking_red = 9

# from 0 to 1
# https://jamanetwork.com/journals/jama/article-abstract/2513561

tp_wealth_scale = 0.7
wealth_add = 12

# from 0 to 1
# https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2366041/

tp_education_scale = 0.2
education_add = 3.5

# from 0 to 1
# https://pubmed.ncbi.nlm.nih.gov/21593516/

tp_mental_disorder_scale = 0.4
mental_disorder_red = 15


# ----------------------
# END OF ALL USER INPUTS
# ----------------------

    
# Functions are fits from Sterbetafeln 2019 for males and females

def funcm(x):
    return (79.02-1.317*x**0.8806)/(1+0.000004896*x**2.776)

def funcf(x):
    return (83.82-1.334*x**0.8906)/(1+0.000000820*x**3.136)


if copyall > 0.5:

    tp_exercise_scale = exercise_scale
    tp_obesity_scale = obesity_scale
    tp_smoking_scale = smoking_scale
    tp_wealth_scale = wealth_scale
    tp_education_scale = education_scale
    tp_mental_disorder_scale = mental_disorder_scale


print('------ Values for Person 1 ------')

age = currentyear-birthyear

if male > 0.5:
    years_left = round(funcm(age),0)
else:
    years_left = round(funcf(age),0)

deathyear_table = currentyear+years_left

deathyear = deathyear_table + exercise_scale*exercise_add - obesity_scale*obesity_red - smoking_scale*smoking_red + wealth_scale*wealth_add + education_scale*education_add - mental_disorder_scale*mental_disorder_red

years_left_adj = deathyear-currentyear


print()
print('Birth Year:', birthyear)

if male > 0.5:
    print('Gender: Male')
else:
    print('Gender: Female')

print()
print('Expected Remaining Lifespan (Table):',  "%.0f" % years_left)
print('Expected Remaining Lifespan (Adjusted):',  "%.0f" % years_left_adj)
print()
print('Expected Death Year (Table):',  "%.0f" % deathyear_table)
print('Expected Death Year (Adjusted):',  "%.0f" % deathyear)

z1 = (testyear-deathyear_table)/11
p1 = 100*stats.norm.cdf(z1)

z2 = (testyear-deathyear)/11
p2 = 100*stats.norm.cdf(z2)

print()

print('Probability of Dying before', testyear, '(Table):',  "%.2f" % p1, '%')
print('Probability of Dying before', testyear, '(Adjusted):',  "%.2f" % p2, '%')


if testperson > 0.5:

    print()
    print()
    print('------ Values for Person 2 ------')

    tp_age = currentyear-tp_birthyear

    if tp_male > 0.5:
        tp_years_left = round(funcm(tp_age),0)
    else:
        tp_years_left = round(funcf(tp_age),0)

    tp_deathyear_table = currentyear+tp_years_left

    tp_deathyear = tp_deathyear_table + tp_exercise_scale*exercise_add - tp_obesity_scale*obesity_red - tp_smoking_scale*smoking_red + tp_wealth_scale*wealth_add + tp_education_scale*education_add - tp_mental_disorder_scale*mental_disorder_red

    tp_years_left_adj = tp_deathyear-currentyear


    print()
    print('Birth Year:', tp_birthyear)

    if tp_male > 0.5:
        print('Gender: Male')
    else:
        print('Gender: Female')

    print()
    print('Expected Remaining Lifespan (Table):',  "%.0f" % tp_years_left)
    print('Expected Remaining Lifespan (Adjusted):',  "%.0f" % tp_years_left_adj)
    print()
    print('Expected Death Year (Table):',  "%.0f" % tp_deathyear_table)
    print('Expected Death Year (Adjusted):',  "%.0f" % tp_deathyear)

    tp_z1 = (testyear-tp_deathyear_table)/11
    tp_p1 = 100*stats.norm.cdf(tp_z1)

    tp_z2 = (testyear-tp_deathyear)/11
    tp_p2 = 100*stats.norm.cdf(tp_z2)

    print()

    print('Probability of Dying before', testyear, '(Table):',  "%.2f" % tp_p1, '%')
    print('Probability of Dying before', testyear, '(Adjusted):',  "%.2f" % tp_p2, '%')

    print()
    print()
    print('------ Simulation Based on Normally Distributed Death Years ------')

    year1_table = np.random.normal(deathyear_table,11,50000)
    year2_table = np.random.normal(tp_deathyear_table,11,50000)

    count = 0
    i = 0
    while i < len(year1_table):
        if year2_table[i] < year1_table[i]:
            count = count+1
        i += 1

    prob = 100*count/i

    print()
    print('Probability of Person 2 Dying Before Person 1 (Table):',  "%.2f" % prob, '%')

    year1 = np.random.normal(deathyear,11,50000)
    year2 = np.random.normal(tp_deathyear,11,50000)

    count = 0
    i = 0
    while i < len(year1):
        if year2[i] < year1[i]:
            count = count+1
        i += 1

    prob = 100*count/i

    print('Probability of Person 2 Dying Before Person 1 (Adjusted):',  "%.2f" % prob, '%')