New runpaces - home page- windows version

          Information on RUNPACES (Shareware Demo Version ofRUNPACE)

                  (c) Copyright Thomas J. Ehrensperger 1995

The purpose of this document is to supplement the information already
available in the program itself.  Note that when running the program, nearly
every prompt can be answered with an 'h' (lower case) to get help.

STARTING THE PROGRAM - RUNPACES.EXE is a directly executable file and can be
run simply by typing 'runpaces' at the DOS prompt or by clicking on it in
Windows or Dos Shell, ASSUMING the directory it's in is current.  This direc-
tory is probably C:\AOL\DOWNLOAD if you have just downloaded it from AOL, so
if that's where you keep it, you could type AOL\DOWNLOAD\RUNPACES directly
from the C:\ > prompt.  The program was originally written in QBASIC and com-
piled using the Quick Basic 4.5 compiler.

PURPOSE OF THE PROGRAM - This program provides a (unique, I believe) way of
modeling an individual's running race time versus distance relation, allowing
predictions of race times at various distances and comparison to a standard
performance curve to help evaluate relative strengths and weaknesses.  For
those who run 'on their own', it's a great tool for finding which performances
were really the 'best' and for planning a realistic pace to run for a distance
which is unfamiliar or at least not run recently.  For coaches, it provides
an objective way to arrive at realistic expectations and to guide the athlete
towards the events for which he/she is best suited.

WHY I WROTE IT - I've been a runner and running enthusiast since about 1976
and began analyzing my own pace versus distance data as early as 1977, as a
senior running track and cross country in high school.  I never got that good 
at it (4:56 mile for the curious), but I've been running ever since and keep-
ing data on it most of that time.  I got my degrees in physics (which I really
like) and started teaching it at the high school level.  By 1990 I was coaching
track and cross country and soon decided to try to attack the old pace versus
distance problem from a physics and physiology standpoint, using the computer.
I did this mostly for fun and just the challenge of it, but quickly began
applying it both to myself and to those I coach, with great results.  Now I
want to share it with others (though I am asking $10 for the full-blown version
since this represents a LOT of work).

HOW IT WORKS - The most basic assumption made here is that the energy used in
running an 'all-out' race can be thought of as coming from two sources, one
which is in more or less constant supply (the 'aerobic' component, roughly)
and another which can be exhausted (the 'anaerobic' part).  I also had to
make an assumption about the relation of power output to running speed.  It
(in the form of VO2 max plus other components such as accumulation of blood
lactate) is often assumed to be directly proportional to running speed, with
a small additional term for air resistance.  I assumed it to be proportional
to the SQUARE of the speed, based on a (perhaps oversimplified) physics based
model in which the energy is being used largely to accelerate and decelerate
the legs and arms.

The next step was to decide how much aerobic power was available.  This varies
from runner to runner, but correlates fairly well with performance in distance
events.  HOWEVER, two runners with, say, the same mile time might have quite
different aerobic power output (per unit body mass) since this race is partly
anaerobic as well.  Simply put, a runners 'speed' might compensate or a lack
of 'endurance' or vice versa and it's impossible to tell from a single race
how much of each was exploited.  For this reason, I decided to solve the
problem using TWO performances, since two equations are needed to solve for
two unknowns!

My first results were somewhat realistic, but the performance curve wasn't
quite the right shape, being too optimistic for distances outside the two
input and slightly pessimistic in between.  Any of my assumptions could have
been wrong, but I decided to modify the anaerobic part by making it depend on
race distance, the idea being that you simply can't get as 'exhausted' during
a very short race as during a very long one (though this idea of exhaustion
does NOT exactly correspond to lactic acid in the blood, which is not the
only component of the phenomenon anyway).  I little playing around with
functions of distance quickly brought the curve BEAUTIFULLY in line with the
large amount of data I had to check it against, which included my own and that
of athletes, aquaintances, and friends of widely varying ability as well as
that of world-class runners.  The only significant departures occurred at
very long distances (such as over 10 miles) and sprints (under 400 m).
Another term, perhaps corresponding to the phenomenon of glycogen depletion,
brought an appropriate correction to the very long distances and other terms,
such as reaction and acceleration time corrections, have brought the sprints
very nicely in line as well, though this demo version doesn't include races
under 400 meters.  

Generally, I've been able to connect these mathematical tweakings with real
physiological phenomena, but whether the labeling is correct or not, the
model reflects reality very well.  I am still wondering if my anaerobic
adjustment really reflects, at least partly, a small error in the overall
power-proportional-to-speed-squared assumption.  I now believe, after
reading more about it and curve-fitting treadmill test data I've seen (see
Coe and Martin reference below) that the function is best described by power
proportional to speed to a power between 1.2 and 1.7, at least if it's fit
to a power law.  It can also be modeled in more complex ways, such as the sum
of two or more power-law parts, but the results I've gotten seem so good
that I'm reluctant to tinker with this.

