Register | Login
Attackpoint - performance and training tools for orienteering athletes

Discussion: Gnarliness Value Calculations

in: Orienteering; General

Feb 29, 2008 11:42 AM # 
jingo6390:
I am trying to understand how the Gnarliness Values are calculated. I can't seem to get the same values that appear in the rolling rankings on the USOF website. Here's an example: Yellow course # 37 has a GV of 1852. The USOF competition rules state:

"The Course Difficulty is calculated from the average of the Personal Course Difficulty of each competitor, which is the competitor's ranking points for that race multiplied by their time in minutes.

a) This calculation is circular, so the Iteration Method is used to determine each competitor's ranking points. All competitors start with 50 points, and the calculations are repeatedly performed until the results converge.

For Yellow course #37 is step 1 the following?

Jaxon Rickel - 50 x 19.15 min = 957.8 (new competitor)
Gilbert Coyle - 50 x 26.10 min = 1305 (new competitor)
Zachary Lyons - 79.25 x 28.30 min = 2242.8 (existing competitor)
Kate Soerensen - 32.20 x 42.80 min = 1378.2 (existing competitor
Catherine Yekenvicz - 50 x 114.75 min = 5737.5 (new competitor)

Is that the first step?

Advertisement  
Feb 29, 2008 1:10 PM # 
vmeyer:
Methodology

This may help answer your question.
Feb 29, 2008 1:18 PM # 
jjcote:
Yes, that's the first step, but you can't consider one isolated race with the iterative system that USOF uses. The PGVs (personal gnarliness values) that you calculated get mushed together to form a tentative GV, and each competitor's time gets divided by that GV to yield ranking points for the event. Then each competitor gets a tentative ranking by throwing out some number of his/her worst races from the past year and averaging the remaining ones. Then you do the whole process again, over and over, until the numbers stop moving. It's not practical without a computer program. With a larger pool of competitors, particularly when most of them have established rankings that are based on a large number of races, you'll be pretty close after the first step, but for this Yellow course, the numbers are going to do a lot of squirming before they settle down.
Feb 29, 2008 1:26 PM # 
vmeyer:
Yes, I have observed that it takes the program many more iterations for the White and Yellow courses to be finalized.
Feb 29, 2008 1:32 PM # 
jjcote:
Also note that it's not just this race that the circular calculation happens for — all of the rankings for everybody who ran that level course, and all of the GVs for all of the courses of that level during the past year, also get recalculated each time around the loop. If you tried to do it with pencil, paper, and a calculator, you'd never get done before the next A-meet came around.
Feb 29, 2008 7:37 PM # 
JanetT:
Valerie, perhaps you could add a link from the Rankings page to the Methodology page you quoted above? I'll add it on the USOF Results page too (I wasn't sure that was the methodology still being used).
Dec 10, 2008 1:10 PM # 
O-scores:
Dear Valerie,

I was trying to use the Methodology you describing to get scores for our BAOC sprint series and after several hours of getting into details I came to worrisome conclusion.

The clause:
"
11) The scores are normalized (multiplied by a constant) so that the top three finishers average 100 points.
"
Is it applied after each race or only at the final results at the end of the year?

Paper and pencil tell me that if you normalize after each race, which you (program) seemingly do, all GV values business disappears,

I can predict convergence point of the iterations you are doing with great accuracy (actually with infinite theoretical accuracy) without ANY iterations.

It will be equal to one over your time. Normalize to top 3 after this and here you go.

My main point is:

= If scores are normalized after each race, previous and past scores do not matter AT ALL, resulting score will be always the same for that race.

Therefore resulting score will always be the same for all races altogether. No iterations needed

The main reason to have iterations and GVs would be to compare races one to another on absolute scale.This is impossible if normalizations are performed


