What's the advantage of starting on Offense in a game?

July 2, 2025 By Alan Salzberg

What is the advantage of starting on offense in a game?

I spend a lot of time playing ultimate frisbee, so once we get to the math, this post will focus on that.  However, the general idea is the same for many sports.  In football, soccer, and basketball, what kind of advantage does starting on offense confer?  Before getting into the statistics, I am mostly talking about pickup sports.  In organized sports, there’s typically a timed start and end, with at least one point (halftime) in which possession switches, so any initial advantage of starting on offense can be (mostly) wiped out.  But when playing pickup, someone has to start with the ball and usually the game is played without a half to a particular score.

Let’s set the stage.

Suppose the team starting on offense is called Team A and the other team is called Team B.  Let’s also assume the game is played to some total (e.g., first team with 7 scores wins).  Assume the offense team *always* scores.  This means Team A will always be either tied or ahead by one score.  Therefore, Team A will always win the game if it is sudden death (sudden death means you can win by just one score). Even if there is a half-time at some score, after which Team B starts the second half on offense, the same outcome results.  Team A will get to halftime ahead by one, so Team B will still be playing catchup and will lose the game to 7 by a score of 7-6.

Extending from this simplistic assumption that offense always scores to the realistic assumption that offense doesn’t always score but has some advantage, the chance of winning is still better for Team A, because Team A is more likely to be the first Team to any set total.  How much better?  That’s what we’ll explore below, using the rules of my regular pickup Ultimate frisbee game, which is sudden death games to 7.

Rule Review for Ultimate

Here's a quick review of Ultimate.  The field is 110 yards by 40 yards, with the last 20 yards on each end being an end zone (so the field is 70 yards long if you don’t include the end zones).  A full game is 7 versus 7 players.  The game proceeds like football except for 2 things: 1) you can only move the frisbee on the field by throwing (no running with the disc); and 2) there are no downs—as soon as someone catches the frisbee they can immediately throw to another player.  You score by catching the frisbee in your end zone, after which you kickoff (“pull”) to the other team.  In other words, the scoring team starts the next point on defense (like in football or soccer). 

With such a big field and so few players, offense generally has a pretty big advantage.  Two good teams will score nearly all the time when they are on offense.  In a pickup game, which tends to have more erratic players (or good players playing more erratically!), there are a lot of turnovers, and offense scores less frequently.  We will work out the probabilities according to different scenarios.

Calculating the ways to win

As stated before, let’s call the team that starts on offense Team A and the team that starts on defense Team B. We will also assume we are playing games to 7 and you can win 7-6 (in other words, you do not need to win by 2). The only advantage Team A gets is on the first point.  After that the scoring team always pulls (so is on defense).

As explained above, if the offense team always scores, then Team A win 7-6 every time.  This is because it will start out 1-0, then 1-1, then 2-1, etc, all the way to 7-6.

I see no simple way to figure out the chances of winning if the chance of scoring on offense is less than 100%.  Therefore, for each possible winning scenario, I calculate the chances of Team A winning (i.e., 7-0, 7-1, 7-2, etc).  Even within each score, there are many ways to win, some more likely than others. 

In all, while there are only 7 scores 7-0, 7-1, …, 7-6 that mean a victory for Team A, there are actually 1,716 scoring combinations that result in a win for Team A. This can be figured out using “combinations”.  Let’s walk through a little to get an idea, focusing on Team A (and realizing Team B can win by the same score). 

