Who will be the Mormon prophet in year 2020?

Predicted LDS prophet in the year 2020.

Summary October 3, 2015

  • Method 1: Winner takes all predicts Dallin H. Oaks
  • Method 2: Monte-Carlo simulation predicts Jeffery R. Holland with an approx. 25% chance.
  • Method 3: Subjectively adjusted health predicts Dallin H. Oaks with an approx. 28% chance.

Overview

It just so happens that there's a a convenient pattern to whom is usually called to be the next prophet of The Church of Jesus Christ of Latter-day Saints. For most of the 20th century and all of the 21st century so far, the pattern has been that the prophet of the church is the most senior apostle (by date of calling to the Quorum of the Twelve) becomes the prophet when the previous prophet dies. There are 15 of these apostles at any given time: three in the "First Presidency", comprising the prophet and his two counselors, and twelve in the Quorum of the Twelve Apostles.

Given the ages of the apostles and some average actuarial life tables (which we use here despite knowing that these men are generally far healthier than the average population), we can fairly easily calculate the likely age of death of the current apostles and rank them by seniority to find some likely scenarios for new prophets.

In [43]:
%matplotlib inline

import matplotlib.pyplot as plt
from matplotlib import rcParams
import numpy as np
import pandas as pd
from datetime import datetime, timedelta
from collections import defaultdict
import seaborn as sns
rcParams['figure.figsize'] = (10.0, 2.0)
In [34]:
now = datetime.now()
CURRENT_YEAR = now.year

Here we load some actuarial life tables which give the population-level probability of death at any particular age.

In [35]:
full_life_table = pd.read_csv('../data/life_table.csv')
full_life_table.set_index('Age',inplace=True)

full_life_table[80:99]
Out[35]:
M F
Age
80 0.061620 0.043899
81 0.068153 0.048807
82 0.075349 0.054374
83 0.083230 0.060661
84 0.091933 0.067751
85 0.101625 0.075729
86 0.112448 0.084673
87 0.124502 0.094645
88 0.137837 0.105694
89 0.152458 0.117853
90 0.168352 0.131146
91 0.185486 0.145585
92 0.203817 0.161175
93 0.223298 0.177910
94 0.243867 0.195774
95 0.264277 0.213849
96 0.284168 0.231865
97 0.303164 0.249525
98 0.320876 0.266514
In [36]:
# grab the values for the "Male" column
prob_death = full_life_table.M.values

It would be slightly more convient to work with these values if we knew, for a man of any particular age, the probability of being alive at any age. We calculate a new life table which has along each row $x$ the probability that a man of age $x$ will live to reach age $y$.

In [37]:
# Create a new life table
l = len(prob_death)
life_table = np.ones((l,l))
for i in range(0,l,1):
    for j in range(i,l,1):
        life_table[i][j]=np.prod(1 - prob_death[i:j+1])
In [38]:
# Load current apostle ages and seniority
apostle_data = pd.read_csv('../data/apostles.csv')
apostle_data
Out[38]:
Name Birth Twelve Ordained Seniority
0 Russell M. Nelson 09/09/1924 04/07/1984 04/12/1984 4
1 Dallin H. Oaks 08/12/1932 04/07/1984 05/03/1984 5
2 M. Russell Ballard 10/08/1928 10/06/1985 10/10/1985 6
3 Robert D. Hales 08/24/1932 04/07/1994 04/07/1994 8
4 Jeffrey R. Holland 12/03/1940 06/23/1994 06/23/1994 9
5 Henry B. Eyring 05/31/1933 04/01/1995 04/01/1995 10
6 Dieter F. Uchtdorf 11/06/1940 10/02/2004 10/07/2004 11
7 David A. Bednar 06/15/1952 10/07/2004 10/07/2004 12
8 Quentin L. Cook 09/08/1940 10/06/2007 10/11/2007 13
9 D. Todd Christofferson 01/24/1945 04/05/2008 04/10/2008 14
10 Neil L. Andersen 08/09/1951 04/04/2009 04/09/2009 15
11 Ronald A. Rasband 02/06/1951 10/03/2015 10/03/2015 16
12 Gary E. Stevenson 08/06/1955 10/03/2015 10/03/2015 17
13 Dale G. Renlund 11/13/1952 10/03/2015 10/03/2015 18