I understand that I'm making a very strong statement here and understand that there are many people who thought about it and checked everything out, but still, let's think.
Dec 10, 2008 1:48 PM # 
Tundra/Desert:
Shura, you seem to be confused. The algorithm is linear in scores, so the answer to your question is, it doesn't matter. You can renormalize after each iteration, or once only at the very end; it only would matter if there are rounding errors, i.e. insufficient precision. The renormalization applies to the whole set of scores for everybody for the whole year, not to each individual race. Scores for all races for everyone on a given color course get multiplied by the same number, and this number is such that the average of the "average scores" of the top 3 is 100.

There's one little item that concerns this averaging of one's scores for the year, and I'm not sure this detail is explained in the official rules, it used to be that one could understand the text both ways. For example, if someone runs 6 races, her best 5 scores count. This throwing away of one score is only made at the very end, not after each iteration. You can do the calculation the other way, too, and then people who run lots of races under varied conditions (or are unpredictable) tend to get a relatively lower score. The difference in practice is no more than 1–2 USOF points.
Dec 10, 2008 4:34 PM # 
jjcote:
I had assumed that the "throwing out" occurs at each step, but I don't know how Kent implemented the software (and I don't actually know how it was implemented in the earlier Riley/Cusworth version, either). I may well be wrong, and it may well be that doing the "throwing out" would result in instability in some pathological cases.
Dec 10, 2008 4:51 PM # 
vmeyer:
At this time, we are using the Riley version.
Dec 10, 2008 5:39 PM # 
Sandy:
I seem to remember that the last time I looked at the code, the throwing out occured at the end.
Dec 10, 2008 5:57 PM # 
bishop22:
I have a spreadsheet that uses this methodology to rank cross country runners and predict times at the next race (BTW, it works surprisingly well, although the ratings of the very top teams' runners tend to be underestimated, since they tend to train through many of the early season races). When I try to "throw out low scores" during each step (by pasting the iteration's "rating", rather than the iteration's "average"), convergence never seems to happen. I'm no math expert, but guessing that you have to maintain conservation of information between iterations to converge.
Dec 19, 2008 10:09 PM # 
O-scores:
Thanks for the clarification. The crucial points were Harmonic Average at step 3 and Global Averaging as a concept.
I implemented algorithm with couple lines in MATLAB and it converges for 200+ people and 15 races in mere 12 iterations (less then a second) to accuracy of 0.05 in 100 points based system, which is more then enough.
The results seem to be interesting and are different from our standard non-gnarliness-adjusted results.
Dec 19, 2008 10:15 PM # 
Tundra/Desert:
The results seem to be interesting and are different from our standard non-gnarliness-adjusted results.

I don't understand this sentence. The results of what are different from whose standard results, and why are "our standard" results considered to be non-gnarliness-adjusted?
Dec 19, 2008 10:18 PM # 
Tundra/Desert:
Oh, I think I do—you applied the standard USOF algorithm to BAOC Sprint Series. Sorry. My fault.
Mar 4, 2009 12:16 AM # 
O-scores:
I was playing for some time with above-mentioned methodology, applied to BAOC Sprint Series 2008.

and what bothered me a lot is lack of reliable predictable and CONTINUOUS normalization.

I recently found a cute and reliable way to normalize scores and get most of it.

http://leshij.org/O-web/methodology/BAOC_Methodolo...

Everybody welcome to comment.

Shura
Mar 4, 2009 1:26 PM # 
Tundra/Desert:
Yes, comment I shall. I think it's a fluke that the average BAOC Sprint Series runner scores about 50 USOF (Blue) points. Had you chosen a different population, you would have had a different average. The average of a population is a poor thing to normalize to, and it should become very evident once you get, say, a large group of JROTC.

IOF does something quite similar in that they normalize their points (which are calculated differently from USOF points in that they are linear in time, not in speed) to the average runner, but they go to pains to exclude the slowest people. There is a "threshold of slow" that one must be faster than, in order to be considered a part of the population. Perhaps with a similar constraint it would make sense to normalize USOF/BAOC points to the average of the faster population.
Mar 4, 2009 5:19 PM # 
O-scores:
To Tundra:

Well, I think I can hold the argument and we as a community ca clarify many questions I have.

I must state one more time that I'm coming at that particular moment from strictly ACADEMIC background and care only about several theoretical issues, such as:
CONTINUITY( everything changes slowly),
CONSISTENCY (if there are two ways to get to the same number, number should be the same at the end of both ways) and
UNIFORMITY ( similar events treated similarly)

I'm not saying current system doesn't stand to these criteriaa, I'm just checking whether it is without prior prejudice, OK?

Now lets go along the lines of your answer

First of all:

> I think it's a fluke that the average BAOC Sprint Series runner
> scores about 50 USOF (Blue) points.

It is OK, with me.... ( maybe because I have no clue what 50 Blue points are? :)

Do you think it is higher or lower? :)

