Team Performance Visualizations & Analysis

Carnegie Mellon Sports Analytics Camp (CMSACamp) 2026

Author

Julia Biesiada

Published

June 19, 2026

In this file, I use the team-level data frame to create visualizations that compare team performance, scoring efficiency, turnovers, and tactical playing style by throwing. Each visualization includes my analysis and interpretation of the main patterns.

1.1 Goal Differential by Team

This lollipop chart shows each team’s plus/minus, which is goals scored minus goals conceded. Teams above zero scored more goals than they allowed (green), while teams below zero allowed more goals than they scored (red).

1.2 Analysis

Ten teams finished positive, led by Empire (+~270), with Breeze, Flyers, and Windchill close behind in a clear top tier.

The bottom is more extreme than the top: Mechanix (~-450) and Nitro (~-260) are far worse than any team is good, nearly doubling Empire’s margin in the opposite direction.

The middle of the league (Glory through Cascades) is tightly bunched near zero.

This analysis shows the overall trends across teams, but it would help to go deeper into the “why” specifically, what’s making Empire and Breeze’s strong performance, and what’s behind Mechanix and Nitro’s struggles.

2. Team Efficiency Scatter Plot

This plot compares each team’s goal ratio and turnover ratio. The dashed lines show the league median, which divides teams into four groups: elite, risk-taking, passive, and struggling. This helps identify teams that score efficiently, avoid turnovers, or play with a riskier style.

2.2 Creating the Scatter Plot

This section creates the final scatter plot. Each team is shown with its logo, and the median lines divide the plot into four playing-style groups.

2.3 Creating a Table

UFA Team Efficiency Table
Grouped by performance quadrant
Team Win % Goal Rate Turnover Rate Goal Difference
Elite
empire 84.9% 8.1% 4.9% 266
shred 80.0% 8.3% 6.0% 139
windchill 78.2% 7.9% 6.7% 191
flyers 77.4% 8.0% 5.5% 194
hustle 69.6% 8.5% 5.6% 168
summit 65.8% 7.8% 5.6% 128
sol 59.2% 8.1% 7.0% 104
radicals 55.1% 7.6% 6.7% 72
glory 50.0% 7.7% 6.3% 19
Passive
breeze 80.0% 7.2% 4.6% 210
union 67.9% 7.4% 6.1% 140
alleycats 46.0% 6.7% 5.2% −7
aviators 41.3% 6.8% 7.0% −72
phoenix 41.3% 6.8% 6.5% −56
Risk-Taking
growlers 54.0% 7.9% 7.4% 3
spiders 45.5% 8.0% 7.4% 8
cascades 40.8% 7.7% 7.7% −22
outlaws 22.2% 8.2% 8.4% −51
Struggling
havoc 34.8% 6.3% 9.4% −99
thunderbirds 33.3% 7.2% 7.1% −57
royal 32.6% 7.1% 8.2% −118
rush 27.3% 7.3% 7.4% −139
legion 20.0% 6.9% 8.6% −184
cannons 12.5% 6.4% 9.8% −171
nitro 11.4% 6.7% 9.1% −239
mechanix 2.1% 5.9% 9.1% −427

2.4 Analysis

By looking at goal rate and turnover rate metrics, we can better understand the current performance of UFA teams. Goal rate shows how efficiently a team scores, while turnover rate shows how often a team loses possession.

In the scatterplot, I used the league median for both metrics to split teams into four groups: elite, risk taking, passive, and struggling. Each group represents a different team style.

The table supports the scatterplot by showing the exact numbers for each team, including win percentage and goal differential. This helps connect each team style to actual performance outcomes.

Elite teams have the best balance because they score at a high rate and limit turnovers. These teams also tend to have higher win percentages and positive goal differentials. Struggling teams show the opposite pattern: they score less often and turn the disc over more.

The most interesting comparison is between passive and risk taking teams. Passive teams score less, but they also make fewer turnovers. Risk taking teams score more, but they also lose the disc more often. For example, the Outlaws have a higher goal rate than the Breeze, but their turnover rate is almost twice as high. Because of that, their scoring does not translate into a higher win percentage.

To sum up, based on these numbers, scoring more is important, but it does not always lead to more wins. I cannot say that turnovers are the only reason for team success, but limiting turnovers seems to play a very important role.

The main takeaway is that successful teams need balance. Scoring matters, but making fewer mistakes can make a big difference.

3.Throw Type by Team

This stacked bar chart shows each team’s throwing profile based on short, medium, and long throws. I used my own thresholds for this analysis: short throws are 10 yards or less, medium throws are 11 to 34 yards, and long throws are 35 yards or more. This helps compare team’s throw patterns. These categories help compare team throwing patterns and show whether teams rely more on safer short throws or more aggressive long throws.

I divided this analysis into three visualizations:

a. General Throw Rate Shows the overall distribution of short, medium, and long throws for each team.

b. Throw Rate by Goal Shows what types of throws most often resulted in goals for each team.

c. Throw Rate by Turnover Shows what types of throws were most connected with turnovers for each team.

3.1 Analysis

We looked at three things for each throw type (short, medium, long): how often it’s used, how often it leads to a goal, and how often it leads to a turnover. Each rate is calculated within a single throw type, not across all throws combined:

rate = (throws of that distance with that outcome) ÷ (all throws of that distance)

Why goal rate + turnover rate doesn’t add up to 100%: most throws are just passes completions, so not every throw is a direct scoring attempt or a mistake. So for any throw type, only the throws that scored or turned over show up in those rates, everything else was just a normal completed pass and isn’t counted at all.

Chart 1: Throw Distribution Both groups rely heavily on medium throws (65-80% of all throws) and use long throws (5-8% each). Top and bottom teams look almost identical here - there’s no clear sign that winning teams play more conservatively or take more risks than losing teams.

Chart 2: Goal Rate & Chart 3: Turnover Rate Long throws, often called hucks in ultimate, are by far the most likely to result in a goal for every team, scoring 28 to 44% of the time, compared to just 1 to 8% for short and medium throws. This makes sense given what a huck actually is: a direct, downfield attempt at the end zone, rather than a progression pass used to move the disc higher.

We also need to keep in mind that hucks carry the highest turnover rate. Top teams lose the ball on hucks 31 to 36% of the time, and bottom teams lose it 38 to 42% of the time. This makes sense alongside the goal rate numbers: the same distance that makes a huck likely to score also makes it harder to throw accurately and more exposed to wind and defense. The high goal rate and high turnover rate come from the same cause, the throw is simply harder to pull off.