TABULATION SOFTWARE description

Use verbose coding so we can fix glitches later! Please just cut and paste the description of this software into the
code itself, as well as adding in further explanations wherever possible.

Set up
Tournament Director (T.D.) options
A. Enter name and location of the tournament. “Setting up a tournament takes 20-30 minutes. You should have
your rooms list available, although you can always modify the list later. You may also enter hired judges at this
time. Online registration can only proceed if there are sufficient rooms and judges to cover the entries. Details
about your tournament will be run are visible to schools registering, so you do not need to write about your
tournament methods in your advertising. You will only need to email schools a registration link.”
B. Set open and close times for registration
C. Make schedule – create time blocks for each round
1. If round is under two hours, program should recommend against
2. Recommend “off” times, such as 11:10 or 12:05. Message: “People tend to pay more attention to off
times and be more punctual.”
3. Time blocks are allowed to overlap, as the rounds may be for different divisions
4. Message: “Please enter all time blocks for all rounds, preliminary and elimination, in all divisions.”
D. Enter rooms (T.D. can skip this step if they enter a total number of rooms)
1. Message: “The number of rooms you enter now sets the maximum size of the tournament. The online
entry system will not accept more entries than fit in the available rooms.”
2. Specify time blocks available for each room. Overlapping time blocks is acceptable
3. Size of each room (auditorium, large, standard, small)
4. Accessibility of each room (ADA: no stairs or elevator, near central gathering location)
5. T.D. can upload map of campus at this stage
E. Create divisions
1. Name each division
a. Specify event type:
i) Cross-Examination
ii) Karl Popper
iii) Lincoln-Douglas
iv) Parliamentary
v) Public Forum
b. Specify event level:
i) Rookie
ii) Novice
iii) Intermediate
iv) Junior Varsity
v) Varsity
vi) Championship
vii) Open
2. Specify the size of each team: 1, 2, or 3 debaters
a. For 2 and 3 debater divisions, options allow registration with:
i) One fewer debater.
ii) One additional debater. Message: “One additional debater will be randomly rotated in, and one
randomly rotated out, in every round. Only the correct number of debaters will debate in each
round.”
iii) Message. “Limit of one such entry as listed above per division.”
3. Specify the topic for each division. Message: “You may write ‘Nov./Dec. L-D topic’ or ‘Topics change each
round’.”
4. Estimate the size of each division
a. In addition to an estimate, the T.D. must specify either a maximum number of entries or choose the
first-come, first-served option, which allows the division size to fluctuate depending on sign-ups
5. Which preliminary rounds does this division debate in? Overlaps are no longer allowed. Program then
numbers the rounds “Round 1”, “Round 2”, etc.
a. Is it a double flighted division? Double flighted means each debate takes only half of the time block,
so two rounds are held back to back. The teams are randomly divided into two groups and assigned
to “Flight A” or “Flight B”.
i) By default, all preliminary rounds in a division are set to the same type, single- or double-flighted.
However, the T.D. may choose to make some rounds exceptions. For example, in an L-D division,
all preliminary rounds except one might be double-flighted. The single-flighted round might be
the last one of the night so it ends earlier.
b. Message: “The program uses strength-of-schedule pairings to equalize each team’s opponent
strength. Some rounds will be high-high power matched; some will be high-low; some will be low-
low. Each team will be assigned an optimally equalizing opponent with no active tournament director
input.”
c. Message when there is excess time between two rounds: “Despite a common misconception, lag
powering—matching the next round before the previous round is done—introduces little to no bias
into the formulas and can shave off valuable time in running the tournament. Consider running
rounds back-to-back.”
d. It is possible for a tournament to have 0 preliminary rounds in a division. The division would proceed
directly to elimination rounds.
6. Target rooms for each division
a. This menu will not be shown for divisions where there are no preliminary rounds
b. Rooms list should clearly show size and accessibility of each room
c. Rooms can be double targeted to more than one division
d. Tournament director can target all rooms for all divisions
e. Message: “Please assign rooms for each division. You might assign varsity divisions to rooms that are
closer to tab as varsity rounds tend to go slower. You might assign double-flighted divisions to rooms
that are closer to the student waiting area. You might assign L-D rounds to smaller rooms.”
f. Warning message if a division does not have enough rooms targeted. Rooms that are double targeted
only count for half, triple targeted only a third, etc.
"
i) For a single-flighted division, the rooms required for each round is ! # $
"
ii) For a double-flighted division, the rooms required for each round is 𝑟𝑜𝑢𝑛𝑑 * ,
+
iii) Use the max size n teams per division for these calculations
7. Define the type of preliminary rounds used in this division:
a. This menu will not be shown for divisions where there are no preliminary rounds
b. [Default] Regular. Message: “Teams are paired against opponents in the same bracket whenever
possible. This is included for tradition, but the strength-of-schedule method balances opponents even
without brackets. The quasi-round robin method is recommended for all divisions.”
c. Round robin. Message: “Each team will debate every other team (from other schools). You will be
allowed to select the particular teams for this division later.”
d. Quasi-round robin. Message: “Teams will be paired ignoring brackets—but still equalizing
schedules—in preliminary rounds. Quasi-round robins can be selected for any size tournament but
are especially recommended for small tournaments. If the tournament is small enough, this option
will automatically pair a true round robin.”
e. If 2./0"12 > 2𝑛 for a division, show the message, “It is recommended a quasi-round robin is used for
this division due to low teams-to-rounds ratio.”
f. If 𝑟𝑜𝑢𝑛𝑑𝑠 ≥ 𝑛 − 1 for a division, then no other option may be shown except the round robin
8. Define the division’s round 1 bye option:
a. This menu will not be shown for divisions where there are no preliminary rounds
b. [Default] The software picks a bye based on league rankings. Message: “The round 1 bye will go to a
team in the lowest ranked third of the pool.”
c. The bye is chosen randomly
d. The T.D. choses which team gets the bye
e. Message: “All byes after round 1 are chosen by the traditional method: the lowest ranked team that
has not yet received a bye.”
9. Define the division’s round 1 pairing method:
a. This menu will not be shown for divisions where there are no preliminary rounds
b. [Default] Use league rankings. Message: “This option ensures the best two teams do not meet in
round 1, but still allows considerable randomness in the round 1 pairings.”
c. Random
10. Specify how many judges will be used for each preliminary round in the division: 1, 2, 3, etc. This menu
will not be shown for divisions where there are no preliminary rounds.
11. Define the division’s judge selection method:
a. Mutual preference judging. Message: “Teams rank the judges they prefer. You will be allowed to set
up or change this option later.”
b. Community preference judging. Message: “Teams rank the judges, which are averaged to create
community ratings. You will be allowed to set up or change this option later.”
c. T.D. ranking. Message: “The tournament director ranks the judges, which are then used automatically
by the software to select judges for individual rounds. You will be allowed to set up or change this
option later.”
d. [Default] Software ranking. Message: “The program will determine which judges are assigning points
most in accordance with community norms, then ranks those judges more highly for later rounds.
You will be allowed to set up or change this option later.”
e. Random. Message: “All judges are assigned at random. You will be allowed to set up or change this
option later.”
12. Define the division’s elimination round type:
a. No elimination rounds
b. Single-elimination rounds
c. Double-elimination rounds
d. Scheduled-elimination rounds.1 Message: “In scheduled-elimination rounds, the tournament director
enters the number of teams that remain after each round, and the worst teams are eliminated.
Scheduled-elimination tournaments have no byes. The specific number of teams for each round will
be entered later.”
13. Define the division’s method for ranking teams after preliminary rounds:
a. [Default] Logit score. Message: “The logit score combines a team’s schedule strength-adjusted record
with its median speaker points. Research shows that the logit score is the most accurate way to rank
teams during a tournament. You will be able to require a specific record, say 5-1 or better, for a team
to make it to elimination rounds.”
b. Z-hybrid score. Message: “The z-hybrid score combines a team’s record with its speaker points.
Research shows that the z-hybrid score is an accurate way to rank teams during a tournament. You