Now the question: What is 50 Blue points. Is it or should it be different then 50 Yellow points?

My Opinion:

UNIDORMITY tells me that 50 Yellow points should be the same as 50 Blue, meaning you with 100 Blue points run Yellow with gnarliness 2000 in 20 minutes and run Blue Sprint with gnarliness 2000 in the same 20 minutes. And runner with Yellow 50 points runs same Blue sprint in 40 minutes if finishes.... and same yellow in same 40 minutes.

I'm not talking here about the fact that most people running and even winning Yellow will be 30 point runners and it might be not politically correct to tell them that. We can normalize it later, before the award ceremony. But I would like to be able to predict how much time it will take me to run Yellow course even if I always run Red, and I think CONSISTENCY should allow me to have that.

And one more example on importance of CONSISTENCY

Here is data from http://www.usof-rankings.org/ for "O in the Oaks Sprint"

Event # GV Course Date Club Event Description
34 1026 Blue 2008/11/14 BAOC O in the Oaks Sprint
38 1247 Red 2008/11/14 BAOC O in the Oaks Sprint
47 1387 Green 2008/11/14 BAOC O in the Oaks Sprint
35 1878 Brown 2008/11/14 BAOC O in the Oaks Sprint

I was not running O in the Oaks, Sprint, but What would my performance be if I perform to my normal level? My age puts me into Blue, but I normally run Green. and my score is about 50 in Sprint Series.

GV is different by factor of 80% for EXACTLY the same course, just because of the fact that set of slower runners registered for brown and set of faster registered for Blue.
This doesn't have sense to me.

Score As I propose to define it is stable and continuous measure of persons performance and will not change after his 55th birthday (if he do not broke his leg, of course)

My opinion:
One course should have one GV, then winner in Blue will get his 100 or so points, and winner in Brown get his 60 or so points, which demonstrate his actual ability to run the same course.
Normalize later when award presentation is coming to make everybody A student...

> Had you chosen a different population, you would have had a different average.

You are correct here.
But I only care about CONTINUITY, which is preserved. As I tried to say in my write-out, given population fairly large, average moves quite slowly, unlike average over top 3 leaders which changes drastically ( up to 20%) within couple races with presence or absence of SINGLE high level runner.

> The average of a population is a poor thing to normalize to, and it should become very evident once you get, say, a large group of JROTC.
I first was going to write : I'm eager to prove that you are wrong",
but I will say : " I'm eager to get this large JROTC population data and test my hypothesis against it, as the only data set I have is BAOC, and then we talk with numbers at hands", scientific, eh?

> IOF does something quite similar in that they normalize their points (which are calculated differently from USOF points in that they are linear in time, not in speed)
Do you have reference to their methodology? It will be interesting to see.

> to the average runner, but they go to pains to exclude the slowest people.
I would be strongly against it as this contradicts UNIFORMITY again, nothing should be excluded

> There is a "threshold of slow" that one must be faster than, in order to be considered a part of the population.
> Perhaps with a similar constraint it would make sense to normalize USOF/BAOC points to the average of the faster population