Helper class

For programming convenience, this class captures some simple calculations we will need to do for each prophet.

In [39]:
class Apostle:
    def __init__(self,name,birth,twelve,ordained,seniority):
        self.name=name
        self.birth=datetime.strptime(birth,'%m/%d/%Y')
        self.twelve=datetime.strptime(twelve,'%m/%d/%Y')
        self.ordained=datetime.strptime(ordained,'%m/%d/%Y')
        self.seniority=seniority
    
    def __str__(self):
        return self.name
    
    def age(self,year):
        """Return the apostle's age in a particular year."""
        return year-self.birth.year
    
    def current_age(self):
        """Return the apostle's age in the current year."""
        current_year = datetime.now().year
        return self.age(current_year)
    
    def most_probable_death_year(self,life_table):
        """Return the apostle's most likely year of death given
        a particular life table."""
        current_age = self.current_age()
        age_of_death = np.argmax(life_table[current_age]<.5)
        return self.birth.year + age_of_death
    
    def most_probable_life_state(self,year,life_table):
        """Return True if, given the most probable year of death,
        the apostle is alive in any part of a particular year
        given a particular life table."""
        return year <= self.most_probable_death_year(life_table)
    
    def simulate_death_year(self,life_table):
        """Return a death year randomly drawn from the distribution
        of likely death years given a particular life table."""
        death_year = np.argmin(life_table[self.current_age()] > np.random.random(len(life_table[0])))
        return self.birth.year + death_year
    
    def simulate_life_state(self,year,life_table):
        """Return True if the apostle is alive given a year of death
        drawn from the distribution of likely death years given
        by a particular life table."""
        life_state = self.simulate_death_year(life_table)
        return year <= self.simulate_death_year(life_table)
        
In [40]:
# Create apostle objects and print their ages
apostles = []
for i,row in apostle_data.iterrows():
    apostle = Apostle(row.Name,row.Birth,row.Twelve,row.Ordained,row.Seniority)
    apostles.append(apostle)
    dy = apostle.most_probable_death_year(life_table)
    age_death = dy - apostle.birth.year
    msg = """
    {}. {} is {} years old.
    Life table predicts he will live to age {}."""
    print(msg.format(apostle.seniority,apostle.name,apostle.current_age(),age_death))
    4. Russell M. Nelson is 93 years old.
    Life table predicts he will live to age 95.

    5. Dallin H. Oaks is 85 years old.
    Life table predicts he will live to age 90.

    6. M. Russell Ballard is 89 years old.
    Life table predicts he will live to age 92.

    8. Robert D. Hales is 85 years old.
    Life table predicts he will live to age 90.

    9. Jeffrey R. Holland is 77 years old.
    Life table predicts he will live to age 86.

    10. Henry B. Eyring is 84 years old.
    Life table predicts he will live to age 89.

    11. Dieter F. Uchtdorf is 77 years old.
    Life table predicts he will live to age 86.

    12. David A. Bednar is 65 years old.
    Life table predicts he will live to age 82.

    13. Quentin L. Cook is 77 years old.
    Life table predicts he will live to age 86.

    14. D. Todd Christofferson is 72 years old.
    Life table predicts he will live to age 84.

    15. Neil L. Andersen is 66 years old.
    Life table predicts he will live to age 83.

    16. Ronald A. Rasband is 66 years old.
    Life table predicts he will live to age 83.

    17. Gary E. Stevenson is 62 years old.
    Life table predicts he will live to age 82.

    18. Dale G. Renlund is 65 years old.
    Life table predicts he will live to age 82.

Methodology

Now we define two more functions to help us calculate who is prophet in a particular year. Each of these functions uses a different method to calculate who will be prophet:

Method 1: Winner takes all

The simplest method simply calculates which year each apostle is likely to die in (by taking the first year they are more likely to be dead than alive) and returns the most senior living apostle who is more likely to be alive than dead.

Method 2: Monte-Carlo simulation

A slightly more interesting (and more robust) method runs a simulation for each apostle, making draws from the whole distribution of probable years of death. If we run this simulation many many times, we will end up with estimates of the probability that each apostle will be prophet in any particular year. This method will end up giving us a clearer picture than the winner takes all method.