Team A has 1 way to win 7-0, and that is winning every point of the first 7.  Team A has 7 ways to win 7-1, and that is losing either the first, the second, …, or the seventh point.  Note they cannot win 7-1 by winning the first 7 and then losing the 8th.  That would be a 7-0 win. The general idea is we can use the math of combinations to figure the ways to win 6 points in the first X points to figure out how many of each of the combinations there are (for more on combinations, see my older post about the lottery: https://salthillstatistics.com/posts/37 ). Note that Team A always needs to win the last point and that’s why only the first 6 scores can be at any time.

To figure out all the scoring combinations where Team win, we can add up the combinations that result in each score:

7-0: 1 =6 choose 6

7-1: 7 =7 choose 6

7-2:  28 =8 choose 6

And so forth.

In R this is

> choose(6,6)+choose(7,6)+choose(8,6) + choose(9,6) + choose(10,6) + choose(11,6) + choose(12,6)

[1] 1716

Computing the chance of winning

Now that I have all 1,716 ways that Team A can win, I can start thinking about computing probabilities. To do this I simply multiply the probabilities of the outcomes for each point in the game, which I assume to vary depending on whether Team A starts on O or D.

Let’s use the example of Team A winning 7-2 by the specific win/losses (W/D) point by point:

W,W,W,L,L,W,W,W,W

For the outcomes above, there are four relevant probabilities: 1) chance of winning on O, 2) chance of losing on O, 3) chance of winning on D, and 4) chance of losing on D.  Let’s call these four P(WO), P(LO), P(WD), P(LD), respectively.  Now, P(WO) + P(LO) must add to 1 and P(WD) + P(LD) must add to 1. For any given point only 2 of these four probabilities apply, and which applies depends on if Team A starts on O or D.

I also assume the outcome of any point is only based on the fixed chances P(WO), P(LO), P(WD), P(LD), and not the outcome of prior points.  This “independence” means I can just multiply the probabilities together to get the chances of any combination.  Going back to the above 7-2 combination of W,W,W,L,L,W,W,W,W, this means the chances are:

P(WO)* P(WD) * P(WD)* P(LD)* P(LO)* P(WO) * P(WD) * P(WD) * P(WD)

Recall in the above that the first point is always O for Team A and then subsequent points are O if Team B just scored and D if Team A just scored.

Suppose that P(WO) is .70 and P(WD)  is .40 for Team A, which means P(LO)=.3 and P(LD)=.6.  Then the chance of A winning 7-2 specifically by the point by point W/L of W,W,W,L,L,W,W,W,W is:

.7*.4*.4*.6*.3*.7*.4*.4*.4 = 0.000903168

While this is very small, this is just the chance of winning 7-2 with the exact point combination of W,W,W,L,L,W,W,W,W.  If we add up all point combinations resulting in a 7-2 win with the probabilities above, it is .058, or 5.8%. Using these probabilities and checking all combinations that have any win for A, I calculate the chance of A winning is 68%. 

The example above gave Team A a 70% chance of winning on O and a 40% chance of winning on D.  This means Team A is better.  Because, Team B must win 60% on O (the converse of A’s D win rate) and 30% on D (the converse of A’s O win rate).

I want to calculate the chances assuming Team’s A and B are well-matched.  In such a case, offense can still confer a decent advantage but P(WO) + P(WD) must equal 1 for both teams (note if it equals 1 for 1 team it must equal 1 for both).  Thus, we have a fair game, *except* that one team gains some advantage by starting on offense. 

First I calculate winning chances if each team has a 70% chance of winning on offense (and thus a 30% chance of winning on D).  Calculating the chances of winning for all 1,716 combinations of Team A winning the game, I find that Team A (which starts on O), wins 55% of games.  So the offense advantage is tapered some because it’s a game to 7 (in a game to 1, it would be 70-30 favoring offense).

How about if the teams are still equal but each has a 90% chance of winning on O and a 10% chance of winning on D.  Then Team A has a 67% chance of winning (almost exactly 2/3rds), just by virtue of starting on O.

A 95% chance of winning on O only gets you to 77%. 

A 99% chance gets you to 94%.

So the net-net of this is that in a 7 point game, a substantial (like 70-30) but not huge offensive advantage only gives a slight advantage to the team starting on offense when the teams are equally matched. But when offense is hugely advantageous, starting on O very likely wins the game for your team.

What about if teams are not equally matched?

Let’s explore what happens when the better team starts on O.

Suppose Team A, starting on O, wins 70% of O points and 50% of D points. So Team A is a good deal better, if you note that for equally matched teams, the chance of a particular team winning on O plus their chance of winning on D will be 100%.

Then Team A wins when starting on O 80% of the time (4-1 advantage)

If that better Team allows Team B to start on O, then Team A still wins 76% of the time (3-1 advantage)

In other words, if teams are not well matched, yielding the first point on O doesn’t really help. 