Well, this is similar to what they did in formula1 when you have to be in 107% in order to get to the start. It would be not so difficult to implement by just calling some slow people as Non Qualified (in a way equal to DNF)

My current thought here is that such drastic measures only are important in high level professional events ( and it happens in a way by pre-qualification) , or if one would have disproportionally high number of recreational ( should-be-white) runners on blue course, which is definitely not the case of BAOC Sprint, and most probably not the case in most of our events. Worst I can imagine to happen is that average will drop and top people will constantly be getting 120-150 scores, which his not important to me.
NOTE: Remember in my post I did plain normalization to 50 point average and top runner automatically was in 100 point zone. This is not required by any normalization and could be different if different population were taken.

Shura
Mar 4, 2009 5:43 PM # 
j-man:
Shura--I thank you. I don't know how Tundra will respond and I will not attempt to get up to speed with your argument. But, the fact that it exists and has been put forth will allow me to gauge Tundra's bandwidth, or perhaps his utility function. Will he respond to you, will he continue to argue with me about butterfly loops, will he turn into a giant green guy? I can't wait to find out!
Mar 4, 2009 6:54 PM # 
O-scores:
To whyjustrun:
Te effect you are describing is actually VERY VERY SMALL in any real situation with 10+ people running, and it is getting even smaller if presence of all red and green runners who didn't get lost or injured is taken into account. On the other side If you got one fast BROWN Runner in current system your score can easily decrease by factor of up to 15% without any particular reason. As well as all Blue runners scores will change if injured runner is one of the top 3....
Mar 5, 2009 1:23 PM # 
feet:
whyjustrun is right that relative performance is not constant across different courses, but the example he should have used was courses of different difficulty. Take two runners who run the same speed, one with 20 years orienteering experience and one who has run only white courses. Put them on a white course and they will run the same time. Put them on a blue course and the experienced runner will win by far. This means that your desire for 'uniformity' and 'consistency' cannot sensibly be satisfied, particularly if you want to combine very different types of courses (eg easy sprints and technically hard long distance courses). Any ranking system that wanted to do that would have to include 'gnarliness factors' for each course for at least two variables (loosely, winning time at full speed and technical difficulty), but more might be needed as well. But then you just add noise to your ranking system because you are multiplying the number of 'nuisance parameters' (the course fixed effects, that you don't really care about) by at least two; and you would only gain more information for your estimation if there were lots of people who frequently switched courses (so that you could gain knowledge about how good different populations are relative to each other). So what you propose would have the effect of making rankings less informative, basically.

You may have less of a problem if you rank uniformly across brown and above and leave off sprints, but you can't sensibly include white/yellow/orange in an 'overall' ranking scheme.
Mar 5, 2009 1:39 PM # 
Tundra/Desert:
I have been writing a long reply to Shura but feet beat me to the essence of it.
Mar 5, 2009 1:53 PM # 
j-man:
This very problem (viz., applying a USOF-like recursive ranking system across all courses) has been encountered in DVOA, and *not* [edit] surprisingly, not tidily resolved.
Mar 5, 2009 4:26 PM # 
O-scores:
Feet:
First of all, I agree qualitatively with your suggestions. It seems like having White/Orange, Brown/Blue and Sprint as three separate entities could be reasonable.
Second, It really amuses me how easy people go with something like "can't sensibly include". This is all question of numbers only. And as I mentioned too many times by now and nobody notices (or intentionally ignores?) current system allows jumps of 15-20% within couple races and nobody cares.

In the meantime nobody, including me can not estimate the magnitude of the effect of putting everybody together ( maybe even white-Blue)! Or any other effect discussed above, BTW!

All your points are one sided in a way Yes we are loosing stability, but what if we are gaining much more then we are loosing?!

What of there is very big correlation between sprint and Brown/Blue? What if White inclusion brings no difference because practically it is not correlated at all, how can you be so sure? I'm not at all...

At the same time inclusion would make life easier, allow white runners of COOL drift into higher levels seamlessly, etc...

As NPR Marketplace says "we'll talk when we get the numbers"...

I'm close to making database with all our results and it seems to be quite easy to implement any algorithm on top of it and show included/excluded results to the interested public for evaluation

Let's stay cool :)

Shura
Mar 5, 2009 6:01 PM # 
Tundra/Desert:
What you lose when you pool things together is predictivity. Unlike other ranking systems, USOF points are numerically predictive of future performance, with caveats and given specific conditions. You are willing to void these conditions so that the resulting set of data will be predictive of nothing.

Shura, I have watched the system over at least 17 years, and seen plenty of test runs over competition data with this tweak or that tweak. The system is really well understood by the few people who run it and a few bystanders. I'm sure you'll be part of this club soon.
Mar 5, 2009 6:49 PM # 
feet:
OK, so I got my first point acknowledged.

Now, I was a little harsh to whyjustrun before because conditional on not polluting the data with mixed course types, the next thing to worry about is the 'injury' problem.

Here's another version of it.

There is a season of several races. Usually runners A and B run course 1 and runners C and D run course 2. Runner A usually finishes in half the time of runner B. Runner C usually finishes in half the time of runner D. Great, runner A should score twice runner B and runner C scores twice runner D. Ranking them with a mean score of 100 on each course separately, we should give runner A 133 1/3 points and runner B 66 2/3 points. Likewise runner C should get 133 1/3 point and runner D should get 66 2/3 points. But we don't know how to give them all a combined ranking because we don't know how good A and B are relative to C and D (and if you try, you'll find your ranking algorithm will converge to different places depending on what your starting point is).

Now suppose one day runner B switches to course 2, and finishes in the same time as runner C. Aha! Now, we can conclude that runner B is the same speed as runner C, so that the scores should be: A, 150; B and C, 100, and D, 50. Great!

Only problem is, we can't actually tell from this story whether course 1 is the gnarlier course and runner B is switching because he is injured, so he is going to run slower today, or whether course 2 is just easier (which is what the rankings assume). In the first case, the rankings we just assigned are totally meaningless (perhaps on a normal day B is twice as fast as C, so the 'true' rankings are A: 213.3, B: 106.7, C: 53.3, D: 26.7?)

In other words, rankings from pooled data will be biased if the reason people switch from course to course is non-random. If it is random, then your pooled ranking will be a better measure of speed than would each course's separate rankings (because you'll have more data). If it is non-random, you get a selection effect which will probably have the effect of biasing upwards the score of runners on easier courses.

(Plus, my initial point that if there are only a few runners who switch courses like this over the season, then random variation in their performance will have a big effect on relative rankings of the course difficulty, and therefore that your ranking system will be a noisy measure of speed, is still valid. You can see it here because your ranking system for the four runners depends critically on what time B runs in his one race on course 2.)

You are right that there is an empirical question of how big this bias is, but since it goes the same direction as the omitted-variable bias and also the nuisance-parameters bias, I think we're on safe grounds not investigating too much further unless we have lots of time to play around.

I wasn't involved in designing the USOF scheme, but it makes plenty of sense to me, much more than the modification being proposed.
Mar 5, 2009 6:53 PM # 
O-scores:
It is great. Let's say I'm doing this little exercise because nobody offered me the source code to the current stable system, and the one we have right now for BAOC use is not as stable as one would wish...

In the best case I will converge to the same results as USOF and we will have CONSISTENCY in place :)
Mar 5, 2009 7:08 PM # 
O-scores:
Speaking about the data: Can anybody (Valerie?) give me raw data of let's say USOF 2008 season as some kind of Excel/CSV like file, so I would not need to copy/paste data from the webpage?
Thank you in advance
Mar 5, 2009 8:42 PM # 
vmeyer:
Raw data is in the seven course files, and sure, you are welcome to them. You are also welcome to the source code, as is anyone who asks. Check your email for a zip file.
Valerie
Mar 6, 2009 3:02 AM # 
Tundra/Desert:
Shura, from my unsent post—you should expect somewhat different relative ranking points if you rank Blue and Red together vs. each one separately; more different points if you rank Blue and Green together vs. separately; and vastly different points for Blue and Brown together vs. separately.

