<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
   "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>NSWC Slalom Ranking Explanation for 1997</title>
</head>
<body bgcolor="#ffffff">

<!--#include virtual="/stdheader.html" -->

<center><h1>NSWC Slalom Ranking Explanation for 1997</h1></center>

<p>
<h4>SLALOM RANKINGS</h4>
<b>Calculations Used to Determine 1997 Slalom Rankings</b>
<p>
The algorithm used to compute these rankings is the same as that
used in 1996. 
<ul>
<p>
<i>Alternative algorithms will be evaluated during 1998.</i>
<b>Don't Panic!</b>
The algorithms being considered give substantially the same results
as the current one; the major difference is that they represent
attempts to utilize the difficulty of the race rather than its
importance.  At high-level races, this makes almost no difference:
important races like Team Trials <i>are</i> hard.  Where it does
make a difference is at mid-level races, which fluctuate in
difficulty due to course design, changing water conditions, etc.
<p>
So don't change your training or travel plans: the way
to move up in rankings will remain unchanged: go to harder races
and beat stronger paddlers.
<p>
If you are interested in participating in the discussion or development
process, then contact me -- my info's below.
</ul>
<hr>
<p>
Here's a step-by-step explanation of the algorithm used
for 1997 rankings.  If you don't want to read all this,
skip to
<a href="#THEEND">the end</a>.
<p>
0. The data used is that which is available right here, on the
<a href="../results"> 1997 Race Results</a> page.
<p>
1. Each race's data is reshuffled into the same format:
<pre>
Class Name(s) Time-1 Penalty-1 Total-1 Time-2 Penalty-2 Total-2 Better-Score  Total-Score
</pre>
<p>
Obviously, not all of this information is available for every race; fields
which are not available from the race results are left blank.
<p>
2. The classes for each race are translated from the many names that show
up in results to a list of canonical racing classes.  Here's an example
of part of the translation table used to do this:

<pre>
	C-1		C-1
	C-1W		C-1W
	C-1W_expert	C-1W
	C-1_(A/B)	C-1
	C-1_A/B		C-1
	C-1_C/D		C-1
	C-1_Cadet	C-1
	C-1_Expert	C-1
	C-1_Jr		C-1
</pre>
<p>
3. Results for classes which don't currently get ranked -- that would be
open boats, recreational/plastic/cruiser decked boats, K-2, squirt boats,
sit-on-tops, etc.; are dropped.
<p>
4. Scores with DNS, DNR, or DNF are interpreted numerically -- this is
just used to gather race statistics.
Speaking of which,
<a href="./stats.html">statistics for every race used in rankings</a>
are available.
<p>
5. If a race was scored with 2 seconds for touches/50 seconds for misses,
nothing happens in this pass.  But if it was scored with 5 seconds/50 seconds,
the penalties are recalculated to the 2/50 system.
<p>
6. Every paddler's name is converted to canonical form, which I've hopefully
spelled correctly.  Here's an example:
<pre>
	Carleton Goold		Goold, Carleton
	Carleton Gould		Goold, Carleton
	Carlton Gould		Goold, Carleton
	Goold, C		Goold, Carleton
	Goold, Carlton		Goold, Carleton
	Gould, Carleton		Goold, Carleton
</pre>
<p>
7. Every race result is converted into this form:
<br>
<br>
Class=Name Score Ratio
<br>
<br>
where "Score" is their combined-run total score for the race, and "Ratio"
is the ratio of their score to the best-score-of-the-day.  
For example, from the Riversport Slalom:
<br>
<pre>
K-1W=Thomas,_Natalie	471.65	1.904
K-1W=Potochny,_Evy	462.75	1.868
K-1W=Gelblat,_Renee	531.46	2.145
K-1W=Hearn,_Cathy	270.49	1.092
K-1W=Weld,_Kara		272.07	1.098
K-1W=Beakes,_Nancy	317.22	1.280
</pre>
Boats which did not complete two runs are dropped at this point.
<p>
8. The ratio from the previous pass is inverted to give a competitor's
race ratio: this number reflects how far off they were from the
best-score-of-the-day.  (The boat with the best score of the day has
a race ratio of 1.0.)  Two lookups happen: last year's rank class
(A, B, C, D or Unranked), and membership on the national A team.
(The reason for this is that the strength-of-field assignment is
based on this.)
<pre>
K-1W=Thomas,_Natalie	0.525	C
K-1W=Potochny,_Evy	0.535	U
K-1W=Gelblat,_Renee	0.466	C
K-1W=Hearn,_Cathy	0.916	ATEAM
K-1W=Weld,_Kara		0.911	ATEAM
K-1W=Beakes,_Nancy	0.781	B
</pre>
In the case of boats which competed in the same race class more than once
(e.g. K-1 Masters and K-1) only the better of those two results is used.
<p>
9. Each race result is weighted by the race weight; the race weight
is given by
<pre>
(Field Strength + Importance Factor)
------------------------------------
              20
</pre>
where field strength and importance factor both have maximum values
of 10; thus the race weight has a maximum value of 1.0.

The table of assigned field strength and importance factors, along
with the criteria used to make these assignments, is here.