Method 3: Accounting for health

This method repeats the Monte-Carlo simulation but allows for manual adjustment of the health of the apostles be adding or subtracting years from their life. By default, since all have lived very healthy lives, eight years are subtracted from each of their ages (to simulate an average life expectancy of 85. From there, up to two years is added or subtracted to account for perceived health status (very unhealthy, unhealty, normal, healthy, very healthy).

In [41]:
# define some helper functions for calculating who is prophet in a particular year
# using two different methods

def most_probable_prophet_in_year(apostles,year,life_table):
    """Return the apostle (given a list of apostles) most likely
    to be prophet in a particular year"""
    apostles_alive = [apostle for apostle in apostles
                      if apostle.most_probable_life_state(year,life_table)]
    
    if len(apostles_alive) == 0:
        return None
    
    apostle_index = np.argmin([apostle.seniority for apostle in apostles_alive])
    return apostles_alive[apostle_index]

def simulate_prophet_in_year(apostles,year,life_table):
    """Return the apostle (given a list of apostles) who is prophet
    in a particular year after simulating each apostle's life state
    in the given year."""
    apostles_alive = [apostle for apostle in apostles
                      if apostle.simulate_life_state(year,life_table)]
    if len(apostles_alive) == 0:
        return None
    
    apostle_index = np.argmin([apostle.seniority for apostle in apostles_alive])
    return apostles_alive[apostle_index]
In [44]:
# Plot a histogram of each apostle's likely death years
for apostle in apostles:
    death_year_dist = []
    for i in range(10000):
        death_year_dist.append(apostle.simulate_death_year(life_table))

    plt.hist(death_year_dist,bins=range(CURRENT_YEAR,2040))
    plt.title("Histogram of year of death of {}".format(apostle.name))
    plt.show()
/opt/conda/lib/python3.5/site-packages/matplotlib/font_manager.py:1297: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans
  (prop.get_family(), self.defaultFamily[fontext]))
In [13]:
# Given our model, who is most likely to be prophet in the year 2020?
print(most_probable_prophet_in_year(apostles,2020,life_table))
Dallin H. Oaks

Method 1

In [14]:
# Given our model, who is most likely to be prophet in every year from now until 2040?
for year in range(CURRENT_YEAR,2040):
    print("{}: {}".format(year, most_probable_prophet_in_year(apostles,year,life_table)))
2017: Russell M. Nelson
2018: Russell M. Nelson
2019: Russell M. Nelson
2020: Dallin H. Oaks
2021: Dallin H. Oaks
2022: Dallin H. Oaks
2023: Jeffrey R. Holland
2024: Jeffrey R. Holland
2025: Jeffrey R. Holland
2026: Jeffrey R. Holland
2027: David A. Bednar
2028: David A. Bednar
2029: David A. Bednar
2030: David A. Bednar
2031: David A. Bednar
2032: David A. Bednar
2033: David A. Bednar
2034: David A. Bednar
2035: Gary E. Stevenson
2036: Gary E. Stevenson
2037: Gary E. Stevenson
2038: None
2039: None

Method 2 - simulation:

What if we looked at the probabilities over 10000 trials? This would give us a more accurate picture of how likely it is that any of the current apostles will be prophet in any particular year. Note that it is possible (and probable) that in some of the later years none of the current apostles will be alive. In these cases, I have assigned a probability of prophethood to "other".

In [15]:
def run_simulation(n_trials,apostles,life_table):
    for year in range(CURRENT_YEAR,2040):
        prophets = defaultdict(list)
        for i in range(n_trials):
            prophet = simulate_prophet_in_year(apostles,year,life_table)
            if prophet is not None:
                prophets[prophet.name].append(1)
            else:
                prophets["other"].append(1)
        probabilities = []
        for key,count in prophets.items():
            probabilities.append((key,float(len(count))/n_trials))
        probabilities = sorted(probabilities,key=lambda x: x[1],reverse=True)
        print(year)
        for name,probability in probabilities:
            print(" {} ({})\n".format(name,probability))
In [16]:
run_simulation(10000,apostles,life_table)
2017
 Russell M. Nelson (1.0)