The curious thing with the present system is that if you do a separate run of Middle-only for a particular color, and Long/Classic-only, the results are largely consistent and don't differ by only a few points. If you do a Sprint-only run, however, you'll get points that can be off by 10 or 15. Strangely, if you throw the Sprints back into the soup, they don't seem to spoil the soup that much, only adjusting people's points by at most three.

So why is it that a Classic Red rankings calculation for a given year gives relative rankings that are closer to a Middle Red and not to a Middle Blue, despite similar length? One reason can be that the extra technical complexity in the Middle makes up for extra length. The other can be that our course setters aren't being particularly successful in setting Middles that would test people on a set of skills that would be distinct enough to show up distinctly in the rankings.

Back to my earlier point—the figure of merit in whatever improvement you attempt to come up with is the predictivity. Take the relative rankings for a rolling year, and then take a few Middle/Classic races immediately following that year and run a correlation. You'll be amazed with what you see. I haven't seen the numbers, but I would imagine that Sprint-only rankings are similarly predictive for Sprints.
Mar 6, 2009 8:03 AM # 
Jagge:
http://www.usof-rankings.org/rslt/2008_eoy_blue_ra...

Looks like top 3 finishers get always at least 10 points more if it is long raceand not sprint one. Even if field is same and same names are placed top.