1
See https://docs.wixstatic.com/ugd/9896ec_86a784f59a1e43a2b2263e67f6cbaf7a.pdf for an explanation of the
concept
will be able to require a specific record, say 5-1 or better, for a team to make it to elimination
rounds.”
c. Traditional method. Message: “The traditional method uses wins, then points, then other tie-
breakers in sequential order to rank teams. The particular settings can be adjusted later.”
14. Define the division’s method for breaking teams into elimination rounds:
a. This menu will not be shown for divisions where there are no elimination rounds
b. This menu will not be shown for divisions where the traditional ranking method is chosen
c. Fixed number. Message: “The top __ teams will break. This number will be set later.”
d. Fixed record. Message: “Each win-loss record will be categorized as “must break”, “may break,” or
“can’t break”. For example, 6-0 and 5-1 might defined as “must break”; 4-2 and 3-3 might be defined
as “may break”; 2-4 and below might be defined as “can’t break”. These settings can be adjusted
later.”
15. Which time blocks will the elimination rounds of this division be scheduled?
a. This menu will not be shown for divisions where there are no elimination rounds
b. Each round may be single-flighted or double-flighted, but the default is single-flighted
c. Target rooms for each round. The room list should clearly show each room’s size and accessibility.
16. Specify the number of judges in each elimination round
a. This menu will not be shown for divisions where there are no elimination rounds
b. Default is 3.
c. The number may be different for different elimination rounds, but the default is that all rounds have
the same as the previous round. Changing elimination round 2 to “5 judges” would alter rounds 3 and
later but not round 1’s number of judges
d. Message when number of judges is increased above 3: “Warning: increasing panel size can put a
strain on school-provided judges. Only increase panel size if you have sufficient hired judges.”
17. Define the division’s method for deciding sides in elimination rounds:
a. This menu will not be shown for divisions where there are no elimination rounds
b. Random assignment. Message: “Teams will randomly be assigned sides in elimination rounds.”
c. Flip for sides
d. [Default] Side equalization with random assignment. Message: “If team A has had more Affirmative
rounds than team B, then team B will be assigned Affirmative. If the teams have had an equal number
of Affirmative rounds, they will be randomly assigned sides.”
e. Side equalization with flip for sides. Message: “If team A has had more Affirmative rounds than team
B, then team B will be assigned Affirmative. If the teams have had an equal number of Affirmative
rounds, they will flip a coin to determine sides.”
18. Define the division’s pairing options for elimination rounds:
a. This menu will not be shown for divisions where there are no elimination rounds
b. [Default is “do pair”] Don’t pair teams from the same schools unless it is unavoidable
c. [Default is “do pair”] Don’t pair teams that met in preliminary rounds again unless it is unavoidable
d. [Default is “consider”] Ignore elimination win-loss record in pairing elimination rounds
i) This submenu only shows up for double-elimination and scheduled-elimination divisions
e. [Default is do not collect] Collect speaker points in elimination rounds
19. Specify the points scale in this division. Most debate formats use 0 to 30 points, but other options have
been used in the past.
a. This menu will not be shown if there are no preliminary rounds and no points collected in elimination
rounds.
20. Upload a PDF of the ballot, adding a textbox in the program for printing each round’s information
a. Each division can be different
b. T.D. can copy ballot from a different division
c. [Default] Software has generic ballot design option to choose
d. This can be skipped
e. Note: Each ballot will be printed with a unique code for later scanning/recording purposes
21. REPEAT STEPS 1-20 for each division
F. Enter hired judges
1. Collect judge’s name, which rounds they are available
2. Define each school’s ability to draw upon hired judge pool to register:
a. [Default, “100%”] All schools must cover __ percent of their judging. Message: “Setting this to 100%
requires that teams cover all their judging to register. Hired judges will be kept in reserve.”
b. A school can hire at most __ judges in total
c. A school can hire at most __ judges per event (can be set individually per event type)
d. A school can hire at most __ judges per division (can be set individually per division)
e. A school can hire at most __ judges per level (can be set individually per level)
f. These can be overlapping. Always use the smallest number for a division.
3. [Default is to use hired judges] Option to minimize the use of hired judges. Message: “Selecting this
option will use hired judges as rarely as possible, while using school-provided judges as frequently as
possible. Not selecting this option will use hired and school-provided judges at equal frequencies.
G. If round robin set, prompt for whom to invite:
1. Set each a number for each round robin division: each school invited may bring __ teams
2. Get a separate link for each round robin division. Message: “You may now email this link to the schools
you wish to compete in the round robin.”
H. Set fees

Finalize entries—for the tournament director to do after new entries are closed
A. Once all schools are entered, automatically calculate the maximum distance between any two schools. List the
distances between every other pair of schools as a percent of the maximum distance
B. Review each division
1. Option to collapse two or more divisions
a. This will throw the teams into same pool for preliminary rounds but allows for separate awards and
elimination rounds for the separate divisions
b. Division B collapsed into A follows A’s settings
c. Any changes prompt automatic update to schools entered in collapsed division
2. Option to change a division’s settings for
a. Number or flighting of preliminary rounds
b. Style of preliminary rounds: regular, round robin, quasi-round robin
c. Number or flighting of elimination rounds
i) Wizard opens to help T.D. weigh the options, showing:
(a) How many teams would be expected to break under the rules?
(b) How many elimination rounds will this require? Show creative options, such as Division A’s
and Division B’s partial round will be in Elim Block 1, then A only in Elim Block 2, then B only
in Block 3. Include creative options for flighting.
(c) Estimate judge availability for all elim blocks
d. No other settings may be changed
e. Any changes prompt automatic update to schools entered in the division
3. At this point, the rooms must be targeted to only one division—no double targeting is allowed
a. Designate rooms for each elimination round, starting with Finals and working backward. Show the list
of the biggest rooms
C. Review judges: T.D. can look at their division choices and readjust them, i.e. people with no experience in
policy can be targeted to other events
D. Review fees for each school and generate a check-in P.D.F.
E. Even after new entry registration is changed, school can still drop entries. If a school drops out, the program
may need to re-calculate part A above.

Running preliminary rounds
Crucial information about each team to keep track of during tournament. This may not be an exhaustive list:
- School
- Location of the school (latitude, longitude) and its distance to other schools
- Team members (one, two, or three debaters) – points kept separately for each debater and round
- Number of affirmative rounds completed
- Number of negative rounds completed
- Wins
- Losses
- Splits (only relevant if there are an even number of judges in each round)
- Ballots won (only relevant if there is more than one judge in each round)
- Ballots lost (only relevant if there is more than one judge in each round)
- Byes – a round where the team is not assigned to debate – each team should get only one bye at most in
a tournament
- Disqualified rounds – the team itself missed its round or gave up – this disqualifies a team from getting a
bye
- Forfeits – an opponent gives up – this disqualifies a team from getting a bye
- Opponents – every opponent this tournament a team has debated – a team should not debate the same
opponent multiple times, and opponent information is used for a team’s statistics
- Judges – every judge a team has been seen by in this tournament – a team should not have the same
judge multiple times

Symbols and key definitions:
• n: the number of teams remaining in a division
• 𝑛1 : the number of teams debating in a round. This excludes the bye, so 𝑛1 = 𝑛 or 𝑛1 = 𝑛 − 1.
• Q is the tranche multiplier. Q is the size of the matrix, so a 5x5 matrix is 𝑄 = 5.
• r is the preliminary round number
• R is the total number of preliminary rounds
• t is the tranche number, from first to fifth
• 𝑥< is the team in question
• 𝑥= is a potential opponent for 𝑥<
• 𝑥> , 𝑥# , 𝑥? , … are the previous opponents of 𝑥<
• Adjusted speaker points
o Median adjusted speaker points: median of speaker 1’s adjusted points plus the median of
speaker 2’s adjusted points plus the median of speaker 3’s adjusted points
o Average adjusted speaker points: average of speaker 1’s adjusted points plus the average of
speaker 2’s adjusted points plus the average of speaker 3’s adjusted points
o To adjust speaker points, use the following method:2
§ First, the raw scores from a judge j are turned into z-scores. For each speaker {𝑥> , … , 𝑥C }
a judge has scored, his or her z-score is then