2018
 Russell M. Nelson (0.7777)

 Dallin H. Oaks (0.1996)

 M. Russell Ballard (0.0198)

 Robert D. Hales (0.0025)

 Jeffrey R. Holland (0.0003)

 Henry B. Eyring (0.0001)

2019
 Russell M. Nelson (0.4585)

 Dallin H. Oaks (0.3896)

 M. Russell Ballard (0.0909)

 Robert D. Hales (0.0427)

 Jeffrey R. Holland (0.0159)

 Henry B. Eyring (0.0019)

 Dieter F. Uchtdorf (0.0005)

2020
 Dallin H. Oaks (0.3976)

 Russell M. Nelson (0.2016)

 M. Russell Ballard (0.142)

 Robert D. Hales (0.1292)

 Jeffrey R. Holland (0.0992)

 Henry B. Eyring (0.0146)

 Dieter F. Uchtdorf (0.0115)

 David A. Bednar (0.004)

 Quentin L. Cook (0.0002)

 D. Todd Christofferson (0.0001)

2021
 Dallin H. Oaks (0.2858)

 Jeffrey R. Holland (0.2286)

 Robert D. Hales (0.1597)

 M. Russell Ballard (0.1072)

 Dieter F. Uchtdorf (0.0636)

 Russell M. Nelson (0.0609)

 Henry B. Eyring (0.05)

 David A. Bednar (0.0378)

 Quentin L. Cook (0.0041)

 D. Todd Christofferson (0.0017)

 Neil L. Andersen (0.0005)

 Ronald A. Rasband (0.0001)

2022
 Jeffrey R. Holland (0.2897)

 Dallin H. Oaks (0.1534)

 Dieter F. Uchtdorf (0.1356)

 David A. Bednar (0.1287)

 Robert D. Hales (0.1227)

 Henry B. Eyring (0.0674)

 M. Russell Ballard (0.0478)

 Quentin L. Cook (0.0167)

 D. Todd Christofferson (0.0149)

 Russell M. Nelson (0.013)

 Neil L. Andersen (0.0074)

 Ronald A. Rasband (0.0013)

 Gary E. Stevenson (0.0013)

 Dale G. Renlund (0.0001)

2023
 Jeffrey R. Holland (0.2689)

 David A. Bednar (0.2572)

 Dieter F. Uchtdorf (0.1638)

 Dallin H. Oaks (0.0632)

 Robert D. Hales (0.0568)

 Henry B. Eyring (0.0492)

 D. Todd Christofferson (0.0443)

 Quentin L. Cook (0.0374)

 Neil L. Andersen (0.0263)

 M. Russell Ballard (0.0137)

 Ronald A. Rasband (0.011)

 Gary E. Stevenson (0.0044)

 Russell M. Nelson (0.0024)

 other (0.0007)

 Dale G. Renlund (0.0007)

2024
 David A. Bednar (0.3503)

 Jeffrey R. Holland (0.1776)

 Dieter F. Uchtdorf (0.1435)

 Neil L. Andersen (0.0721)

 D. Todd Christofferson (0.0707)

 Quentin L. Cook (0.0492)

 Ronald A. Rasband (0.0299)

 Henry B. Eyring (0.0273)

 Robert D. Hales (0.0238)

 Dallin H. Oaks (0.0232)

 Gary E. Stevenson (0.0186)

 Dale G. Renlund (0.0059)

 other (0.0047)

 M. Russell Ballard (0.0031)

 Russell M. Nelson (0.0001)

2025
 David A. Bednar (0.3744)

 Neil L. Andersen (0.1167)

 Jeffrey R. Holland (0.1097)

 Dieter F. Uchtdorf (0.0999)

 D. Todd Christofferson (0.0918)

 Ronald A. Rasband (0.0694)

 Gary E. Stevenson (0.0419)

 Quentin L. Cook (0.0418)

 other (0.0185)

 Dale G. Renlund (0.0158)

 Dallin H. Oaks (0.0072)

 Henry B. Eyring (0.0068)

 Robert D. Hales (0.0059)

 M. Russell Ballard (0.0002)