If I got it right US champs winner scored only 86 points, and winners of North American Championships sprints got 92 and 94 points. In a long races one can be placed 5-15th about 15 min behind and still get similar points. Is this intentional? Or did I got something wrong - I just peeked points without tring to find out first what it is all about? But looks like if a top runner likes to get ranked #1, the key would be skipping all short/sprint races. Even winning a sprint might lower top runner's averages.

One wuold think if all top guns of a continent are racing against each other in a championship races the average score of medal winners would always be about the same - no matter how well the rest of the competitors are doing or how long the race is.

But like I said, I don't know much about the issue didnät chek the formula and I guess I have misunderstood most of this.
Mar 6, 2009 8:58 AM # 
Tundra/Desert:
You are mostly correct, Jagge. There was a discussion about this some (not much) time ago, and it was very clear to its participants that Sprints are a different animal as far as Rankings are concerned. A Sprint-only ranking looks just like you described, people bunched more together.

A political decision was made to leave things as they are (continue to throw Sprints into the same pool). Doing so boosts the ranking of those ranked in the 60's on Blue by a couple points at most, and decreases the ranking of the 100-pointers by a couple points at most. It does not change relative placing on the ranking list, with a very small number of exceptions (I recall that in the year for which we did the tests, which was probably some part of 2006 and 2007, this number of runners whose placing this would affect was about two or three).
Mar 6, 2009 1:38 PM # 
AndyB:
Easiest "gnarliness factor" calculation back in UK several years ago was relative placing of Eddie Harwood and Simon Beck relative to rest of field. If Eddie or SImon (plus boiler suit) won M21 by 5-10mins it always meant that the forest was very gnarly and not a place to take small children!
Mar 6, 2009 5:57 PM # 
O-scores:
To not upset you with silence I want to say that I'm taking time out.

Current core algorithm is implementable in excel 2007 in 4 lines without even VB usage, so there is no point in discussing it longer without actual numbers.

Therefore I decided to make a database instead of copy/pasting around excel files. This will simplify data extraction later and allow testing of different data sets easily.
First results : found misprint Two Browns counted as Day 1, while second one must be day 2.
5071 Brown 2008-2-16 NTOA Interscholastic Championships and Texas Stampede Day 1
4912 Brown 2008-2-17 NTOA Interscholastic Championships and Texas Stampede Day 1

