Introduction
This summer when I was an intern in the “real world” I found that Boeing went to great lengths to use data from old programs to create baselines for new programs. With the advent of the FRC field twitter feed, there are mountains of data available, but not a whole lot of public analysis of it done. Many of the results of this are common sense – but I think it is worthwhile to see the analysis bear out the general accepted rule of thumb.
This analysis uses data mined from the 2010 FRCFMS twitter feed. I got my dataset from Andrew Schreiber. After removing elimination matches and what appeared to be test cases, I have data from 3615 matches played over the course of the season.
Points & Penalties

| Mean | Standard Deviation | Min | First Quartile | Median | Third Quartile | Max | |
|---|---|---|---|---|---|---|---|
| Alliance Scores (with penalties) | 4.17 | 3.58 | 0 | 1 | 4 | 6 | 29 |
| Alliance Scores (excluding penalties) | 4.43 | 3.54 | 0 | 2 | 4 | 6 | 32 |
The average robot scored about 1.4 points per match after penalties. It is interesting to note in retrospect that hanging and not acquiring any penalty flags would result in a statistically above average robot. For the record, hanging occurred in 30.5% of matches in this dataset. It is interesting to see the distribution in the first figure, and the clear skew to zero points as a result of penalties.
Avoiding penalties is always a good thing, and avoiding them is something every team tries for. We can see that they clearly bias the score, but in 2010 what was their effect? It turns out that in 6% of matches penalties were the difference between a win and a loss, and in 10.8% of matches they turned what would have been a win into a tie.
Winning and Losing Alliance Scores

| Mean | Standard Deviation | Min | First Quartile | Median | Third Quartile | Max | |
|---|---|---|---|---|---|---|---|
| Winning Alliance Score | 5.86 | 3.7 | 0 | 3 | 5 | 8 | 29 |
| Losing Alliance Score | 4.43 | 2.47 | 0 | 0 | 2 | 4 | 18 |

By glancing between the penalized figures and the unpenalized ones, a trend quickly becomes clear. Losing alliances (especially low scoring ones) are especially penalty prone. While penalties shift the mean by .3 points for losing alliances, it shifts .15 points for winning ones. However it is especially telling that the 1st quartile shifts from 0 points to 2 points, meaning that many alliances scoring between 0 and 2 points lost those points in penalties. Plotting penalized losing scores and unpenalized losing scores on the same plot drives the point home.

End Game
It is worth noting that 2010 was an especially low scoring FRC game. However, if we consider that the GDC tries to have an end task worth about as many points percentage-wise in every FRC game these numbers could give you some guidance. Remember that 2 points were awarded per robot hanging and 3 per robot that was suspended. This doesn’t consider the opportunity cost of hanging vs. doing something else, but when a hanging robot on the losing alliance could’ve changed the outcome of the match 30% of the time, it seems the end game was significant, despite being worth only 2 balls.
| Points | Percent of matches decided |
|---|---|
| 1 | 11.5% |
| 2 | 29% |
| 3 | 45.6% |
| 4 | 60.4% |
| 5 | 72% |
Conclusions
- Don’t get penalties
- The average robot can’t accomplish the “main scoring task” that many times, so shoot for a simple mechanism that you can train your driver on, especially if you are under resourced.
- Consider the end game. It is often left for last and it is often a significant competitive advantage, especially if you are looking to make it to the big dance on the third pick spot.