In short, the program finds a curve, based on a very reasonable physical/
physiological model, that fits the individual's abilities - regardless of
whether these are genetic in nature or due to training specificty - and 
makes predictions as well as evaluations of relative strengths (i.e. one's
best race distance).  This is not all the program does, however, as will be
discussed below.

COMPARISON TO OTHER MODELS - When I started on this project, and in fact
until quite recently, I had seen very little in the way of others' attempts
to do the same sort of thing.  As I've begun showing the program to others
and also as I've gotten access to the Internet, I've finally seen some of
these efforts.  Some are in the form of published tables while some others
are in the form of computer programs (often free).  For the most part, I
won't refer to these by name, in some cases because I don't remember but also
because I want to avoid pointing out the shortcomings of specific works
because, after all, my model may have shortcomings as well!  Nevertheless,
a couple of references below plus a little cruising on the Internet should
turn up most of the ones I've run across.

So what makes this program different?  For one thing, most (though not quite
all) of the others base performance on a single result.  While this has the
advantage of requiring little in the way of input, it does not at all address
the problem (discussed above) of the different makeup (i.e. speed/endurance)
of different runners.  Usually the models or charts seem geared heavily 
towards runners specializing in the longer distances (5 or 10 K and up) and
are quite far off when applied to, say, an 800 meter specialist who wants to
try the 1500.  In addition, some of these charts are really accurate only
for elite runners, with fairly inaccurate results for more modest achievers.
One attempt to address this can be found in Martin and Coe's book (referenced
below).  This consists of three sets of formulas - for 10K, 5K, and 1500 m
specialists.  Other than an obvious typo and some very minor discrepancies,
I found these to fit my program's output very closely if I used two points
for each formula.  Coming from such an authoritative source, this may be seen
mostly as a nice validation of my program, but still, it's three separate
formulas and one may not know offhand which to use.  There are also no
provisions for race distances other than the 5 or 6 listed or for runners
with other specialties.  In short, it's useful but incomplete.

Another approach I have seen really has a different purpose in mind.  A
number of 'equivalent performance' schemes have been devised (a good example
being Gardner and Purdy's reference below).  These can work very nicely, but
only over a rather limited range surrounding the runner's optimum event.  For
example, a miler who rates 700 'Purdy points' in that event probably rates
quite close to that in the 2 mile and the half mile, but outside this the fit
starts to stray significantly.  The authors acknowledge this problem and,
again, the issue of comparing performances at different distances in GENERAL
is quite separate from that of comparing an INDIVIDUAL'S performances at
different distances.

Finally, I've seen a model (and have heard of another, possibly different one)
that does in effect allow different sets of curves that can be sent through
two desired points.  The problem here is that I believe these to use rather
simple mathematical functions that only approximately replicate the features
of an actual performance curve.  The one I tried departed significantly,
though not severely, from reality.  Again, RUNPACE(S) uses a model that has a
sound physical/physiological basis and therefore fits real data much better 
than most arbitrary (even if inspired) choices of function are likely to,
though even this model contains 'free parameters' that have allowed me to
'bend' the curve to make it even more accurate.

At this point, I need to point out that some of these other approaches DO have
a place . . . in this program!  For example, a generalized performance curve
like Gardner and Purdy's allows a type of objective rating system and, when
used in combination with an individual's performance curve, allows one to see
which event that individual is 'best at'.  I had developed such a performance
curve based on world records, both for males and for females.  I also (though
you won't see it in this demo version) adapted this curve to fit U.S. records,
state high school records, etc.  I found later that these curves almost
exactly fit equal-Purdy-point curves, though I suspect the mathematical form
may be fairly different.

As a first attempt to use such curves to rate performances, I simply had the
program divide the individual's speed for a race by the generalized speed
for that race using the particular level used for comparison.  This works
well, however, only if the individual is being compared to a curve based on
runners of about the same ability.  Getting a typical high-schooler's speeds
as a percentage of world records, for instance, can be misleading.  A 'good'  
high school sprinter, for example, may run 100m only 10% slower than the
world record, while an 'equally good' high school miler might be nearly 20%
off world records.  To compensate for this effect, I developed a quantity
I call 'performance factor' (not surprisingly, I found recently that this
term has been used before for a similar type of rating).  This quantity equals
percentage of world records at the mile, but is skewed to yield lower values
at shorter distances and higher at longer ones so that, for example, the top
high school sprinter in a state should get about the same rating for 100 m as
the top cross country runner gets for 5K.  In this way, performance factor
measures essentially the same thing as do Purdy points, and the runner's best
event is approximately the one that yields his/her highest p.f.

As for curves based on only one point, there is some merit as well, since a
runner may have been running only one event in recent weeks.  For this reason,
the program does allow single entries, but to make the curve more realistic,
age and training data (in the simplified form of total miles per week, which
ideally assumes some appropriate-to-the-event balance ofspeed versus endurance
work).  Generally, higher mileages are assumed to be associated with greater
endurance versus speed and aging is assumed to have a similar effect, though
small since both endurance and speed show declines past about 30 years.  With
this information, the single point curve can be nearly as good as the two point
one, or even better if one of the two points was a significantly sub-par
performance.  Some small sex difference is included as well, though male and
female runners of similar ability have fairly similar performance curves.

Perhaps the program's most advanced capability is that it can sort through
up to four (up to nine in the registered version) different performances,
weed out the bad ones, and try every possible combination of two points to
yield the best one (though on very rare occasions with unusual data a point
could get missed).  It also can find the likely best performance of all and
take into consideration the curve suggested by the remainder of points as
well as the training and age data to generate a really accurate curve.  Both
options can be tried alternately on the same data set.  If the races span a
large range of distance and were all really good efforts, the 'best two'
method may be better; with narrowly spaced results and/or widely varied race
conditions or efforts the 'use all data' method is probably better.

Two other outputs generated are the 'fully aerobic training pace', which is
actually used by the program, and the 'aerobic threshold pace'.  The former
does closely represent an appropriate pace for longer training runs or 'easy'
days, with heart rate probably about 70% of maximum, especially for fairly  
typical distance runners, though sprinters' (who don't often run far anyway)
data may yield 'aerobic paces' that may be too slow.  The latter refers to
the pace at which lactic acid begins to build much more rapidly and is appro-
priate on certain types of 'hard' days.  This result is actually not very
sophisticated and is based on a suggestion from a Runner's World article a
couple of years ago (sorry I don't have the issue) that this pace was about
a 12K race pace.

In summary, I believe many aspects of this program's approach to be truly
unique and remarkably accurate over a very wide range of abilities and
distance specialties. A number of other options are available in the regis-
tered version.

necessarily limited to (since I will likely continue to add features as I
develop them):

* More up-to-date world record curve plus typical performance curves for
  several ability levels from high school through national records.

* Expanded graphing options, including a logarithmic distance scale graph
  ranging from 100 m to 100 km.

* 16 (instead of 10) standard distance outputs plus option to request time 
  for any distance of your choice, including adjustments to yield accurate
  data for sprints (under 400 m).

* Estimates of the effect of uneven first and last half split times on over- 
  all race performance.

* A variety of outputs which predict the effects of different grade hills
  on pace and race performance.  This uses the basic physical model and has
  been adjusted to fit quite a bit of data (mostly collected by me - talk
  about a workout!).

LIMITATIONS - Obviously, human beings are not as predictable as, say, solar
eclipses, so no model will be accurate for everyone all of the time.  Not only
does one's physical state vary widely from day to day, but the crucial mental
component may be quite fickle as well.  The type of runner that this program
really models well is the diligent, mentally strong type who trains intelli-
gently and can perform up to potential at will.  There actually are a lot of
runners like this, even in high school.  Self trained runners often have the
self discipline to perform consistently as well.

Course conditions and weather can have major and obvious effects as well.  The
program may have trouble predicting cross country times, as it really requires
the consistency of a track or flat course for best results.  Heat, while a
rather minor factor in races lasting only a few minutes, really takes a toll
in longer events.  Basically the program can only be as accurate as the runner
and conditions are consistent.

One potential problem to avoid is the confusion (to the program!) caused by
using results collected over a span of many years, or even weeks if one's
condition is changing rapidly.  Using a mile time run in high school with
a 10K run at age 40 may not be very meaningful, and for a runner peaking for
an important race, a result from three weeks previous may give a misleading
(often pessimistic) prediction.  As for training data, the 'miles per week'
is perhaps best thought of as an average over the last two months or so.  All
this is really fairly obvious, but mentioning it here should serve as a
reminder to consider these issues in choosing data to feed the program.  After
all, 'garbage in, garbage out'.

FINALLY - Feel free to distribute this shareware demo version of the program,
but please include this document as well.  If you enjoy the program and find
it useful, you might consider ordering (for just $10) the full capability
version (the address appears after you run the program).  I also welcome any
comments or suggestions.

Thanks for the download!


Martin, David E. and Coe, Peter N., Training Distance Runners.  Champaign,
Illinois, Leisure Press, 1991.

Gardner, James B. and Purdy, J. Gerry, Computerized Running Training Programs.
Los Altos, California, Tafnews Press, 1970.