2026
 David A. Bednar (0.35)

 Neil L. Andersen (0.145)

 Ronald A. Rasband (0.0956)

 D. Todd Christofferson (0.0884)

 Gary E. Stevenson (0.0863)

 Jeffrey R. Holland (0.0569)

 Dieter F. Uchtdorf (0.0551)

 other (0.0513)

 Dale G. Renlund (0.0354)

 Quentin L. Cook (0.0311)

 Henry B. Eyring (0.0028)

 Robert D. Hales (0.0012)

 Dallin H. Oaks (0.0009)

2027
 David A. Bednar (0.287)

 Neil L. Andersen (0.1464)

 other (0.131)

 Gary E. Stevenson (0.1201)

 Ronald A. Rasband (0.1154)

 D. Todd Christofferson (0.0703)

 Dale G. Renlund (0.0563)

 Jeffrey R. Holland (0.0286)

 Dieter F. Uchtdorf (0.0253)

 Quentin L. Cook (0.019)

 Dallin H. Oaks (0.0004)

 Robert D. Hales (0.0001)

 Henry B. Eyring (0.0001)

2028
 other (0.2287)

 David A. Bednar (0.2253)

 Gary E. Stevenson (0.1444)

 Neil L. Andersen (0.1404)

 Ronald A. Rasband (0.114)

 Dale G. Renlund (0.0707)

 D. Todd Christofferson (0.0461)

 Dieter F. Uchtdorf (0.0112)

 Jeffrey R. Holland (0.0109)

 Quentin L. Cook (0.0082)

 Henry B. Eyring (0.0001)

2029
 other (0.3722)

 David A. Bednar (0.1606)

 Gary E. Stevenson (0.1481)

 Neil L. Andersen (0.1092)

 Ronald A. Rasband (0.0987)

 Dale G. Renlund (0.0755)

 D. Todd Christofferson (0.0263)

 Dieter F. Uchtdorf (0.0034)

 Quentin L. Cook (0.0032)

 Jeffrey R. Holland (0.0028)

2030
 other (0.5188)

 Gary E. Stevenson (0.1357)

 David A. Bednar (0.1101)

 Neil L. Andersen (0.0787)

 Ronald A. Rasband (0.0734)

 Dale G. Renlund (0.0673)

 D. Todd Christofferson (0.014)

 Quentin L. Cook (0.0008)

 Jeffrey R. Holland (0.0007)

 Dieter F. Uchtdorf (0.0005)

2031
 other (0.6445)

 Gary E. Stevenson (0.1131)

 David A. Bednar (0.0754)

 Dale G. Renlund (0.0589)

 Neil L. Andersen (0.052)

 Ronald A. Rasband (0.0483)

 D. Todd Christofferson (0.0074)

 Jeffrey R. Holland (0.0002)

 Dieter F. Uchtdorf (0.0001)

 Quentin L. Cook (0.0001)

2032
 other (0.7688)

 Gary E. Stevenson (0.0856)

 David A. Bednar (0.0465)

 Dale G. Renlund (0.0332)

 Ronald A. Rasband (0.0321)

 Neil L. Andersen (0.0316)

 D. Todd Christofferson (0.0021)

 Jeffrey R. Holland (0.0001)

2033
 other (0.8588)

 Gary E. Stevenson (0.0557)

 David A. Bednar (0.0258)

 Dale G. Renlund (0.0241)

 Neil L. Andersen (0.0186)

 Ronald A. Rasband (0.0158)

 D. Todd Christofferson (0.0012)

2034
 other (0.9184)

 Gary E. Stevenson (0.0376)

 David A. Bednar (0.0132)

 Dale G. Renlund (0.0118)

 Neil L. Andersen (0.0105)

 Ronald A. Rasband (0.0082)

 D. Todd Christofferson (0.0003)

2035
 other (0.9565)

 Gary E. Stevenson (0.0207)

 David A. Bednar (0.0074)

 Dale G. Renlund (0.0065)

 Neil L. Andersen (0.0052)

 Ronald A. Rasband (0.0034)

 D. Todd Christofferson (0.0003)

2036
 other (0.9783)

 Gary E. Stevenson (0.0125)

 David A. Bednar (0.0033)

 Dale G. Renlund (0.0024)

 Ronald A. Rasband (0.002)

 Neil L. Andersen (0.0015)

2037
 other (0.9892)

 Gary E. Stevenson (0.0059)

 Dale G. Renlund (0.0015)

 David A. Bednar (0.0014)

 Neil L. Andersen (0.0013)

 Ronald A. Rasband (0.0007)