𝑥> − 𝑥G̅
𝑧> =
𝑠G

where 𝑥G̅ is the judge’s average score and 𝑠G is the judge’s standard deviation.
§ Second, average speaker points for each speaker are calculated: {𝑥>̅ , … , 𝑥̅C }. These
average scores reflect several judges’ opinion of each speaker; the average scores
reflect the community’s general standards in giving speaker points.
§ Third, for the judge in question, an adjusted average score needs to be calculated:

2
See Appendix A of https://docs.wixstatic.com/ugd/9896ec_d268e65460f74551b1101c6574a48814.pdf for an
explanation of this method
C
1
𝑥G̅ ∗ = J 𝑥̅"
𝑖
"K>

This adjusted average, 𝑥G̅ ∗ , shows what the community would have given the set of
speakers the judge saw. If 𝑥G̅ > 𝑥G̅ ∗ , it means a judge gives higher scores than the
community. If the latter is larger, it means the judge gives lower scores than the
community.
§ Fourth, standard deviations for each speaker are calculated: {𝑠> , … , 𝑠C }
§ Fifth, for the judge in question, an adjusted standard deviation needs to be calculated:

• Bracket difference: VW𝑤𝑖𝑛𝑠YZ − 𝑤𝑖𝑛𝑠Y[ W\, where byes and forfeits count for a half-win, while disqualified
rounds count for a loss
• Distance fraction {𝑥= , 𝑥> } is the distance between 𝑥= and 𝑥> , divided by the maximum distance between
any two schools at the tournament
• Median speaker points: median of speaker 1’s points plus the median of speaker 2’s points plus the
median of speaker 3’s points
• Average speaker points: average of speaker 1’s points plus the average of speaker 2’s points plus the
average of speaker 3’s points
• Win-loss percentage:

o Rounds off includes byes and forfeits earned. Disqualified rounds count as losses. Splits can occur
only if the number of judges per round is even.
o The fraction of 1/11 interdigitates teams with byes in the correct order with teams without byes.
For example, a 4-0-1 team is in the top 6.25 percentile by random chance in a 50-50 binomial
distribution, whereas a 4-1 team is in the top 15.625 percentile and a 5-0 team is in the top
3.125. The fractional weighting on the bye gives the 4-0-1 team a win-loss percentage of 0.978, in
between the 4-1 (0.80 win-loss) and the 5-0 (1.00 win-loss).
o Ballot percentage:

1
𝑏𝑎𝑙𝑙𝑜𝑡𝑠 𝑤𝑜𝑛 + 11 (𝑟𝑜𝑢𝑛𝑑𝑠 𝑜𝑓𝑓)
2
𝑏𝑎𝑙𝑙𝑜𝑡𝑠 𝑤𝑜𝑛 + 𝑏𝑎𝑙𝑙𝑜𝑡𝑠 𝑙𝑜𝑠𝑡 + 11 (𝑟𝑜𝑢𝑛𝑑𝑠 𝑜𝑓𝑓)
§ Rounds off include byes and forfeits earned, and each is scored by how many ballots
were possible to win. Disqualified rounds count as ballots lost, scored by how many
ballots were possible to win in the disqualified round.
• Percentile:

𝑛 − 𝑟𝑎𝑛𝑘
𝑛−1

o This means that no team is 0th or 100th percentile.

A. There should be a timeline that displays the status of each division, round number, all ballots in, all rounds
started, etc. Display a status bar and estimate time for any calculations that take more than a few seconds to
run.
B. Multiple users should be able to login to the tournament management interface at the designation of the T.D.
C. For each division, (re)rank the teams after every preliminary round
1. From top (1) to bottom (n) by the following methods
a. For round 1, by league standing points. In the case of ties, break with a random number.
b. For all other prelims:
i) median adjusted speaker points
ii) average adjusted speaker points
iii) median speaker points
iv) average speaker points
v) win-loss percentage
vi) ballot percentage
vii) random
D. For each division, assign “sides” for use in the optimization matrix:3
1. If n is odd, pick the bye, with the following priorities for any preliminary rounds after Round 1:
a. Select the set of all teams that had no rounds off (no byes, forfeits, or disqualifications) in any
previous preliminary round
i) If this set has 1 team, chose it as the bye
ii) If this set has 0 teams, ignore this priority and move on the next priority
iii) If this set has 2 or more teams, keep this subset and proceed to next priority
b. From the above set, select the subset of all teams that have an affirmative differential of only -1, 0, or
+1. Teams that are unbalanced in their affirmative and negative rounds should continue debating to
balance out before being eligible for a bye.
i) If this subset has 1 team, chose it as the bye
ii) If this subset has 0 teams, ignore this priority and move on the next priority
iii) If this subset has 2 or more teams, keep this subset and proceed to the next priority
c. Pick the worst ranked team as the bye
i) League variation: (a) and (b) above apply to whole season, not just this tournament. Priority (c)
applies to only to this tournament.
d. For Round 1: pick the 25th percentile team from league rankings for the bye. The teams below the
25th percentile may not have scores yet because they are new to the league but otherwise are
experienced. The team at the 25th percentile, on the other hand, should have a score—a score which
is known to be bad.
"
e. Variation: If one school has !#$ + 1 teams in the division, one of its teams must receive the bye
2. Determine which teams are locked on a “side”:
a. In final preliminary round of the division:

3
See https://docs.wixstatic.com/ugd/9896ec_86a784f59a1e43a2b2263e67f6cbaf7a.pdf for an explanation of the
constrained side equalization assignment method
i) Any team that is not 0 affirmative differential is locked on the opposite side: 0 > differential
means the team is locked affirmative, 0 < differential means locked negative
>
ii) However, if more than # 𝑛1 are locked on either side, pick the team with the absolute value
affirmative percentage closest to 0 to flip to the opposite of their locked side
(a) If two or more teams are tied, break with a random number
>
(b) Repeat until only no more than # 𝑛1 are locked on either side
iii) League variation: affirmative differential refers to the whole season, not just this tournament
b. In any other preliminary round:
i) Any team that is -2 or +2 affirmative differential is locked on the opposite side
ii) Any team that is -1, 0, +1 affirmative differential can be on either side
iii) League variation: affirmative differential refers to the whole season, not just this tournament
c. Locked affirmative teams go on matrix rows; locked neg teams go on matrix columns
3. Order the schools by number of teams in that division (randomize the ties anew for each preliminary
round). The purpose is to assign as many teams from a big school as possible to the same side. This
creates more possible matches in the matrix between different schools.
a. Starting with first school, count its locked teams:
i) If 𝑙𝑜𝑐𝑘𝑒𝑑 𝑎𝑓𝑓 − 𝑙𝑜𝑐𝑘𝑒𝑑 𝑛𝑒𝑔 = 0, then randomly generate a 0 or 1
(a) If 0, assign all unlocked teams from school on matrix rows
(b) If 1, assign all unlocked teams on matrix columns
ii) If 𝑙𝑜𝑐𝑘𝑒𝑑 𝑎𝑓𝑓 − 𝑙𝑜𝑐𝑘𝑒𝑑 𝑛𝑒𝑔 > 0, then assign all unlocked teams on matrix rows
iii) If 𝑙𝑜𝑐𝑘𝑒𝑑 𝑎𝑓𝑓 − 𝑙𝑜𝑐𝑘𝑒𝑑 𝑛𝑒𝑔 < 0, then assign all unlocked teams on matrix columns
>
iv) If the matrix rows now exceed # 𝑛1 , pick at random one of the school’s unlocked teams to flip to
>
the matrix columns. Repeat until the rows are exactly # 𝑛1 .
>
v) If the matrix columns now exceed # 𝑛1 , pick at random one of the school’s unlocked teams to flip
>
to the matrix rows. Repeat until the columns are exactly # 𝑛1 .
>
b. Repeat 3a with the next school until either the matrix rows or the matrix columns has exactly # 𝑛1 .
Once either condition is met, assign all other schools to the opposite to balance out the matrix.
E. Pair the rounds in the matrix
1. Each potential round in the matrix is scored on a cell-by-cell basis, assigning points in various waves or
“tranches”.4 The purpose of tranches is to assign points that are orders of magnitude apart, which means
the optimization matrix will choose matches that are the worst possible ones in tranche 1 before selecting
any matches in tranche 2. In other words, the optimization will only choose some match in tranche 2 if it
is unavoidable and will never choose it otherwise. The first tranche multiplier is 𝑄= = 1; the second is
𝑄> = 𝑄; the third is 𝑄# ; and the general multiplier is 𝑄<f> for the t tranche number. Some tranches may
be turned off or empty. Skip them in counting t.
a. Match suitability tranche:
i) For each team 𝑥< in a potential match, the matrix cell gets
f# 5
(𝑆. 𝐷. 𝑜𝑓 𝑟𝑎𝑛𝑘 𝑝𝑒𝑟𝑐𝑒𝑛𝑡𝑖𝑙𝑒𝑠 𝑜𝑓 𝑥= , 𝑥> , 𝑥# … + 1) points. This is repeated for both teams,
viewing the other as its potential opponent. Commented [r1]: Is it worthwhile to separate out the
(a) If there is no spread—which is bad—the standard deviation is 0, so the points total 1 per spread of a team’s affirmative and negative opponents? Or
team, for 2 total points per matrix cell maybe in the later rounds?
(b) If the spread is optimal, the standard deviation is 0.5, so the points total 4/9 per team, for
8/9 total points per matrix cell

4
See https://docs.wixstatic.com/ugd/9896ec_86a784f59a1e43a2b2263e67f6cbaf7a.pdf for a discussion of using
an optimization matrix
5
See https://docs.wixstatic.com/ugd/9896ec_86a784f59a1e43a2b2263e67f6cbaf7a.pdf for a justification of using
standard deviations to equalize schedules
(c) Multiply the total by 9/10, add 0.2, then multiply by 𝑟 ÷ (𝑅 + 1). This adjusts the match
suitability score to heavily weight the spread of opponents in the later preliminary rounds
but to lightly weight the spread in early preliminary rounds.
ii) For each team 𝑥< in a potential match, the matrix cell gets
f> 6
(ℎ𝑎𝑟𝑚𝑜𝑛𝑖𝑐 𝑚𝑒𝑎𝑛 𝑜𝑓 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑓𝑟𝑎𝑐𝑡𝑖𝑜𝑛𝑠 {𝑥= , 𝑥< }; {𝑥= , 𝑥> }; {𝑥= , 𝑥# }; … + 1) points. This is
repeated for both teams, viewing the other as its potential opponent.
(a) This can vary from 0.5 to 1 point per team, for 1 to 2 total points per matrix cell
(b) Multiply the total by (𝑅 − 𝑟 + 1) ÷ (𝑅 + 1)
iii) If the two teams 𝑥< and 𝑥= met at a previous tournament…
(a) and are locked on the same side again (one or both teams are locked), add 1 point.
(b) but can reverse sides (neither team is locked), add 0.5 points.
iv) Total of each matrix cell now varies between 2 and 5 points (the sum of i, ii, iii). Rescale total T by
(𝑇 ∙ (𝑄 − 2) − 2𝑄 + 7) ÷ (3𝑄).
(a) The cell now varies between 1/Q and 1-1/Q in value. In every tranche, the cell score will be
“standardized” to fall between 1/Q and 1-1/Q. That way, the tranches are kept from
overlapping in any way.
b. Bracket tranche:
i) r(𝑄 − 2) ÷ 𝑟 ∙ 𝑏𝑟𝑎𝑐𝑘𝑒𝑡 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒 + 1s ÷ 𝑄
ii) Varies between 1/Q and 1-1/Q in value
iii) Multiply by tranche weight
iv) Bracket tranche is turned off by the “ignore brackets” setting
c. Debated-in-preliminary-rounds tranche:
i) If 𝑥< and 𝑥= met and must be locked on the same side as before (one or both teams are locked):
1-1/Q
ii) If 𝑥< and 𝑥= met but can be reverse sides (neither team is locked): 1/2
iii) Multiply by the tranche weight
d. Same-school tranche:
i) If 𝑥< and 𝑥= are from the same school: 1-1/Q
ii) Multiply by the tranche weight
e. Re-shuffle the unlocked teams (step 3a) if any team has ONLY opponents with DEBATED-IN-
PRELIMINARY-ROUNDS and/or SAME-SCHOOL options in the matrix. These are considered
unacceptable options, and only if they are unavoidable will a tournament director allow them to be
chosen. There must be a suitable number of attempts at re-shuffling to prove it is unavoidable.
2. Run the optimization matrix. There are numerous methods to do this, including the Hungarian algorithm. I
am not sure which works best for this application.
3. Allow the T.D. to double-check the matches chosen
a. Highlight any matches chosen where:
i) Matched teams are from the same school (green check if none)
ii) Matched teams met before in this tournament
(a) sides are same: red
(b) reversed sides: yellow
(c) green check if none
iii) Matched teams met before in a previous tournament
(a) indicate how long ago by fading color
(b) sides are same: red
(c) reversed sides: yellow
(d) green check if none
iv) Matched teams have a bracket difference
(a) > 1: yellow