Continuing the example above, and using Riversport's field strength
of 9 and importance factor of 5:
<pre>
K-1W=Thomas,_Natalie	0.367
K-1W=Potochny,_Evy	0.374
K-1W=Gelblat,_Renee	0.326
K-1W=Hearn,_Cathy	0.641
K-1W=Weld,_Kara		0.638
K-1W=Beakes,_Nancy	0.547
</pre>
This number is a competitor's race weight: think of it as "how much
credit you get for doing this well at this race against this competition".
<p>
10. All results from all races are combined.  If a paddler has done
more than three races, their best (highest) three race weights are
selected.  If a paddler has done only two races, they're assessed a 5%
penalty; if only one race, a 10% penalty.  These results are then averaged
to give the competitor's rank ratio.
Same example as before:
<pre>
K-1W=Thomas,_Natalie	0.350	Bellefonte,Riversport
K-1W=Potochny,_Evy	0.366	Lehigh,Riversport,Bellefonte
K-1W=Gelblat,_Renee	0.369	Lehigh,Codorus,Farmington
K-1W=Hearn,_Cathy	0.841	Trials-3,Trials-2,Nationals
K-1W=Weld,_Kara		0.824	Trials-3,Trials-2,Nationals
K-1W=Beakes,_Nancy	0.654	Trials-2,Trials-1,NOC-DBH-2
</pre>
<p>
11. The results are sorted by rank ratio and separated by racing class.
Each boat's percentile rank within its class is assigned, based on
the boat having a value of 100.0.  Letter classes (A,B,C,D) are assigned
based on percentile rank.  Two more lookup tables are used: one to
assign agegroups (e.g. Jr, Sr, Ms) and one to mark non-US paddlers.
<p>
Here's the table used to decide the assignment of letter classes
based on the percentile rank:
<pre>
"A" Ranked		85% to 100%
"B" Ranked		65% to 84%
"C" Ranked		40% to 64%
"D" Ranked		below 40%
</pre>
<br>
Note 1: Agegroups are provided for informational purposes only and have
no impact on rankings.
<br>
<br>
Note 2: The presence of non-US paddlers also has no impact on rankings,
since the breakpoints for class assignments as well as the cutoff for
automatic admission to Team Trials are assigned on a percentile basis,
not on the number of boats.
<p>
12. That's it.  Please note that although all the calculations were
done to several decimal places, that does <b>not</b> mean that rankings
are accurate to that degree.  For example, the difference
between a rank ratio of .453 and .456 falls well within the
variability of manual timing systems.
<p>
Also, please note that paddlers who did well at important races
with high field strength numbers may be ranked ahead of paddlers
who beat them head-to-head.
<p>
For those of you who want the techie details, all
the scripts are written in Perl and run on a Unix system.

<hr>
<h4><A name="THEEND">Summary</h4>

The overall formula that was used is:
<br>

<pre>
best score of race   (field strength + importance factor)
------------------ X ------------------------------------ X penalty
competitor's score                   20
</pre>

where the field strength and importance are assigned from this table:

<table>
<tr><td><strong>Factor Points</strong></td><td><strong>Field Strength (fastest times)</strong></td><td><strong>Importance of Race</strong></td></tr>
<tr><td>  10</td><td>4 National "A" Team athletes</td><td>Olympic/National Team Trials</td></tr>
<tr><td></td><td></td><td>U.S. Nationals</td></tr>
<tr><td>9</td><td>3 National "A" Team athletes</td><td>CIWS Finals</td></tr>
<tr><td></td><td></td><td>Junior Trials</td></tr>
<tr><td></td><td></td><td>Jr/Sr/Ms Nationals</td></tr>
<tr><td>8</td><td>2 National "A" Team athletes</td><td>CIWS Qualifiers</td></tr>
<tr><td></td><td></td><td>Junior Olympics</td></tr>
<tr><td>7</td><td>1 National "A" Team athlete</td><td>Team Trials Qualifier/USOF Qualifiers</td></tr>
<tr><td></td><td></td><td>Mid-America Series</td></tr>
<tr><td>6</td><td>"A" ranked athlete</td><td>Divisional Championships</td></tr>
<tr><td></td><td></td><td>Major Cup Series, Major Double Headers</td></tr>
<tr><td></td><td></td><td>Junior Olympic Qualifiers</td></tr>
<tr><td>5</td><td>"B" ranked athlete</td><td>Other Local/Regional Races</td></tr>
<tr><td></td><td></td><td>C-D Race Series</td></tr>
<tr><td>4</td><td>"C" ranked athlete</td><td>Citizens Races</td></tr>
<tr><td>3</td></tr>
<tr><td>2</td><td>"D" ranked athlete</td><td>Flatwater/Pool/Jiffy Slaloms</td></tr>
<tr><td>1</td></tr>
</table>
(Any race falling into multiple categories in the table above is assigned
the factor from the highest category.)
<p>
The <kbd>penalty</kbd> (see step 10 above) is
1.0 for any boat doing >= 3 races,
.95 for any boat doing 2 races,
.9  for any boat doing 1 race.
(See step 10 above.)

<!--#include virtual="/stdfooter.html" -->

<!-- $Id: note.html,v 1.14 2003/03/08 03:55:53 rsk Exp $ -->
</body>
</html>