I tried one more combination: Team A is worse, winning on O 60% of the time and winning on D 30% of the time.  Then Team A, starting on O, wins the game 38% of the time (about 1 1.5 to 1 advantage.

Closing Thoughts

A game to 7 does not confer a big advantage to the team starting on O unless teams almost always score when they begin the point on O.  Though not calculated above, it should be obvious the shorter the game, the bigger advantage to the team starting on O (perhaps specific calcs in a future blog).

Addendum: Code

Finally, in this blog, I provide my code for calculating probabilities, which was written to run in Stata.  Note that toward the end I set the chances of winning on O or D (using “gen ProbWO=.70” and “gen ProbWD=.40”). If you want to change run the code and change the chances, just change these 2 lines.

Here’s my code:

clear

capture log close

log using winpercentages_20250522.log, replace

*

* First generate all WL combos in game to 7. FOr each point W=1 L=0.  For Offense/defense O=1 and D=0.  After the first point, O or D is determined by the outcome of the prior point since winning team always pulls.

* Maximum points is 13 (7-6 score)

* all combos is 2^13, but many will be eliminated because 1 team will reach 7 prior to that.

set obs 2

gen R1=_n -1

foreach num of numlist 2/13 {

gen byte R`num'=.

}

foreach num of numlist 2/13 {

expand 2

bysort R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13: replace R`num'=_n-1

}

*

* create random sort (useful for debugging)

set seed 20250522

gen rndnum=uniform()

sort rndnum

* Now get PF and PA at each stage, then eliminate all results once 1 team reaches 7.

gen PF1=R1

gen PA1=1-PF1

foreach num of numlist 2/13 {

local num1=`num' - 1

gen PF`num' =PF`num1' + R`num'

gen PA`num'=`num' -PF`num'

}

assert PA13+PF13==13

*

* now drop points beyond the time one team gets to 7

*

foreach num of numlist 8/13 {

local num1=`num' - 1

replace PF`num' =. if inlist(PF`num1',7,.) | inlist(PA`num1',7,.)

replace PA`num'=. if PF`num'==.

replace R`num'=. if PA`num'==.

}

* generate all final scores FF=Final Goals For FA=Final Goals Against

gen FF=max(PF7,PF8,PF9,PF10,PF11,PF12,PF13)

gen FA=max(PA7,PA8,PA9,PA10,PA11,PA12,PA13)

*

gen tmp1=1/4096

table FF FA if FF==7, c(sum tmp1) format(%6.3f)

* Final Win indicator

gen FW=FF==7

* win pct at various scores, mean is win pct, count is number of times situation comes up if random

tabstat FW if PF8==6

tabstat FW if PF9==6

tabstat FW if PF10==6

tabstat FW if PF11==6

tabstat FW if PF7==5

tabstat FW if PF8==5

tabstat FW if PF9==5

*

* Now take into account whether on O or D, varying probability.

*******************************************************************

** HERE IS WHERE WE SET THE WIN/LOSE POINT PROBABILITIES

*******************************************************************

* Assume For team starts on O for now; set Win prob on O and D

* For evenly matched teams these should sum to 1

gen ProbWO=.70

gen ProbWD=.40

*******************************************************************

*******************************************************************

gen ProbLO=1 - ProbWO

gen ProbLD=1 - ProbWD

* O point indicator, Prob of results (PnumR)

gen O1ind=1

gen P1R=ProbWO if R1==1

replace P1R=ProbLO if R1==0

* all other points based on prior point

foreach num of numlist 2/13 {

local num1=`num' - 1

* Rnum=1 if O won point O, so use that to see if on O or D

gen   P`num'R=ProbWO   if (R`num1'==0 & R`num'==1)

replace P`num'R=ProbLO if (R`num1'==0 & R`num'==0)

replace P`num'R=ProbLD if (R`num1'==1 & R`num'==0)

replace P`num'R=ProbWD if (R`num1'==1 & R`num'==1)

* replace =1 if game is already over

replace P`num'R=1 if R`num'==.

}

gen double POutcome=P1R*P2R*P3R*P4R*P5R*P6R*P7R*P8R*P9R*P10R*P11R*P12R*P13R

* need to drop double counted instances now

bysort R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13: keep if _n==1

tabstat POutcome if FF==7, statistics(sum count)

tabstat POutcome if FA==7, statistics(sum count)

log close