6
See “Ensuring Geographic and Skill-level Mixing” in
https://docs.wixstatic.com/ugd/9896ec_156a2e5255b84c9e9decdfab98108ec5.pdf for justification of this method
(b) > 2: red
(c) green check if all bracket difference = 0
v) We need some graphic way to show why any such outcomes were inevitable. “These teams have
to meet again, otherwise two teams from the same school will have to meet.”
b. If tournament director chooses “Pick a different bye and reshuffle,” restart at step B1. Use the same
criteria but pick the second-worst ranked team, then re-do every other step after.
i) Do not show this option if either D1 (a) or (b) were zero
ii) Do not show this option again for round 1
F. Assign sides in rounds selected:
1. If the teams have debated before…
a. And one or both is locked on a side, then assign that side
b. And if neither team is locked on a side, they must be assigned to the reverse sides as the previous
debate
2. If the teams have not debated before and…
a. If 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒YZ − 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒Y[ = 0, then assign sides at random
b. If 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒YZ − 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒Y[ > 0, then assign 𝑥< to negative
c. If 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒YZ − 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒Y[ < 0, then assign 𝑥< to affirmative
G. Assign judges for all divisions in one matrix
1. Make a square matrix
a. Rows are the pairs of teams (one round per row)
b. Columns are all the judges
c. In all cases, 𝑐𝑜𝑙𝑢𝑚𝑛𝑠 ≥ 𝑟𝑜𝑤𝑠. To make the matrix square, add rows called “standby” until the
columns are equal to the rows.
d. Variation for all double-flighted divisions:
.
i) Randomly choose t#u rounds in each double-flighted division
(a) This is flight A. This is included with the other divisions in the initial judge assignment matrix.
ii) The remaining rounds in the double-flighted division form flight B
(a) After the initial judging assignment matrix is done, form a matrix listing flight B rounds
(rows) and only judges assigned to flight A in that division (columns)
• This means flight B rounds must be assigned judges division by division.
• To make the matrix square, there may or may not need to be a single row for a
“singleton” round—a judge who hears only a flight A round and is not assigned a flight B
round.
e. Variation for multi-judge divisions:
i) Assign the first judge as normal in the initial judging assignment matrix
ii) Re-list any unassigned judges (columns) as well as all the rounds (rows) in all the multi-judge
division(s)
iii) Repeat steps i and ii until all judges in the division assigned
iv) Variation for multi-judge, double-flighted divisions:
(a) Select flight A rounds as explained in step d) above
(b) List flight A rounds, again and again, in multi-division matrix until all judges assigned
(c) Flight B rounds are matched against judges division by division
2. Score the cells according to the following tranches:
a. Mutual preference judging tranche:
i) 𝑥< ’s rating for the judge is 𝑝YZ (1= best, 6 = worst); 𝑥= ’s rating is is 𝑝Y[ . Cell gets
vw xyz{/.z
r2 Z + 2vw[ xyz{/.z s(𝑄 − 2) ÷ (252𝑄) + (65 − 𝑄) ÷ (63𝑄) points.
(a) “Before” indicates whether judge has seen team at a previous tournament (1=yes, 0=no)
(b) If judge was not assigned a score by a team, use 3 as the default rating
ii) This variable has a range of 1/Q to 1-1/Q
iii) Variation for multi-judge divisions:
(a) Judge A is scored as outlined in step (i)
(b) Judge B is scored as so:
• Use whichever is the maximum p for 𝑥< ’s rating, either 𝑝} or 𝑝~ (i.e., use rating from
worst judge). Do the same for 𝑥= ’s score.
iv) Each standby cell is equal to the number of rounds of commitment a judge still owes by the
following formula: r(𝑄 − 2)(𝑟𝑜𝑢𝑛𝑑𝑠 𝑜𝑤𝑒𝑑 ) ÷ (𝑅 − 𝑟) + 1s ÷ 𝑄
(a) This ranges from 1/Q to 1-1/Q points
(b) All hired judges are given “rounds owed” at 25th percentile of rounds owed by all judges
(c) School-provided judges selling additional rounds are coded for rounds owed as
𝑟𝑜𝑢𝑛𝑑𝑠 𝑜𝑤𝑒𝑑 + r𝑟𝑜𝑢𝑛𝑑𝑠 𝑜𝑤𝑒𝑑#•<€ vz.•z"<C‚z ÷ (𝑅 − 𝑟)s ∙
𝑟𝑜𝑢𝑛𝑑𝑠 𝑡ℎ𝑖𝑠 𝑗𝑢𝑑𝑔𝑒 𝑎𝑣𝑎𝑖𝑙𝑎𝑏𝑙𝑒 𝑓𝑜𝑟 ℎ𝑖𝑟𝑒. This is coded into the formula above for rounds
owed.
b. Division-appropriateness tranche:
i) Judge’s score for each division coded as:
(a) A, “love to judge”: 1/Q
(b) B, “willing to judge”: 1/2
(c) C, “no thank you”: 1-1/Q
ii) Multiply by the tranche weight
c. Judge already seen the team(s) at this tournament before tranche:
i) One team, but it is on the opposite side: 1/Q
ii) One team, but it is on the same side: (𝑄 + 2) ÷ (4𝑄)
iii) Both teams, both on opposite side: 1/2
iv) Both teams, one must be locked, other is opposite: (3𝑄 − 2) ÷ (4𝑄)
v) Both teams, both on the same side: 1-1/Q
vi) Multiply by the tranche weight
d. Same-school tranche:
i) Judge and one competitor from same school: 1/2
ii) Judge and both competitors from the same school: 1-1/Q
iii) Multiply by the tranche weight
3. Run the optimization matrix
4. Allow the T.D. to double-check the judges chosen
a. Highlight any judges shown who:
i) Are from the same school as either or both competitors (red). Green if none.
ii) Already judged a team in preliminary rounds
(a) One on reverse side: yellow
(b) One on same side, or both teams: red
(c) Green check if none
iii) Already judged a team in a previous tournament
(a) Indicate how long ago by fading color
(b) One on reverse side: yellow
(c) One on same side, or both teams: red
(d) Green check if none
iv) Judge is judging but their commitment + availability for hire is not positive
(a) If commitment + availability for hire is 0: yellow
(b) If commitment + availability for hire is -1 or less: red
v) Division is lower than judge’s preference:
(a) Yellow if preference is in the middle third of all divisions
(b) Red if preference is in the bottom third of all divisions
(c) Green if preference is in the top third of all divisions
vi) Either team’s score for their judge is:
(a) 4 or 5: yellow
(b) 6: red
(c) Green if all 1s-3s
vii) We need some graphic way to show why any such outcomes were inevitable. “These teams have
to meet again, otherwise two teams from the same school will have to meet.”
b. Allow tournament director to make manual judge assignments and “Reshuffle” everything else
around those assignments by repeating steps G1 – G3, excluding the fixed rounds-judges
H. Assign rooms for all divisions in one matrix
1. Round 1: randomly assigned within division-appropriate rooms as allotted by tournament director in the
setup phase
2. Round 2 or later:
a. Rounds are rows
b. Rooms are columns
c. Score in matrix like so:
i) Right division: 0; otherwise: 𝑄# − 𝑄
ii) Plus same room for judge as previous room: 0; otherwise: Q - 1
iii) Plus random number from 0 to 1
3. Allow the T.D. to double-check the rooms chosen
a. Highlight any rooms in the wrong division
b. Allow tournament director to make manual assignments and “Reshuffle” everything else around
those assignments by repeating steps H1 – H3, excluding the fixed rounds/room
I. Allow the T.D. to double-check the team matches, judges, and rooms
1. Highlight any problems from double checks again: E3, G4, and H3
2. Allow manual assignments of judges and rooms, with “Reshuffle” options
J. Push pairings
1. Dashboard allows tournament director to look up rounds by either team, judge, room, division, or school
2. Dashboard shows standby judges and standby rooms that are available, allowing a quick swap-in
3. If a team no-shows, suggest substituting in the bye, if there is one
4. If two teams no-show, suggest pairing the remaining teams against each other or the bye
5. Provide a button to confirm the round is running in a division, which opens up lag power options. Suggest
“Would you like to pair next round? Lag-powering saves valuable time and does not bias results, contrary
to common misconception.”
K. Enter results
1. When all ballots from a division are entered, then proceed through steps C through F for that division
automatically, in the background
a. If it is the final preliminary round, begin ranking teams as indicated below
2. When all divisions are paired, then proceed through steps G and I automatically, in the background

