Visually viewing Caleb Sykes' Scouting Database: Data is Beautiful

Hello! I know that the information is from Caleb’s database and that comes from the TBA API, but do you know how the TBA gets their individual game piece contributions per team?
And do you think you can give a brief elaboration on the various metrics being visualized? They seem self explanatory but the way I’m interpreting them doesn’t seem to be lining up quite right with what I’ve seen before.

1 Like

Good Points, Antonio. I cannot speak for the TBA calculations but I will gladly add a Data Definitions tab to the report so there is no question what data is being displayed on the reports. I’ll add that in the next few days. Thanks!

1 Like

It kinda does but I’m just surprised that my team 302 hatches hasn’t changed drastically although we had matches we put on 6 hatches, but maybe it’s sweked towards more matches we did cargo

This is cool. Thank you for posting!

1 Like

Thank you for a great visual tool!

Are the graphs based on teams’ last event, best event or avg of all events?

I believe it should be by the last event, as it help to get the most updated status of every team.


People are free to use whichever metric they choose from my scouting database. For whatever it’s worth though, I use a team’s max calculated contribution at their events for all of my seeding, and I would recommend others do the same. I found that this correlated slightly better with future performance than “most recent” calculated contribution. They are pretty similar, so either (or world OPR) are acceptable and definitively better choices than min or first event contributions. Relatedly, Elo seeds for upcoming years provide stronger predictive power when using each team’s season max Elo instead of their end of season Elo.

So for whatever reason, I would say best event performances are better indicators of what to expect from teams in the future than most recent performances. :woman_shrugging: idk why and it’s not intuitive to me, I just follow the predictive power on whatever crazy journey it takes me.


For this reporting, I’ve pulled the MAX value from Caleb’s Excel Scouting Database for a team’s performance in each metric (ie, Sandstorm HAB Level 1, Sandstorm HAB Level 2, Cargo loaded in the Cargo ship, etc.). There is a good example of how this is determined in my post above, Post #31.

And I agree with Caleb on using the MAX calculated contribution in the various elements of the game. From a scouting perspective, we are interested in the “best guess” of how a team is going to perform in an upcoming event. By using the MAX that a team performed, regardless of whether it’s their most recent event, it’s the closest we can get when using historical data. Granted, most teams’ stats improve as they progress through the season but that’s not always the case, depending on level of play at a particular event, technical issues with the bot, etc.

Hope this helps. Good luck!

1 Like

The charts have been updated with data through week 5. Enjoy! And best of luck to the teams competing in week 6 events this week! :four_leaf_clover:


Thank you for your work! Our team references this daily.


Is anyone calculating world OPR this year?

I have not been, I have a script for it somewhere but it’s doubtful I’ll get around to it soon

Charts have been updated with week 6 data. I also added filters for Country and State/Province. I will see if I can add in filters for Week 7 events a little later. Best of luck to teams playing this week!


Will you be updating the filters when divisions are released?


Yes, when Houston and Detroit fields’ team lists are published, I will add that filter to the charts. Thanks for asking!


This visualization is super awesome, thanks so much for making it!

Another question, How can a team have more End Game points then their climb percentage would justify?

In this example 86% of 3 points would be 2.58 points, not 6.1.


“point” and “count” type metrics are calculated differently than “rate” type metrics, as such there is no direct way to convert between the two, although they should provide similar results. The former are found using a least-squares linear regression on some scoring category over qual matches only (same methodology as OPR). The latter are found by counting up how often an event occurs over qual and playoff matches and dividing by a team’s total number of qual+playoff matches.

1 Like

Now that Michigan State championship divisions are out, any chances this will get updated for those events?

didn’t I just see a thread about that?

Awesome, didn’t see that yet!!! I’m on the bus going to MSC now, so hard for this old guy to catch everything on my cheap phone!!!

Thank you!!