# How to calculate IAAF points?

The ways to translate results into IAAF points are published in form of huge tables. I am working on a statistics system and need to calculate these points. Retyping all of the tables seems a bit much to do.

Are there underlying formulas behind these tables? How can I calculate these points using less than a million of stored values?

Half a year later I can answer this myself.

The formula is

``````points = floor(conversionFactor * (result + resultShift)^2 + pointShift)
``````

And all the smarts are within knowing the coefficients. But let's start with something simpler to understand what's going on.

# Track events

In track events the result is measured against a reference time. Your improvement with respect to the reference is then squared and multiplied by a certain factor that converts squared seconds to points.

### Example

Let's consider 100m in outdoor for men. The reference time for this event is 17 seconds in the 2017 edition.

Suppose John ran the distance in 11.78 seconds. That is 5.22 seconds better than the reference time. John's result is thus equivalent to 24.63 * 5.22^2 = 952 points (just drop the digits following the decimal point at the end). The 24.63 is a coefficient specific to this event.

The formula for track events can be expressed like this:

``````points = floor(conversionFactor * (reference - result)^2)
``````

# General formula

The other events have one more event-dependant coefficient.

But first, the result is shifted by a number (similar to comparing with reference in track events).

The shifted result is then squared and multiplied by a factor. And this is then shited by another number.

The formula can be expressed like this:

``````points = floor(conversionFactor * (result + resultShift)^2 + pointShift)
``````

This formula can also be used for track events by setting `resultShift = -reference` and `pointShift = 0`.

# Implementation

For any developers I have created a PHP library to calculate points. You might also be interested to inspect the source even if you have to do this in another programming language.

• Hi man, great work on deciphering the above. I am thinking of converting you php library to python and was wondering if there is any way to do the pdf to excel conversion within python or some other language? Sep 14, 2018 at 11:59
• @chemeng That would surely need two operations - read the PDF and write the Excel. But reading tabular data from PDF is usually quite hard and buggy... For calculating the points I'd suggest you just steel the coefficients from this file and calculate the points in your code. Sep 15, 2018 at 8:03

From Mick Bromilow Department of Mathematics & Statistics, The Open University article Towards a fairer scoring system in athletics Changes for 2014:

The International Amateur Athletics Federation (IAAF) tables by Dr Bojidar Spiriev, called the Hungarian Scoring Tables. The scoring system used in these tables is based on the formula

Score = A * |P - B| ^ C

where P is the performance (in seconds or metres), B is the base performance below which no points are scored and A and C are parameters calculated for each event. These parameters are not published but it is straightforward to determine them using mathematical software.

Other article: cs.uml.edu

From IAAF Scoring Tables of Athletics for Indoor and Outdoor may be significant to question:

As it is natural after a 3-year period, certain results and scores became disproportionate, corrections of different volumes had to be made with creating new formulas.

# IAAF Scoring Tables for combined events have formulae.

IAAF Scoring Tables for Combined Events Pdf file contains formulae to calculate the point score (P) For a given performance.

Track events P = a * (b - T) ^ c where t is time in seconds e.g. 10.43 for 100 metres.

Jumps P = a * (M - b) ^ c where m is measurement in centimetres; e.g. 808 for long jump

Throws P = a * (D - b) ^ c where D is distance in metres e.g. 16.69 for shotput

a, b and c are parameters whose values are listed below. * stands for multiplication, and ^ stands for exponentiation.

Note that the value of P (points) must be rounded down to a whole number after calculation (e.g. 123.999 becomes 123).

Parameters (constants for each event):

Note that points for manual times in events up to 400 metres are calculated either by adding the standard adjustment factor to the time (i.e. 0.24 sec. for events below 400 metres, 0.14 sec. for 400 metres) or by subtracting the factor from the "b" parameter. There are no adjustments for events above 400 metres.

Note: Included Blockquote and picture are copied from linked pdf of IAAF.

• Unfourtunately these are "IAAF Scoring Tables for Combined Events". The points that I'm looking for are in "IAAF Scoring Tables of Athletics" and points are quite different (also there are a lot more events in the general tables). All of the tables are here: iaaf.org/about-iaaf/documents/technical but only the Combined Events tables have formulas published :( Sep 2, 2017 at 15:05
• @Džuris Yeah I knew that just thought may help, +1 to your answer and question. Newly added part may be more significant if not suggest edit or recommend deletion. Sep 2, 2017 at 15:42