I got data from the Events worksheets, not sure how deep problem goes.

Database creation takes some time...
Mar 6, 2009 6:07 PM # 
vmeyer:
First results : found misprint Two Browns counted as Day 1, while second one must be day 2.
5071 Brown 2008-2-16 NTOA Interscholastic Championships and Texas Stampede Day 1
4912 Brown 2008-2-17 NTOA Interscholastic Championships and Texas Stampede Day 1


I appreciate you pointing out the typo, as I do when others report errors they find to me via email. The date of the events is correct as listed.
Mar 7, 2009 12:04 AM # 
vmeyer:
I got data from the Events worksheets, not sure how deep problem goes.

I have to wonder just what you are questioning here. The potential of many more data errors on the basis of a typo in a informational field?
Mar 7, 2009 12:37 AM # 
vmeyer:
Why aren't you perfect Valerie? =)

Need an off day every once in a while? :)
Mar 9, 2009 6:25 PM # 
O-scores:
To Valerie

> I have to wonder just what you are questioning here. The potential of many more data errors on the basis of a typo in a informational field?

I mean that I do not know whether the field is informational or it is used in further calculations for Gnarliness for example,

F.E if Event Name and Course name are used as unique identifiers of a race then the person will be counted as running different race then he actually was
If date is used also than the person will be running unique race nobody was actually in. If it is informational, It will not affect anything.

5071 Brown 2008-2-16 NTOA Interscholastic Championships and Texas Stampede Day 1
4912 Brown 2008-2-17 NTOA Interscholastic Championships and Texas Stampede Day 1
Mar 9, 2009 6:35 PM # 
Sandy:
The races are numbered; that is the unique identifier. That is why when you look at results by race, the races are numbered.
Mar 9, 2009 6:56 PM # 
O-scores:
whyjustrun:

When I was talking about algorithm I said "core" meaning exactly what you did with PERL. Sample is 2007 Excel here
You have to enable circular references.

As for database is concerned.
In the files Valerie sent me I found 7500+ records, 1500+ runners, 35+ events, isn't it enough for database justification?
And this is just one year of 2008....
Mar 9, 2009 7:24 PM # 
O-scores:
Database is up and running by the way. Here is example
Runners with initials D.F. and their Races

Desmond Fleming 4
Donna Fluegel 12
Dwight Freund 2
Dan Felitsky 14
Dean French 3
Don Fallis 2
David Frehulfer 1
make your Query :)
Mar 10, 2009 4:12 PM # 
O-scores:
whyjustrun: this is why I would strongly prefer to use your PERL instead of EXCEL
Apr 3, 2009 12:33 AM # 
O-scores:
I'm coming close to the finalizing of the generalized USOF power calculation algorithm, which would allow comparison of runners from different classes

Goat is perfect application for this algorithm and here are the sample results

http://leshij.org/O-web/methodology/Golden_Goat_Re...

I'd like to get your comments

[edit]
Here is database table with last two Goats. Consider Power as predicted score and compare with reality.
Apr 3, 2009 5:51 PM # 
coach:
In an event like this many people benefit from running in a pack, this seems to boost some, and others who "fall off the back", do worse.
It is only ONE race, so I would expect quite a few exceptions.
Apr 3, 2009 9:13 PM # 
RLShadow:
I'll ask a real dumb question: What is meant by gnarliness value?

The second post on this thread, by vmeyer, references a document that goes into a lot of detail, but from what I can tell, it doesn't mention gnarliness. Just wondering what it is supposed to mean, and what its significance is.
Apr 3, 2009 11:13 PM # 
O-scores:
gnarliness is called "Course Difficulty" in Methodology

