Strategy By Numbers

imageTiming Sensitivity Analysis

A couple months ago TwentyFour released an article on how to determine defensive effectiveness as a function of its opportunity cost. Since a few teams apparently found this useful we figured we should do the followup article. Specifically, a tool for any cycle based game to help drive your strategy.


To start with, we need to define a cycle based game. A cycle is a sequence of events that occur repeatedly throughout the match. No, they don’t have to be things your bot does. Merely the entire process from start to finish. 2014 made it really easy, they defined a cycle and even the events you could do. So a cycle based game is simply a game that is primarily composed of cycle based scoring elements. Or, any FRC game since 2005.

Getting Started

What do we need to know about each event? We need to know how many points events are worth and how long they take on average. What if a sequence of events has to occur to be worth points? Like a Double Assist ? Simple, make a zero length pseudo event. Want to add in something that requires taking a penalty? Add negative points. Make the tool work for you. I tend to stuff what are essentially null events in when points are assigned (which means at many events in 2014, NEVER).

Ok, so now that I’ve got a table of Events | Times | Points that includes all possible Events (or all we’re looking at) what’s next? Next we need to actually create a cycle. I typically just make a list of the various events that have to happen. Maybe note the times and points next to the name, it’ll make the next step a lot easier.

Now you need to sum the times each event takes to get your average cycle time and the points to get your points per cycle. From there, how long is a match? How many cycles can you get? How many points do you score. This isn’t rocket science folks. Division and multiplication, that’s it.

$$Score=Number of Cycles * frac{Points}{Cycle}$$

Now, here’s where it gets kinda cool. Because I use Excel (actually Google Docs because I like the auto syncing) I can just make a bunch of sheets with different cycles in them. Then I can compare the various ones based on the times. Want to see what strategy works best if your inbounder is really slow? Change it up and see what strategies make sense given certain parameters.


So, I alluded to a toy earlier. I’ve built a generic sheet for cycle games based on what I used in 2014. It’s available on Google Docs and I suggest downloading it and playing with it. The handy part about it is that it looks up the timing and points from the Set Up tab. Changing the time on that sheet will propagate it out to the other sheets. The analysis sheet helps you see some stats on each cycle option. The interesting ones are Slop, Costly Action, and Total Points. I’ll go through those briefly.


What is slop? It’s how much time you can tolerate someone slowing down before you lose a cycle. I’ve added a Slop/Cycle column just to show how susceptible to defense some strategies are. The lower this number the less a defender has to do to muck with you to have an impact on your score.

Costly Action

This is called out to find the event that is eating the most time up. Handy to find things that are taking a lot of time but in most cases it should be pretty obvious based on your events. Not terribly useful but could be used to help identify where you need to focus to increase your score.

Total Points

I don’t need to explain what this is. It’s how many points you should be getting.


Ok, this isn’t perfect. It relies on you knowing reasonable estimates for times. My rule of thumb? I multiply my initial estimate by PI. Why PI? It’s an arbitrary number… and I prefer pie over cake so there’s that. When in doubt, over estimate.

It also ignores autonomous/End Game. But that’s more because they are rather simple to model and plan for. (Weighting between the various game segments for the design process is more difficult)


It does, however, help showcase things like Full Court Shooting (2013) and the importance of an accurate shot this year (Take Score High and set it to 15 or 20 and Score Low and set it to 3) Stuff like this is handy to tease out the parts of your strategy that you MUST complete.

Tools in your toolbox.

Spreadsheet Download

Article Content Provided by: Andrew Schreiber

One comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s