A couple more reports I've created

In my ongoing attempt to “Graph all the things” I’ve been working on a report that can be used to analyze cycle times at events. You can see the current state of it here:

It needs work, but every time I updated something it would helpfully re-pull a hybrid schedule for every single 2017 event.

Since 2017 is officially in the books as of Nov 11th and the data should be fixed, I decided I could create a flat file with all of the 2017 schedule info and might as well grab the scoring detail as well.

Which led to an 18 meg file with all the data and then this:

Page 1 is a 2017 score breakdown by week. You can slice that page by State, District, Event Type or Match type.

Page 2 is a scoring breakdown by event. It and the following pages can be sliced by Week, Event Type and Match Type.

Page 3 adds in scoring detail by team.

Page 4 is autonomous scoring detail by team.

Page 5 is Teleop scoring detail by team.

Page 6 is foul detail by team.

Page 6 is kind of funky, because while the DQ count is for that particular team, the foul points are points that team received from other alliances. I need to do some tweaking to get the foul points a team gave the other alliance.

But hey, it’s kind of fun and clicky and I thought I’d share.

After I get my cycle time report working the way I want, I may go and pull data for previous years as well.

Hey Doug,

I find the match cycle time really interesting. Is there a way to remove outliers from the averages to account for a match being pushed back through lunch or onto the next day while being careful to not remove matches that are delayed for other reasons?

I cannot find any Michigan events in the list for the cycle time, did you not include district events?

Something I would like to see in the future is to be able to see the cycle time for each match instead of the delta from the scheduled start time. I’d also like the ability to break the schedule down by round (teams at event/6 matches) to see how teams first time on the field compares to later in the event.

Thanks for all the effort you put into this.

I’m working on the cycle time report right now. You’re right, that one only has qualifying regional events. I limited it at some point as I was working on it. Now that I have the data stored in a local file I can go back to playing with it all.

The outliers are mostly related to replays and I’m actively working on that. If I sort the event by actual start time, that should give me better data, or at least that’s my current theory. There are a few really weird strings of matches (31-35 in WILA as an example) where the actual start time suddenly jumps from Central Time to UTC and then back with match 36.

When I build a schedule, I will usually pad the timings on the first two rounds. Usually by 2 minutes per match for the first round and 1 minute per match for the second round. But that’s based on gut feelings and experience rather than objective data. I hope to have good solid numbers for how cycle time changes over the course of an event so I can build a better schedule.

I’m not sure how challenging this would be for you to do, but after using these awesome data sheets, I thought of these things that could be addedt:

  • Calculation/Display of each team’s ‘percentile’ ranking such as “Team X is in the 98th Percentile for Total Average Match Pts”
  • Calculate/Display the average seed or rank a team has had across all of their events for 2017 (in addition to some sort of average eliminations outcome?)

I’ve updated the report and it has a new link. This is based off the all matches dataset I created. It has Michigan, I event added a slicer for district code so you can select just the FIM events.

If you click on an individual event code, the bar graph on the bottom of page 1 gives you the cycle times for just that event graphed over the average for all events.

Page two on the new report does some aggregation by week. It’s really cool to see how the average actual cycle time drops from week 1 through week 4, then remains almost constant for weeks 5-9.

Next up is to work out how many matches per round there are at each event so I can graph how cycle time changes as an event progresses.

I also need to manually go and clear up the timings for all those events that randomly switch to UTC for a few matches. First I should fix the calculation for delay to account for replays.

Those are both things I’d like to get to showing eventually. It’s all just a bit of work with actually creating the data.

As it stands right now, I don’t actually have a “Teams” table in that dataset. It’s purely the scoring and scheduling detail.

Here is the percentile for Total Points World OPR based on 2017 weeks 1 through 9 qual matches.

Here is a table of per-team World OPR for each scoring component based on all qual matches for 2017 weeks 1 through 9.

Who wants to do an OPR style calculation on match turnaround time, to figure out which teams delays matches.

I trimmed the team numbers from that data to reduce computation time, but it would be simple enough to get a team number vs. average/median cycle time. Not going to do it though because that’s just a bit too much like finger pointing. I have more interesting things I’d rather graph.

Plus there are things that can delay matches that can’t be easily attributed. For example, if the refs spend 5 minutes huddled up after a match, should that be attributed to the teams from that match? What if the FMS crashes… does that get attributed to the teams waiting to start? What if there’s a field repair that delays the match?

None of that gets captured in the numbers, but it can all throw off the data. It isn’t worth trying to sift through the data to see if there’s any correlation with specific teams, not when the FTA’s for a region generally figure out which teams are perennially causing delays, just by running events with those teams present.

Ohh! Actually, I can sort of graph the ref time and it’s on my list of things to do for that report. The data includes the actual start time of the match and the time the time the results were posted. The difference between those two less the 2:30 for the match itself is the time post match spent getting the score ready to post. Mostly.