2038
 other (0.9951)

 Gary E. Stevenson (0.0036)

 Ronald A. Rasband (0.0005)

 Dale G. Renlund (0.0004)

 David A. Bednar (0.0003)

 Neil L. Andersen (0.0001)

2039
 other (0.9982)

 Gary E. Stevenson (0.0008)

 Dale G. Renlund (0.0005)

 Ronald A. Rasband (0.0002)

 David A. Bednar (0.0002)

 Neil L. Andersen (0.0001)

Method 2 - conclusions

Interestingly, for many of the years far down the line, the apostle most likely to be prophet is far from clear.

By 2026, only twelve years from now, our model says that it is more likely that someone other than one of the current apostles will be prophet. However, since our model systematically underestimates the age of death of these men, we should take this number with a grain of salt. By 2039, 25 years from now, it's extraordinarily unlikely that any of the current apostles will still be alive.

Caveats

This model did not explicitly take health state into account, but approximated it using current age. Method 3 is one way of accounting for this.

Method 3 - adjusting for health and systematic mortality biases.

One way to approximate of actual health status is to adjust their ages to reflect both their current health and the greater-than-average overall health of their demographic.

In [20]:
default = 8
apostle_age_adjustments = {
    # hospitalized
    "Thomas S. Monson":   default - 10,
    "Russell M. Nelson":  default,
    "Dallin H. Oaks":     default,
    "M. Russell Ballard": default,
    "Robert D. Hales":    default,
    "Jeffrey R. Holland": default,
    "Henry B. Eyring":    default,
    "Dieter F. Uchtdorf": default,
    "David A. Bednar":    default,
    "Quentin L. Cook":    default,
    "D. Todd Christofferson": default,
    "Neil L. Andersen":   default,
    "Ronald A. Rasband": default,
    "Gary E. Stevenson": default,
    "Dale G. Renlund": default,
}
In [21]:
adj_apostles = []
for apostle in apostles:
    age_adj = apostle_age_adjustments[apostle.name]
    adj_apostles.append(Apostle(apostle.name,
                                (apostle.birth + timedelta(days=age_adj*365)).strftime("%m/%d/%Y"),
                                apostle.twelve.strftime("%m/%d/%Y"),
                                apostle.ordained.strftime("%m/%d/%Y"),
                                apostle.seniority))
In [22]:
run_simulation(10000,adj_apostles,life_table)
2017
 Russell M. Nelson (1.0)

2018
 Russell M. Nelson (0.8955)

 Dallin H. Oaks (0.1001)

 M. Russell Ballard (0.0043)

 Jeffrey R. Holland (0.0001)

2019
 Russell M. Nelson (0.7188)

 Dallin H. Oaks (0.2387)

 M. Russell Ballard (0.0348)

 Robert D. Hales (0.007)

 Jeffrey R. Holland (0.0006)

 Henry B. Eyring (0.0001)

2020
 Russell M. Nelson (0.4966)

 Dallin H. Oaks (0.3768)

 M. Russell Ballard (0.0792)

 Robert D. Hales (0.0357)

 Jeffrey R. Holland (0.01)

 Henry B. Eyring (0.0013)

 Dieter F. Uchtdorf (0.0003)

 David A. Bednar (0.0001)

2021
 Dallin H. Oaks (0.4116)

 Russell M. Nelson (0.2986)

 M. Russell Ballard (0.1275)

 Robert D. Hales (0.0972)

 Jeffrey R. Holland (0.0499)

 Henry B. Eyring (0.0092)

 Dieter F. Uchtdorf (0.0048)

 David A. Bednar (0.0011)

 D. Todd Christofferson (0.0001)

2022
 Dallin H. Oaks (0.3711)

 Russell M. Nelson (0.1542)

 Robert D. Hales (0.154)

 M. Russell Ballard (0.1371)

 Jeffrey R. Holland (0.1252)

 Henry B. Eyring (0.0246)

 Dieter F. Uchtdorf (0.0227)

 David A. Bednar (0.0096)

 Quentin L. Cook (0.0009)

 D. Todd Christofferson (0.0005)

 Neil L. Andersen (0.0001)