The purpose of gnarliness calculation is comparison of one race to another. By definition runner with 100 Power must run race with 5000 gnarliness in 50 minutes (5000/100)
races newer can be equal and this allows to compare performances...
Apr 4, 2009 12:01 AM # 
jjcote:
Roughly speaking, "gnarliness value" is the product of the ranking and the time on the course (in minutes) for a "typical" runner. For any given runner, the PGV (personal gnarliness value) can be calculated by this multiplication, and then the GV for the course as a whole is calculated by combining all of the PGVs in some manner (the exact method used for mashing them together has varied, but I think USOF Ranking currently uses the harmonic mean). A course can have a high GV because it is long, or because it's steep, or because it's thick, or because it's very technical, or some combination of the above, but in general, the higher the GV, the longer it will take any given person to run the course.

I take great pride in having coined the term "gnarliness value" about 18 years ago, to differentiate from the corresponding number being used by the USOF rankings at the time (which might have been called the "scoring constant"). Every time I see someone using it, I smile.
Apr 21, 2009 11:10 PM # 
O-scores:
while moving ahead with calculations, I got several unresolvable for me questions. Can somebody try to clarify?
= Somebody N.O. ran 2 Red races and then two Blue races during a year. And did very well.. How Somebody should treated in the rankings? Assume Somebody is Red by age class.

= Person constantly runs one or two classes higher than person's age, gets out of shape and runs couple of races in persons appropriate class. What happens with rankings?

= somebody about to turn 19 in 2009 but keeps running X-18 color of races at the beginning of the year. What is going to happen at the end of the year when somebody will have to run color for X-20?

= Per the above mentioned matter, how any person on the edge of classes should be treated during the year when person starts running new color and all previous year races are of different one?

Thanks, in advance
Apr 22, 2009 1:04 AM # 
feet:
I believe in all these cases that you have a separate ranking on each course on which you have competed enough times to be ranked (separately), no matter why you did it. This isn't quite optimal use of information but it is sufficiently rare for people to be ranked on multiple courses that it is not a big deal in practice.

I stand ready to be corrected by the more knowledgeable if this is not right.
Apr 28, 2009 9:00 PM # 
O-scores:
Here are the results of my work in spare time.
Please be critical.

http://leshij.org/O-web/php/definitions.php

Shura
May 14, 2009 10:15 PM # 
O-scores:
I see Valerie posted the results for last meet
http://www.usof-rankings.org/rslt/2009_05_05_blue....

and it might be good time to continue discussion about generalize power algorithm with numbers in hands

Thanks to whyjustrun for PERL algorithm, it was used as a base for the PHP algorithm.
Thanks valerie for data, feet, tundra and others for advises, even though I did not always followed them.
J-man: if you like results, I can import existing or future DVOA data into table and you can get same type of Club oriented treatment as BAOC gets now.

Overall power algorithm gives results which are almost indistinguishable from current one "rank-position-wise" for the blue runners

http://tinyurl.com/qy4zyu

Several non significant place changes for those who's competition was tight anyway and minor difference in algorithm naturally mixed them up slightly.

For those who runs NOT Top Blue or Red,
please go here and select your age class, remember my algorithm is "color blind", allowing you to compare yourself with different color runners. After all color selection is arbitrary and some Green courses are on the level of reds or even blues.

Sprint
http://tinyurl.com/r8ednr
Classic
http://tinyurl.com/ocj4ps

One of the major interesting "unpredictable" findings of this research is that people running various colors over the course of year in average get the same scores independent of color. This is true even for top runners running Orange or even White.


For absolute top ratings (Blue) go here
Sprint
http://tinyurl.com/pd95ws
with pure Classic
http://tinyurl.com/qhvtoh

same for Women (Red) here
http://tinyurl.com/pl5yl7
and here
http://tinyurl.com/oyp8xm

Notice that Sprint often, but not obviously and for all brings worse scores for the runner.

There are many other possible investigations which can be done for those who like to play with numbers.
Enjoy

P.S. please tell me about any detected bugs, as I have no way to fix them if not told about them.

This discussion thread is closed.