Running elimination rounds
A. Rank all teams
1. Post-prelims options:
a. Logit score7 – The purpose of the logit score is to combine each team’s wins, losses, speaker points,
and opponents into a single score. It is similar to averaging the strength of the best opponent beaten
and the worst opponent lost to, along with the team’s median speaker points, but the logit score uses
a logistic regression to calculate the final score, not an average.
i) First, calculate the median adjusted speaker points for each team
ii) List for each team 𝑥< all of its opponents’ (𝑥> , 𝑥# , 𝑒𝑡𝑐. ) median adjusted speaker points. The
opponents are broken into two lists:
(a) Teams beaten: {𝑤> , 𝑤# , 𝑒𝑡𝑐. }
(b) Teams lost to: {𝑙> , 𝑙# , 𝑒𝑡𝑐. }

7
See Appendix D of https://docs.wixstatic.com/ugd/9896ec_d268e65460f74551b1101c6574a48814.pdf for an
explanation of this method. Also see
https://docs.wixstatic.com/ugd/9896ec_0b38e3ce8fb74e3c85ca1c5f110c1d47.pdf for a justification.
iii) The speaker points of 𝑥< in each round are classified as:
(a) “Losses” if the total points received are above the median for the team and so are added to
the {𝑙 } list
(b) “Wins” if the total points received are below the median for the team and so are added to
the {𝑤} list
(c) If the total points in a round are exactly the median, it will be added to the {𝑙 } and {𝑤 } lists
in alternating order, beginning with whichever list has fewer terms
iv) A team’s logit score L is the solution to this equation:
1 1 1 1
0= + + ⋯− − −⋯
1 + 𝑒 …(†f‡ˆ) 1 + 𝑒 …(†f‡‰) 1 + 𝑒 …(‚ˆf†) 1 + 𝑒 …(‚‰f†)
(a) The equation generates a curve that is decreasing and passes through 0 only once
• L can therefore be found by testing low, 𝐿> , and high, 𝐿# , values:
Þ If 𝐿> yields a positive solution and 𝐿# yields a negative solution, then average them
together to get 𝐿>.• . If 𝐿>.• is positive, it replaces 𝐿> and the process repeats. If 𝐿>.•
is negative, it replaces 𝐿# and the process repeats. Repeat until L is within the
desired margin of error. Only calculate the number of decimal places needed to
break ties.
(b) The best estimate of the value of k is 2.436. However, this value needs to be tested and
refined during each debate season and league. It may need to be set at different values for
each league.
v) Because the logit score is based off of speaker points, the logit score needs to be multiplied by a
final scalar to have a maximum value of 100
(a) For the typical point scale of 60, L should be multiplied by 5/3
b. Z-hybrid – The purpose of the z-hybrid is to combine wins, losses, and speaker points into a single
score. Unlike the logit score, the z-hybrid score does not incorporate opponent strength into its
calculation, so it is less sophisticated.
i) Calculate all teams’ win percentages and median adjusted speaker points
ii) Find z-scores for each win percentage and each median adjusted speaker points
(a) w is the worst z-score of any team for either list
iii) Rank each team by calculating: 𝑍 = (𝑧‡C"2 − 𝑤)(𝑧v<2 − 𝑤)
(a) The most points is the best rank
(b) The final print-out of the z-hybrid score should be √𝑍 + 𝑤
iv) If there are ties, break them by calculating: 𝑍 = (𝑧‡C"2 − 𝑤)# + (𝑧v<2 − 𝑤)#
(a) The most points is the best rank
(b) The final print-out of the z-hybrid tie-breaker score for these teams should be √0.5𝑍 + 𝑤
v) If there are still ties, use the traditional tie breakers listed in (c) below. By definition, the win
percentage and median adjusted speaker points must be tied for both z-hybrids to be tied, but
the other measures may differ.
c. Traditional tie-breakers:
i) Win percentage
ii) Ballot percentage
iii) Median adjusted speaker points
iv) Average adjusted speaker points
v) Median speaker points
vi) Average speaker points
vii) Opponent measures:
(a) Median of opponents’ win percentage
(b) Average of opponents’ win percentage
(c) Median of opponents’ ballot percentage
(d) Average of opponents’ ballot percentage
(e) Median of opponents’ median adjusted speaker points
(f) Average of opponents’ median adjusted speaker points
(g) Median of opponents’ average adjusted speaker points
(h) Average of opponents’ average adjusted speaker points
(i) Median of opponents’ median speaker points
(j) Average of opponents’ median speaker points
(k) Median of opponents’ average speaker points
(l) Average of opponents’ average speaker points
viii) Random
d. Variation for elimination-round only tournament:
i) There is no preliminary round information. Options to rank the teams include:
(a) Ranking them by league standings
(b) Ranking them randomly
B. Decide which teams “break” into elimination rounds
1. Separate out collapsed divisions. Even though they were collapsed during preliminary rounds and have
been ranked as one group, the program must separate them out for elimination rounds.
a. Close all gaps in the rankings: for instance, if a division’s teams were ranked {1,2,4,6,8, … }, the teams
should be reranked as {1,2,3,4,5, … }
2. Break options
a. [Default] All teams with a certain win-loss record. Message: “This option breaks all teams with the
best win-loss records based on judging availability, i.e., break all 5-1s and 6-0s.”
i) Option A: program-defined break record
(a) Calculate all teams’ win percentage p and place teams in order
(b) Find bth place on list, where b is the maximum possible elimination spots
(c) Find p of bth place, then go down the list until 𝑝G < 𝑝y
• If j=b+1, then break team b and every team above it
• If j>b, then
Þ Go up the list until 𝑝C > 𝑝y
Þ Break team i and every team above it
ii) Option B: tournament director-defined break record
(a) This would have been specified in the tournament settings, step 14
(b) T.D. gets a chance to review the settings
b. Break the maximum number. Message: “This options breaks as many teams as possible.”
i) Option A: by win-loss records and a program-defined break record
(a) Calculate all teams’ win percentage p and place teams in order
(b) Find bth place on list, where b is the maximum possible elimination spots
(c) Find p of bth place, then go down the list until 𝑝G < 𝑝y . Then go up the list until 𝑝C > 𝑝y .
• All teams i and above automatically break
• All teams between i and j conditionally break. Select them off the list until all elimination
spots are filled, using the ranking method specified in the settings.
ii) Option B: by win-loss records and a tournament director-defined break record
(a) This would have been specified in the tournament settings, step 14
(b) T.D. gets a chance to review the settings
(c) For “maybe” records, use the ranking method specified in the settings to rank the maybe
teams. Select them off the list until all elimination spots are filled.
iii) Option C: by ranking method. Message: “This option will ignore win-loss record in breaking teams
to elimination rounds—in a direct sense—if the logit score or z-hybrid ranking method is
selected. However, both methods indirectly factor in win-loss record in ranking teams.”
(a) Rank teams by the method specified in the settings and break the maximum number b
C. Pair teams in a division
1. Create a square matrix. All teams in the division are listed in both rows and columns.
a. If single elimination, then the number of rows/columns must be equal to 2z , where e is the
elimination round number counting down to 1 for finals. So, the number of rows/columns must be …,
16, 8, 4, 2. Add byes to the matrix until this condition met.
b. If double elimination, then the number of rows/columns must be even. Add a bye to the matrix if
necessary.
c. If scheduled elimination, then there are no special conditions. The number of teams debating is
always even.
2. Score the matrix cell according to the following tranches:
a. Match-up tranche:
#
i) For a match 𝑥< versus 𝑥= , each cell receives the score *1 − •, ÷ (𝑛 − 2) ∙ |𝑟𝑎𝑛𝑘 𝑜𝑓 𝑥< +
𝑟𝑎𝑛𝑘 𝑜𝑓 𝑥= − 2 × 𝑎𝑣𝑒𝑟𝑎𝑔𝑒 𝑟𝑎𝑛𝑘 𝑜𝑓 𝑟𝑒𝑚𝑎𝑖𝑛𝑖𝑛𝑔 𝑡𝑒𝑎𝑚𝑠| + 1/𝑄. Use this formula only once for
each matrix cell.
(a) Any bye is considered the worst-ranked team remaining
(b) This tranche can be turned off in the setting for double-elimination and scheduled
elimination formats. If so, use a random number here between 1/Q and 1-1/Q.
(c) This variable has a range of 1/Q to 1-1/Q
(d) Multiply by the tranche weight
b. Meeting-before in preliminary rounds/brackets tranche:
i) The two teams have met before in prelims once: 1/Q
(a) This option can be turned off in the settings
ii) The two teams have different elimination round win-loss records: 1/2
(a) This is only relevant for double-elimination and scheduled elimination formats
iii) The two teams have met before in prelims once and have different elimination round win-loss
records: 1-1/Q
(a) This option can be turned off in the settings, and is only relevant for double-elimination and
scheduled elimination formats
iv) Multiply by the tranche weight
c. Same-school tranche:
i) The two teams are from the same school: 1/2
(a) This option can be turned off in the settings
ii) Multiply by the tranche weight
d. Meeting-before in elimination rounds/meeting twice tranche:
i) The two teams have met once in elimination rounds before but not in preliminary rounds: 1/Q
(a) This is only relevant for double-elimination and scheduled elimination formats
ii) The two teams have met twice before in preliminary rounds but have not yet been on reverse
sides: 1/Q
iii) The two teams have met twice, where one or both rounds were elimination rounds but have not
yet been on reverse sides: 1/2
iv) The two teams have met twice before in preliminary rounds and have debated reverse sides: 1/2
v) The two teams have met twice, where one or both rounds were elimination rounds and have
debated reverse sides: 1-1/Q
vi) The two teams have met more than twice in any rounds: 1-1/Q
vii) Multiply by the tranche weight
e. Self-match tranche:
i) The two teams are the same one: 1/2
(a) Any bye-vs-bye is coded as a self-match
ii) Multiply by the tranche weight
f. Allow the tournament director to double-check the matches
3. Assign sides:
a. If the teams have debated once or more before in preliminary or elimination rounds,
i) And 𝑥< has been affirmative in not exactly-half of its rounds against 𝑥= , then they must be locked
to the reverse sides of the imbalance
ii) And 𝑥< has been affirmative in exactly-half of its rounds against 𝑥= , then they may be assigned to
sides as outlined below
b. If the teams have not debated before or meet condition (a) ii…
i) [Default] Flip-for-sides
ii) Side equalization:
(a) If 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒YZ − 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒Y[ = 0, then assign sides at
random or flip-for-sides
(b) If 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒YZ − 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒Y[ > 0, then assign 𝑥< to
negative
(c) If 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒YZ − 𝑎𝑓𝑓𝑖𝑟𝑚𝑎𝑡𝑖𝑣𝑒 𝑑𝑖𝑓𝑓𝑒𝑟𝑒𝑛𝑐𝑒Y[ < 0, then assign 𝑥< to
affirmative
D. Assign the first judge in all divisions in one matrix:
1. Note: in cases where the two teams are from the same school, no judge is required. These rounds are
exempted from the matrix.
2. Make a matrix listing the rounds in all divisions in rows and all judges in the columns
a. Make the matrix square by adding “standby” rows
3. Score the matrix cells according to the following tranches:
a. Mutual preference judging tranche:
i) 𝑥< ’s rating for the judge is 𝑝YZ (1= best, 6 = worst); 𝑥= ’s rating is is 𝑝Y[ . Cell gets
vw xyz{/.z
r2 Z + 2vw[ xyz{/.z s(𝑄 − 2) ÷ (252𝑄) + (65 − 𝑄) ÷ (63𝑄) points.
(a) “Before” indicates whether judge has seen team at a previous tournament (1=yes, 0=no)
(b) If judge was not assigned a score by a team, use 3 as the default rating
ii) This variable has a range of 1/Q to 1-1/Q
iii) Variation for multi-judge divisions:
(a) Judge A is scored as outlined in step (i)
(b) Judge B is scored as so:
• Use whichever is the maximum p for 𝑥< ’s rating, either 𝑝} or 𝑝~ (i.e., use rating from
worst judge). Do the same for 𝑥= ’s score.
iv) Each standby cell is equal to the number of rounds of commitment a judge still owes by the
following scores. The goal is to use the school-provided just most heavily if their teams were
eliminated in the previous round—these judges are necessary to make the panels work and they
should not be allowed to leave. School-provided judges whose teams were eliminated two
rounds ago are used more lightly than hired judges and released on standby if possible. Hired
judges are used more lightly than school-provided judges whose teams are still competing. Note:
This math depends on an elimination panel size of 3.
(a) School-provided judge not interested in hired judging:
• If the judge’s school was eliminated from all divisions three or more rounds ago: 0
• If the judge’s teams was eliminated from all divisions two rounds ago: 1/Q
• If the judge’s school is still competing: 1/2
• If the judge’s school was eliminated from all divisions one round ago: 1-1/Q
(b) Hired judge: (𝑄 + 2) ÷ (4𝑄)
b. Division-appropriateness tranche:
i) Judge’s score for each division coded as:
(a) A, “love to judge”: 1/Q
(b) B, “willing to judge”: 1/2
(c) C, “no thank you”: 1-1/Q
ii) Multiply by the tranche weight
c. Judge already seen the team(s) at this tournament before tranche:
i) One team, but it is on the opposite side: 1/Q
ii) One team, but it is on the same side: (𝑄 + 2) ÷ (4𝑄)
iii) Both teams, both on opposite side: 1/2
iv) Both teams, one must be locked, other is opposite: (3𝑄 − 2) ÷ (4𝑄)
v) Both teams, both on the same side: 1-1/Q
vi) Multiply by the tranche weight
d. Same-school tranche:
i) Judge and one competitor from same school: 1/2
ii) Judge and both competitors from the same school: 1-1/Q
iii) Multiply by the tranche weight
4. Run the optimization matrix
5. Assign the next judge for each panel
a. Make a matrix listing the rounds in all divisions in rows and all remaining/standby judges in the
columns
i) Make the matrix square by adding “standby” rows
b. Score the matrix cells in the same way as above except:
i) Mutual preference judging tranche: Judge B is scored liked so: use whichever is the maximum p
for 𝑥< ’s score, either 𝑝} or 𝑝~ . Do the same for 𝑥= ’s score. Use these in the calculation above.
ii) The second tranche is judge diversity:8
(a) All judges differ on all characteristics (race, sex, age, speed, critiques): 0 points
(b) If two judges agree on a characteristic: 1 point
(c) If three judges agree: 2 points
(d) If four judges agree: 3 points, etc.
(e) Total points and divide by maximum possible score: 5 characteristics * (judges-1)
(f) Multiply by (1-2/Q) and add 1/Q
(g) The variable is now between 1/Q and 1-1/Q
(h) Multiply by the tranche weight
iii) All other tranches are the same
6. Run the optimization matrix
a. Repeat steps 5-6 until all judges are chosen
7. Allow the T.D. to double-check the judges chosen
a. Highlight any judges shown who:
i) Are from the same school as either or both competitors (red). Green if none.
ii) Already judged a team in preliminary rounds
(a) One on reverse side: yellow
(b) One on same side, or both teams: red
(c) Green check if none
iii) Already judged a team in a previous tournament
(a) Indicate how long ago by fading color
(b) One on reverse side: yellow
(c) One on same side, or both teams: red
(d) Green check if none
iv) Judge is judging but their commitment + availability for hire is not positive
(a) If commitment + availability for hire is 0: yellow
(b) If commitment + availability for hire is -1 or less: red
v) Division is lower than judge’s preference:
(a) Yellow if preference is in the middle third of all divisions
(b) Red if preference is in the bottom third of all divisions
(c) Green if preference is in the top third of all divisions
vi) Either team’s score for their judge is:
(a) 4 or 5: yellow
(b) 6: red
(c) Green if all 1s-3s
vii) We need some graphic way to show why any such outcomes were inevitable. “These teams have
to meet again, otherwise two teams from the same school will have to meet.”

8
See https://docs.wixstatic.com/ugd/9896ec_86a784f59a1e43a2b2263e67f6cbaf7a.pdf for a discussion of
balancing elimination panels
b. Allow tournament director to make manual judge assignments and “Reshuffle” everything else
around those assignments by repeating steps D1-D7, excluding the fixed rounds-judges
c. Reminder about judges whose schools have been eliminated and not being used for this round
i) Program should show how many judges it is, how many judges are needed and are still available,
i.e., “Harker was eliminated two rounds ago. They have 5 judges. You have 25 extra judges.”
ii) If tournament director chooses to release the school, then the judges and school will receive a
notification message on the next pairings
E. Assign rooms for all divisions in one matrix
1. Elimination Round 1: randomly assigned within division-appropriate rooms as allotted by tournament
director in the setup phase
2. Elimination Round 2 or later:
a. Rounds are rows
b. Rooms are columns
c. Score in matrix like so:
i) Right division: 0; otherwise: 𝑄# − 𝑄
ii) Plus same room a judge as previous room: 0; otherwise: Q - 1
iii) Plus random number from 0 to 1
3. Allow the T.D. to double-check the rooms chosen
a. Highlight any rooms in the wrong division
b. Allow tournament director to make manual assignments and “Reshuffle” everything else around
those assignments by repeating steps E1 – E3, excluding the fixed rounds/room
F. Allow the T.D. to double-check the team matches, judges, and rooms
1. Highlight any problems from double checks again: C2f, D7, and E3
2. Allow manual assignments of judges and rooms, with “Reshuffle” options
G. Push pairings
1. Dashboard allows tournament director to look up rounds by either team, judge, room, division, or school
2. Dashboard shows standby judges and standby rooms that are available, allowing a quick swap-in
H. Enter results
1. In single elimination, any teams with a loss are eliminated
2. In double elimination, any teams with two losses are eliminated
3. Re-rank remaining teams
a. Logit score is updated by:
i) New opponents are added to the calculation
ii) Opponent data is only based on the preliminary rounds
(a) Variation: speaker points are collected in elimination rounds, so all of the related statistics
(opponent median adjusted speaker points and the team’s speaker points) are updated
b. Z-hybrid
i) Update preliminary + elimination round win percentage
ii) Median adjusted speaker points do not change in elimination rounds
(a) Variation: speaker points are collected in elimination rounds, so this statistic is updated
iii) Find z-scores for win percentage and median adjusted speaker points
iv) Re-rank as shown in steps A1 (b) iii-v above
c. Traditional measures:
i) Update preliminary + elimination round win percentage
ii) Update preliminary + elimination round ballot percentage
iii) No speaker points statistics change in elimination rounds
(a) Variation: speaker points are collected in elimination rounds, so all of the related statistics
are updated
iv) Update opponent measures:
(a) Opponents includes both preliminary and elimination round opponents, but opponent data
only factors in their preliminary round data
• Variation: speaker points are collected in elimination rounds, so all of the related
statistics are updated
4. In scheduled elimination, once the teams are re-ranked, eliminate the required number of bottom teams

Results
A. All results (rounds) should be stored online, in a format that allows continual lookup of which teams debated
what opponents on which sides, in what divisions at what tournaments, with which judges
1. On the back end, this information should be searchable by the program to continue using in pairing new
tournaments
2. On the front end, this information should be something schools can generate a report of
B. All results (preliminary ranks, final elimination results, speaker awards) should be stored online in a program-
readable format
C. The program will need to use the results to re-calculate league standings using specific formulas to be
determined
D. All results (preliminary ranks, final elimination results, speaker awards, judge ratings) should be available
online in P.D.F.s which are automatically generated, shown below:
Teams in alphabetical order:
Division X Event Y Tournament Date

For multi prelim judges: alternate white, then gray, for
every round
Commented [r7]: In double elim or scheduled elim, this will
be called elimination round 1, elimination round 2, etc.
Commented [r8]: Options include: Advanced, Advanced on
bye, Advanced on forfeit, Eliminated, Eliminated by forfeit,
Eliminated by disqualification
Commented [r9]: Alternate white, gray, white, gray…
Commented [r10]: Once all rounds for a team are listed,
move on to the next team in alphabetical order
Teams in prelim seed order
Division X Event Y Tournament Date

Seed Team tiebreakers List only the tie-breakers required to tell two teams apart.
51 Point Loma WaZe There are no ties permitted.
52 Natural Springs BoJi
53 Arizona ErTy Commented [r13]: These seed numbers should be listed
54 U. Wash FuSe without any gaps. If, for example, the 5th place team cannot
break because of its win-loss record, close the gaps in the
ranks: {1, 2, 3, 4, 5, 6…}
Commented [r14]: Alternate two white, two gray, two
white, etc. If the number of breaking teams is even, then
this pattern holds. If the number of breaking teams is odd,
then the possible endings are: two gray one white, or three
white. One gray may not end.
Commented [r15]: If there are no breaking requirements,
then this is ignored
Commented [r16]: Start the list’s seed number at 1+(the
number of breaking teams). These seed numbers should be
listed without any gaps: {51, 52, 53, 54, 55, 56, …}
Commented [r17]: List only as many teams as break in the
non-breaking list
Teams in final elimination order
Division X Event Y Tournament Date

Seed Team Last Elimination Round Other tiebreakers Commented [r18]: Use the tiebreakers listed in the settings
1 U. W. Won Finals
to break any ties. However, the teams are listed as tied for a
2 Gonzaga Lost Finals
3 Capital City Lost Semi-finals
certain seed, but they are put into order by the tiebreakers.
3 Douglas Lost Semi-finals List only the tiebreakers necessary.
5 Gonzaga Forfeit to Gonzaga Commented [r19]: Possible options are: Won __ , Lost __ ,
5 …
Advanced over __ , Forfeit to __
Commented [r20]: Alternate two white, two gray, two
white, etc. If the number of breaking teams is even, then
this pattern holds. If the number of breaking teams is odd,
then the possible endings are: two gray one white, or three
white. One gray may not end.
Speakers in preliminary seed order
Division X Event Y Tournament Date

Seed Debater Team Med. Adj. pts Avg. Adj. pts Med pts Avg pts Wins Ballots Commented [r21]: This is technically (win percentage)
1 Tina Lowry Harvard LoMa 29.7 29.6 29.6 29.4 3 3
times (number of preliminary rounds). When there are
2 Doug Chapman Harvard ChBa 29.6 29.7 29.5 29.6 3 3
3 Shiffren Ma Harvard LoMa 29.6 29.6 29.6 29.5 3 3
splits, byes, etc., this will not be an integer.
4 Nattile Barrlk Harvard ChBa 29.6 29.6 29.6 29.5 3 3 Commented [r22]: Include only if preliminary rounds had
more than one judge per round
Commented [r23]: Alternate two white, two gray, etc.
Commented [r24]: Include 2*roundup(n/4) speakers
Commented [r25]: Any ties still remaining after ballots will
decided by a random number
Judge results
J. CARTER (U. Georgia)
Division Event Team Speaker Points Community Avg. (s.d.) Deviation Z-score Commented [r26]: List all speakers in all divisions in order
Varsity Policy Harvard Tina Mishi 28 28.2 (0.25) -0.2 -0.80
by z-score, from worst to best. If ties, break by deviation
J.V. Policy U. W. Karen Moffet 24 25 (1.5) -1.0 -0.67
J.V. L-D U. Oregon Tom Landry 22 23 (2.0) -1.0 -0.50
from worst to best, then points from worst to best, then
Varsity L-D U. Oregon Rana Dim 27.5 28 (1.5) -0.5 -0.33 random.
Commented [r27]: Alternate two white, two gray, two
white, etc. If there are an even number of speakers, end on
appropriate color. If there are an odd number of speakers,
there are two ways to end: three white, or two gray then
one white.
Reports for the league
A. How far apart were opponents in geographic distance for round 1, round 2, …, and on average, compared to
maximum possible distance?
B. How balanced were the schedules: did similarly ranked teams have similar average opponent seeds in
preliminary rounds? First, calculate the average opponent seed (preliminary rounds only) for every team. Then
calculate:
" " 2 CfG
∑CK> ∑GKCx> *”𝑎𝑣𝑒𝑟𝑎𝑔𝑒 𝑜𝑝𝑝𝑜𝑛𝑒𝑛𝑡 𝑠𝑒𝑒𝑑Y• − 𝑎𝑣𝑒𝑟𝑎𝑔𝑒 𝑜𝑝𝑝𝑜𝑛𝑒𝑛𝑡 𝑠𝑒𝑒𝑑Y– ” − 1, ∙ *3,
2 C
0.5𝑛(𝑛 + 1) ∑"CK> *3,
C. Continuing analysis of logit score, z-hybrid, and traditional ranking methods. How many rounds and ballots
(both preliminary and elimination rounds) does each ranking predict correctly?
D. Continuing analysis of logit regression. Would a different value of k fit preliminary rounds better?
1. Try different k values for each tournament
2. Try k plus a constant a (for side bias), where it is added if the team was affirmative and subtracted if it was
negative, e.g.:
−1
1 + 𝑒 …(‚ˆf†)x—
3. Try different k values for each event/division
4. Try different k values for each league or type of tournament (national, regional, etc.)
E. Continuing analysis of judge statistics
1. Are teams getting their preferred judges?
2. Are teams getting better scores from preferred judges?
3. Are judges getting the correct number of rounds off?
4. Is the adjustment of speaker points effective?
a. Adjusted points of a speaker should follow a Normal distribution over multiple tournaments (at least
more Normal than non-adjusted points)
b. Adjusted points of a team should be more predictive of results (wins and losses) over multiple
tournaments than non-adjusted points
c. A judge’s adjustments should be consistent for the same event/division in the same league—or at
least should be trending to less disagreement with community norms over time
F. Each decision point should be recorded in a play-by-play fashion that can be scrolled through forward or
backward, for analysis of how software fared at each moment

Sandbox
Should be able to create hypothetical teams, then run a whole tournament for testing and analysis.
Experiments should include testing league standing upload/download features.