2023
 Dallin H. Oaks (0.2899)

 Jeffrey R. Holland (0.2076)

 Robert D. Hales (0.1683)

 M. Russell Ballard (0.1068)

 Russell M. Nelson (0.0638)

 Dieter F. Uchtdorf (0.0635)

 Henry B. Eyring (0.0537)

 David A. Bednar (0.0374)

 Quentin L. Cook (0.0049)

 D. Todd Christofferson (0.0032)

 Neil L. Andersen (0.0008)

 Gary E. Stevenson (0.0001)

2024
 Jeffrey R. Holland (0.2689)

 Dallin H. Oaks (0.192)

 Robert D. Hales (0.1424)

 Dieter F. Uchtdorf (0.113)

 David A. Bednar (0.0977)

 Henry B. Eyring (0.0684)

 M. Russell Ballard (0.0633)

 Russell M. Nelson (0.0219)

 Quentin L. Cook (0.0156)

 D. Todd Christofferson (0.0111)

 Neil L. Andersen (0.0043)

 Ronald A. Rasband (0.0013)

 Gary E. Stevenson (0.0001)

2025
 Jeffrey R. Holland (0.2734)

 David A. Bednar (0.1843)

 Dieter F. Uchtdorf (0.15)

 Dallin H. Oaks (0.1106)

 Robert D. Hales (0.0937)

 Henry B. Eyring (0.067)

 M. Russell Ballard (0.0318)

 Quentin L. Cook (0.0312)

 D. Todd Christofferson (0.0267)

 Neil L. Andersen (0.0176)

 Russell M. Nelson (0.006)

 Ronald A. Rasband (0.005)

 Gary E. Stevenson (0.0021)

 other (0.0003)

 Dale G. Renlund (0.0003)

2026
 David A. Bednar (0.2683)

 Jeffrey R. Holland (0.2354)

 Dieter F. Uchtdorf (0.1562)

 Dallin H. Oaks (0.0567)

 D. Todd Christofferson (0.0537)

 Robert D. Hales (0.0488)

 Henry B. Eyring (0.048)

 Quentin L. Cook (0.0456)

 Neil L. Andersen (0.0434)

 Ronald A. Rasband (0.0174)

 M. Russell Ballard (0.0123)

 Gary E. Stevenson (0.0082)

 Dale G. Renlund (0.0028)

 other (0.002)

 Russell M. Nelson (0.0012)

2027
 David A. Bednar (0.3217)

 Jeffrey R. Holland (0.1763)

 Dieter F. Uchtdorf (0.1392)

 D. Todd Christofferson (0.0762)

 Neil L. Andersen (0.0759)

 Quentin L. Cook (0.053)

 Ronald A. Rasband (0.0371)

 Henry B. Eyring (0.0288)

 Robert D. Hales (0.0261)

 Dallin H. Oaks (0.026)

 Gary E. Stevenson (0.0214)

 Dale G. Renlund (0.0074)

 other (0.0073)

 M. Russell Ballard (0.0036)

2028
 David A. Bednar (0.3404)

 Jeffrey R. Holland (0.1188)

 Neil L. Andersen (0.1144)

 Dieter F. Uchtdorf (0.1044)

 D. Todd Christofferson (0.0863)

 Ronald A. Rasband (0.0604)

 Quentin L. Cook (0.0502)

 Gary E. Stevenson (0.0464)

 Dale G. Renlund (0.0205)

 other (0.0205)

 Henry B. Eyring (0.0157)

 Robert D. Hales (0.0111)

 Dallin H. Oaks (0.0098)

 M. Russell Ballard (0.001)

 Russell M. Nelson (0.0001)

2029
 David A. Bednar (0.3276)

 Neil L. Andersen (0.1396)

 Ronald A. Rasband (0.0881)

 D. Todd Christofferson (0.0858)

 Jeffrey R. Holland (0.08)

 Gary E. Stevenson (0.0746)

 Dieter F. Uchtdorf (0.0718)

 other (0.0513)

 Quentin L. Cook (0.0384)

 Dale G. Renlund (0.031)

 Henry B. Eyring (0.005)

 Robert D. Hales (0.0036)

 Dallin H. Oaks (0.0029)

 M. Russell Ballard (0.0003)

