The MACC Handicap System

The MACC program divides racers into ability classes using a handicap system. See the Classes page for the table that defines all MACC classes in terms of handicap.

This page introduces the concepts behind MACC handicap, and the next page describes more advanced details.

A reference technical memo is also available: The MACC Handicap System.

What Are Handicap (HC) and ZPT?

The handicap is the extra time that a racer took to finish the course, relative to a reference. For example, a HC of 60 indicates that the racer time was 60% longer than the time of a hypothetical racer with zero HC. The reference time of the hypothetical racer with zero HC is called the Zero Par Time (ZPT).

For NASTAR, all courses are supposed to be identical in difficulty. Your NASTAR handicap is the percentage you are slower than the national pacesetter whose HC is defined as zero.

With our system, your HC is supposed to be the percentage you are slower than a hypothetical 0-HC racer on a Slalom course.

An exact description of the 0-HC racer does not exist. This lack of definition has no effect on our use of HC, so it will probably stay that way for a while. (The expression "for a while" roughly translates as "until the end of time.")

How Does HC Relate to Race Time?

In the figure below, HC values are plotted against the race times for one of our races. (HC values are on the vertical axis; times are on the horizontal axis.) The HC values for the day are shown with green dots. They all fall on a line that matches the HC equation. Old HC values are shown with red dots.

If everyone skied their handicap every run, then all dots would fall on the line. Red dots above the line represent racers whose old handicaps (red) are higher than what they got in the race shown. Red dots below the line represent racers whose old handicaps are lower than what they got in this race. Red dots that are far below the line represent racer runs where the racer was a lot slower than expected. (Happens to all of us, right?)

What Is Course Factor (CF)?

We all know that the spread between fast and slow skiers depends on course conditions. On an icy slalom course, an intermediate skier might be 100% slower than an expert racer. However, on a flat hill with few turns (e.g., NASTAR), the difference might only be 50%.

The HC range associated with a class does not depend on the type of race. Our intent is that if a racer skis different courses with about the same skill, a similar HC should be obtained. For example, compare the figure below (slalom) with the first figure (GS). The handicap range is similar: a little under 60 to around 90 for most of the racers. However, the range in times is much larger. For GS the times of the racers (including pacesetter) ranged over a spread of about 15 seconds. For slalom, the range is 25 seconds, if bad runs are thrown out.

We account for the difference between GS and slalom, and between "easy" and "difficult" courses by using a course factor (CF).

The equation used to calculate racer HC is:

HC is proportional to the difference between a racers time and the ZPT. The time difference is multiplied by a factor that increases when CF is low. For example, if T is 25% higher than ZPT, the HC would be 25 if CF is one. However, if CF is 0.5, the HC would be 50.

For our courses, race times are always closer for giant slalom than they are for slalom. That means the CF values for GS are usually lower than those for slalom.

Ideally, the CF should be very close to 1 for all slalom races. If the race is particularly difficult, the CF could be higher. Our maximum allowed value is 1.2.

For GS, the CF should be less than 1. We expect values near 0.8, and allow a range from 0.5 to 0.9. The previous figures show how the equations typically differ for GS and slalom.

How Do We Determine ZPT and CF?

The equation above has two independent coefficients: ZPT and CF. For each course, we compute values for those two coefficients. Following are some methods that could be used. (Note: only one method can be used at a time—they are not compatible with each other!)

  1. Use statistical methods to determine the ZPT and CF that best match the existing HCs for racers and/or pacesetters.
  2. Manually enter a CF value and use statistical methods to determine the ZPT that best matches the old HCs for racers and/or pacesetters.
  3. Manually enter a ZPT value and use statistical methods to determine the CF that best matches the old HCs for racers and/or pacesetters.
  4. Manually enter the ZPT and CF coefficients.

The above methods are ranked by compatibility with old data. Method #1 ensures that the new HC values are as compatible as possible with the old values. Method #4 ignores old HC data completely.

We use methods #1 and #2. We try #1, and if the CF is within the range expected for the type of race (0.8 — 1.2 for slalom, 0.5 — 0.9 for GS), then that equation is used. If not, then our software automatically uses method #2 with the CF appropriate for the type of course.

How Are Pacesetter Times Used?

Pacesetters are absolutely essential in some programs, such as NASTAR. In our program, they are optional. As shown in the figures above, we "grade on the curve." If your time is average for the course, you will get an average handicap, no matter what the pacesetters do. But what if your time is not average?

If you race on course #2 and you beat the average time by 3 seconds, should you get a strike? If we have no data except for the times of the course #2 racers, we can make a guess. If we also have pacesetter times, then we can make a much better guess. If your time is closer to the pacesetter than your competition, congratulations and prepare for a strike. However, if your time is still much slower than the pacesetter, then it was just a technically demanding course and you still have a ways to go.

Pacesetters are supposed to have the qualities that:

  • They are very consistent in terms of their own HC.
  • They are among our fastest racers.

The pacesetter results primarily affect the CF, because they define the difference between the average results for the racers on a course and racers who are significantly faster.

If we don't have pacesetters for your course, then the CF is determined just by the histories of the racers on the course. Although the calculations are theoretically valid, we lose independent quality control. Therefore, we try to use pacesetters whenever possible. Not only do we want pacesetters, we try to have three pacesetters per course because we can then tell if some of the pacesetter runs are not typical (in that case they are not used).

Which Racers Are Used to Determine ZPT and CF?

Racers are not equal in ability or consistence. How do we choose which racers to use in the "statistical analyses" that produce ZPT and CF? Here are some considerations in the current software.

  1. The software looks at the consistency of HCs for past races. Only racers whose HCs are very similar are even considered. We don't care if a racer is fast or slow—just consistent.
  2. Because there are many more regular racers than pacesetters, each pacesetter is treated statistically the same as 10 regular racers.
  3. A preliminary analysis is done and HCs are calculated for all racers and pacesetters. The calculated HCs are compared to the past results, and times that are inconsistent are automatically removed from the calculations. This is to eliminate exceptionally bad runs (falls, climbs, etc.) and racers who have made significant improvements.
  4. A final analysis is done using only the times accepted after step #3. This typically involves 50% to 80% of the timed runs.

Overall, the above method is designed to maintain compatibility with past results to the maximum extent possible.

Wow! Tell Me More?

So, those are the basic of HC.

We track HC separately for slalom and GS, so you can see how your HC's compare. (Upgrades are based on the lowest of the two.) For each race, we determine ZPT and CF independently for the first and second run. So, if everyone is 2 seconds slower on the second run, the HC's will be similar.

More details of the HC calculations are covered in the handicap details page.

MACC Handicaps

A handicap system is used to place MACC racers in appropriate ability classes, and to determine when racers should upgrade or downgrade to different classes.

MACC Class definitions
Handicap Calculations (pt 1)
Handicap Calculations (pt 2)

Handicap Theory (PDF)


The handicaps are determined largely by past histories of most of the racers competing on a course. Pacesetters provide quality control, and influence the handicaps of racers who are much faster or much slower than the average racer for the course.

Calculating and Reporting Handicaps

Handicaps are computed for all race times. However, the handicaps shown in the results on a race day are subject to adjusment and are not considered "final" until after the first MACC meeting that follows the race.

Handicaps are calculated using different equations for the first and second run, in order to compensate for differing course conditions. Therefore, identical times on the first and second runs can result in different handicaps.