Docs›Scoring System›Handicap & Strokes

Handicap and Strokes

Real Course 7 of 8: Handicaps Explained | RoundBoss Watch on YouTube (opens in a new tab)

RoundBoss uses a rolling average system to calculate handicaps and determine stroke allocation between opponents. All parameters described below are configurable in Scoring Configuration.

Rolling Average

Each player's handicap is based on their average recent gross score. The rolling window is state-based: it uses the last N results a player has actually played (a score or a missed week) in weeks before the current week — not calendar weeks, and not pre-generated future weeks. The league manager sets how many results are included in the window (default 5). When a player doesn't yet have enough played results, their established handicap acts as the seed/fallback.

Handicaps update automatically after each week's scores are in. Players can see their current handicap on their profile page.
Because the window counts only weeks actually played, pre-generated future weeks on the schedule never dilute or freeze a player's average. Managers can also enable Drop Highest (handicap_drop_highest) to drop the N highest scores from the window before averaging.

At-the-Time Average

Your average for a past week is the average you carried into that week — it doesn't change as later rounds are played. Makeup rounds are scored against that at-the-time average, not your current average.

When a week locks, each match freezes the as-of-that-week average as a snapshot. That snapshot is what shows on past weeks and is used for makeup and miss scoring. Your current average is shown only for the current or upcoming week (and during live scoring).

Grace Periods

For early-season weeks, managers can configure two grace periods (both default 0, meaning no grace):

  • Seed grace weeks (seed_grace_weeks) — Seeded players keep their seed (established handicap) for weeks 1 through N. After that, the rolling average takes over.
  • New member grace weeks (new_member_grace_weeks) — Unseeded players get no average and no strokes for weeks 1 through N, until they've built up enough of their own scores.

Calculating Strokes

When two players are matched, the stroke difference is calculated as:

strokes = floor((higher_avg - lower_avg) * multiplier)

The multiplier (default: 0.9) prevents over-correction -- without it, higher-handicap players would be fully equalized, removing the advantage of consistent low scoring. The result is rounded down to a whole number.

Applying Strokes

1
Determine stroke count

Calculate the stroke difference using the formula above.

2
Identify hardest holes

Find the hardest-rated holes on the course, starting with the hole rated as the number one handicap hole.

3
Apply reductions

On the designated holes, the receiving player's score is reduced by one stroke before comparison with the opponent.

For example, if a player receives 3 strokes, those strokes are applied to the three hardest holes. On those holes, the receiving player's score is reduced by 1 before comparison.

Worked Example

Player A averages 42, Player B averages 48. With a 0.9 multiplier:

strokes = floor((48 - 42) * 0.9) = floor(5.4) = 5

Player B receives 5 strokes on the 5 hardest-rated holes on the course. On those holes, Player B's score is reduced by 1 before comparison.

Per-Player Handicap Overrides

Managers can override the handicap for a specific player on a specific match. This is useful when a player's calculated rolling average does not reflect their current ability or a league rule requires a one-time adjustment.

  • Overrides are set from the Match Settings modal on the week view
  • The override applies only to that single match — it does not change the player's rolling average or affect other weeks
  • Both players in a match can have independent overrides (Player A and Player B each have their own override field)

Team Handicaps for Scramble and Alternate Shot

A scramble or alternate-shot team plays one ball, so it gets one team handicap. Choose how in Settings → League Basics → League Format → Team Handicap Method. The settings page shows a live example ("a team with handicaps 5 and 25 gets N strokes") using the same math the scoring uses.

MethodHow the team handicap is built
Team rolling averageThe team's own recent team scores over par, times the Stroke Multiplier, rounded down. Details below.
% of combinedAdd up the members' handicaps, multiply by the league percentage, round down. Scramble default 25% (adjustable 10–50%); alternate shot default 50% (adjustable 0–100%).
USGA weightedRank the members from lowest to highest handicap, multiply each by their own percentage, add them up, round down. The USGA recommended percentages are the default and you can edit them per team size.
GrossNo handicap strokes. Teams are ranked on gross score.

USGA recommended scramble percentages (lowest handicap first):

Team sizePercentagesExample
2 players35% / 15%5 and 25: 1.75 + 3.75 = 5.5 → 5 strokes
3 players20% / 15% / 10%10, 20 and 30: 2 + 3 + 3 = 8 strokes
4 players25% / 20% / 15% / 10%8, 12, 16 and 20: 2 + 2.4 + 2.4 + 2 = 8.8 → 8 strokes

For comparison, 25% of combined gives the 5-and-25 team floor(30 × 0.25) = 7 strokes. A team size with no percentages set (for example a 5-player team) falls back to % of combined. For alternate shot, USGA weighted means the USGA foursomes allowance: 50% of the partners' combined handicaps.

Team rolling average (the default for new non-WHS scramble and alternate-shot leagues) handicaps each team on its own recent team scores. For each round, the first rule that applies sets the team's strokes:

  1. A Handicap Override you set on that round (Schedule → Weeks → the week → the team's Team Settings button).
  2. The team's rolling average: its last N team rounds from earlier weeks, where N is the league's Score Pool Size. Each round counts as its gross minus the par of the holes it played, and Drop Highest Scores drops the worst. Strokes = the average over par × the Stroke Multiplier, rounded down, never below 0; the team's handicap cap still applies. It uses the rounds the team actually played, so a missed week or a pre-built future week never freezes it. Rounds played with a substitute, rounds marked Exclude from Handicap, and missed rounds don't count. Before a team has rounds, its Starting Team Average is used if you set one (Roster → Teams → edit the team). It's a gross team score, like 40 on a par-36 nine (+4). It's used until the team has played Seed Grace rounds (0 = until its first round).
  3. The members' starting handicaps, when every member has one (% of combined at the league percentage; WHS: USGA weighted).
  4. Gross (0 strokes) otherwise. Rounds are never held for a missing handicap, so in a brand-new league week 1 plays gross, week 2 uses week 1's score, and so on.

Example with a pool of 5 and a 90% multiplier: rounds of +6, +4, +9, +3 and +5 average +5.4, so the team gets floor(5.4 × 0.9) = 4 strokes. Score Pool Size, Drop Highest Scores, Seed Grace and Stroke Multiplier are in Settings → Scoring & Handicaps → Handicap / Average. If you enter an earlier week after a later one, the later week is re-scored automatically (unlocked weeks only). The Roster → Teams page shows each team's current average and next-round strokes, and which method is in use.

Which leagues use which method by default. New non-WHS scramble and alternate-shot leagues start on Team rolling average. Leagues that existed before it and never picked a method keep the rule they always had:

  • Rolling average and established leagues: % of combined.
  • WHS leagues: USGA weighted, unless the league has its own scramble or alternate-shot percentage set, in which case % of combined. Switching a league to WHS selects USGA weighted.
  • In WHS leagues, each player's handicap index is first converted to a course handicap from their own tee, and the team method is applied to the course handicaps.

Players with no handicap yet. With % of combined or USGA weighted, a team whose member has no handicap has its rounds held: saved, not scored, and left out of the standings until the manager sets that player's starting handicap (Roster → Teams, edit the team). Held rounds then score automatically. You can also switch the method to Team rolling average or Gross, or set a Handicap Override on the held round (it scores as soon as you save). Gross and Team rolling average never hold a round. A 0% of combined league doesn't hold rounds either.

Cap and per-round override. A team's handicap cap (below) limits the team handicap from any method. A manager can also set a per-round team handicap override in the week view's Team Settings; the override replaces the calculated team handicap for that one round.

Changing the method mid-season. The method is a scoring rule. Saving a change re-derives every unlocked week from its stored scores under the new rules. Locked weeks are always frozen — there is no "apply to all weeks" choice; to change a locked week's result, the manager unlocks that week on purpose first.

Team Handicap Cap

For team formats — Best Ball, Scramble, Alternate Shot, and Team Match Play — managers can set a per-team default handicap cap that limits the effective handicap strokes a team receives.

  • The cap is configured per-team on Roster → Teams (Handicap Cap field, 0–72). Leave blank for no cap.
  • It propagates automatically to every future unlocked round for that team — past rounds are not modified.
  • Each round (or each side of a Team Match Play matchup) snapshots the cap at creation time, so editing the team cap later doesn't change frozen rounds.
  • Per-round overrides via the Match Settings or Team Settings modal still beat the cap (precedence: session override → persisted override → cap → live handicap).
  • Setting the cap to 0 enforces scratch play (no handicap strokes).
  • Team cards show a cap chip ("capped from X.X" hint when the rolling avg exceeded the cap); MatchupCards in Team Match Play show a "Cap: A N / B N" badge.
Use cap=0 for scratch weeks where you want teams competing without any handicap adjustment. The cap snapshot mechanism means you can change the team's default later without retroactively re-handicapping completed weeks.

WHS Handicapping & Per-Tee Ratings

How the WHS index is calculated

WHS leagues follow the official Rules of Handicapping effective January 2024 (USGA/R&A):

  • Hole scores are capped at net double bogey (par + 2 + strokes received on the hole), or par + 5 before the golfer has an index (Rule 3.1). A round entered as a total only counts its total as is.
  • Score Differential = 113 ÷ Slope × (adjusted score − Course Rating), rounded to the tenth (Rule 5.1). There is no daily Playing Conditions Calculation.
  • 9-hole rounds are combined with an expected 9-hole score from the golfer’s current index (0.52 × index + 1.2). Before the golfer has an index, two 9-hole rounds are combined into one 18-hole score (Rule 5.5).
  • The index averages the lowest differentials of the most recent 20 (3 rounds: lowest 1 − 2.0; 4: lowest 1 − 1.0; 5: lowest 1; 6: lowest 2 − 1.0; up to 20: lowest 8). An index needs 3 rounds (54 holes) and is at most 54.0. Until then the golfer’s starting Handicap Index from their profile is used.
  • Exceptional scores (a differential 7.0 or more below the index) lower the last 20 differentials by 1.0, or by 2.0 at 10.0 or more (Rule 5.9).
  • Soft and hard caps start with the 21st differential: a rise of more than 3.0 over the golfer’s lowest index of the past year keeps only half the excess, and it never rises more than 5.0 (Rules 5.7–5.8).
  • Which rounds count: played rounds from earlier weeks of the league. Missed weeks, fun weeks and rounds marked Exclude from Handicap don’t count, and neither does a week without a rated course.
  • Strokes: each index becomes a Playing Handicap: Index × Slope ÷ 113 + (Course Rating − Par), from the golfer’s own tee (half the index for 9 holes), times the league’s Stroke Multiplier, rounded once (Rule 6.2a). In match play the higher Playing Handicap receives the difference.

Per-tee ratings

Leagues using the WHS (World Handicap System) method can set up multiple tee ratings per course. Navigate to Course Settings and open the Tee Ratings (WHS) section to add tees with their own slope and course rating values.

Each player's preferred tee (set in Managing Players) determines which tee ratings are used when calculating their WHS handicap. If no matching tee is found for a player, the system falls back to the course-level default slope and rating.

Per-tee slope and rating only apply to leagues using WHS handicapping. Leagues using rolling average handicaps are not affected.
Some GSPro catalog tees have no official course rating or slope (notably "Par 3" tees and other par-3/executive/9-hole courses). RoundBoss leaves these blank instead of inventing a number — you'll see "No official rating" wherever that tee is shown. Handicaps still calculate: a missing slope uses the standard 113, and a missing rating means no (Course Rating − Par) adjustment. A round on a course with no rating does not count toward a WHS index.
Handicap configuration settings in the manager dashboard
Handicap configuration in Settings