2030
 David A. Bednar (0.2918)

 Neil L. Andersen (0.1503)

 Ronald A. Rasband (0.1045)

 other (0.1041)

 Gary E. Stevenson (0.1006)

 D. Todd Christofferson (0.0781)

 Dale G. Renlund (0.0485)

 Jeffrey R. Holland (0.0451)

 Dieter F. Uchtdorf (0.0449)

 Quentin L. Cook (0.026)

 Henry B. Eyring (0.0025)

 Robert D. Hales (0.002)

 Dallin H. Oaks (0.0015)

 M. Russell Ballard (0.0001)

2031
 David A. Bednar (0.2511)

 other (0.1791)

 Neil L. Andersen (0.1431)

 Gary E. Stevenson (0.1298)

 Ronald A. Rasband (0.111)

 D. Todd Christofferson (0.0622)

 Dale G. Renlund (0.0616)

 Dieter F. Uchtdorf (0.0224)

 Jeffrey R. Holland (0.0211)

 Quentin L. Cook (0.0172)

 Dallin H. Oaks (0.0008)

 Henry B. Eyring (0.0006)

2032
 other (0.2811)

 David A. Bednar (0.2042)

 Gary E. Stevenson (0.1342)

 Neil L. Andersen (0.1276)

 Ronald A. Rasband (0.1061)

 Dale G. Renlund (0.0684)

 D. Todd Christofferson (0.0467)

 Dieter F. Uchtdorf (0.0115)

 Jeffrey R. Holland (0.0112)

 Quentin L. Cook (0.0089)

 Dallin H. Oaks (0.0001)

2033
 other (0.3927)

 David A. Bednar (0.1498)

 Gary E. Stevenson (0.1346)

 Neil L. Andersen (0.1181)

 Ronald A. Rasband (0.0922)

 Dale G. Renlund (0.0686)

 D. Todd Christofferson (0.0309)

 Jeffrey R. Holland (0.0051)

 Dieter F. Uchtdorf (0.0044)

 Quentin L. Cook (0.0036)

2034
 other (0.5138)

 Gary E. Stevenson (0.1251)

 David A. Bednar (0.1126)

 Neil L. Andersen (0.0835)

 Ronald A. Rasband (0.0716)

 Dale G. Renlund (0.0684)

 D. Todd Christofferson (0.0191)

 Jeffrey R. Holland (0.0028)

 Dieter F. Uchtdorf (0.0022)

 Quentin L. Cook (0.0009)

2035
 other (0.6261)

 Gary E. Stevenson (0.1059)

 David A. Bednar (0.0864)

 Neil L. Andersen (0.0598)

 Ronald A. Rasband (0.0558)

 Dale G. Renlund (0.0542)

 D. Todd Christofferson (0.0099)

 Quentin L. Cook (0.0007)

 Dieter F. Uchtdorf (0.0006)

 Jeffrey R. Holland (0.0006)

2036
 other (0.7343)

 Gary E. Stevenson (0.0824)

 David A. Bednar (0.0555)

 Dale G. Renlund (0.0421)

 Neil L. Andersen (0.0401)

 Ronald A. Rasband (0.04)

 D. Todd Christofferson (0.0051)

 Dieter F. Uchtdorf (0.0003)

 Quentin L. Cook (0.0001)

 Jeffrey R. Holland (0.0001)

2037
 other (0.8136)

 Gary E. Stevenson (0.0664)

 David A. Bednar (0.0359)

 Dale G. Renlund (0.0304)

 Neil L. Andersen (0.0284)

 Ronald A. Rasband (0.0226)

 D. Todd Christofferson (0.0027)

2038
 other (0.8716)

 Gary E. Stevenson (0.0505)

 David A. Bednar (0.0221)

 Dale G. Renlund (0.0214)

 Neil L. Andersen (0.0167)

 Ronald A. Rasband (0.0161)

 D. Todd Christofferson (0.0015)

 Dieter F. Uchtdorf (0.0001)

2039
 other (0.9236)

 Gary E. Stevenson (0.0293)

 Dale G. Renlund (0.0137)

 David A. Bednar (0.0136)

 Ronald A. Rasband (0.0096)

 Neil L. Andersen (0.0096)

 D. Todd Christofferson (0.0006)

In [ ]: