Scouting Algorithm

Recently, I have been working on making a Discord bot to make scouting easier (because it can be used on a phone and it’s easier to program than an app). I am using VEXdb to get the stats, but no single stat provided can show the value of the team. I was thinking I could combine these stats in an algorithm, but I don’t know what to do. Has anyone come up with an algorithm for scouting, or have any ideas?
I was thinking of using CCWM (Calculated Contribution to Winning Margin), along with wins and maybe AP
Any ideas are appreciated

instead of using an algorithm to combine all the stats, why not just keep them separate, and display all the stats you want. that way he can have a more comprehensive breakdown of each team, and evaluate which stats each team does the best at.


I have no idea but remind me if you finish it because that sounds so cool

1 Like

I understand what you are getting at, but I think that many stats on their own are inaccurate representations of the team, often caused by luck. If you were to look at wins or AP, both of those stats can easily be inaccurate if a team were to be carried, which is often the case during regional competitions. I feel if there were some combination of more accurate stats (such as CCWM and OP/DPR) and other less accurate stats, you could reach a more accurate evaluation of a team

then just don’t look at these stats. idk, you might be able to play around with an algorithm, you can do something like this:

(statweight) + (statweight) ect

where the stat is the numerical value for each stat you want to include, and the weight is how important each stat is.


I think that’s probably the best solution. Skills may also be something to factor in, since many of the top teams in my area used that to look for alliance partners.

No computer generated number will be better than spending 15 seconds looking at their robot.


Good point, though I still would like to be able to quantify their abilities

1 Like

Last year, scouting for Night at the Museum, I made an algorithm that crunched numbers from VexDB with withed values and ranked them all. I also ranked every team based on simply looking at the robot. What I found was that while the numbers were helpful, the rankings from looking at the robot were much more accurate to the end results.

TLDR: Numbers are helpful, but looking at the robot is much better.


Have you ever heard of ELO? I’m not exactly sure how it’s calculated but it ranks all the teams in the world based on VexDB. I believe last season it was largely (if not only) based on OPR. But you can use something like that.


In that case, CCWM is a pretty good metric. The best teams almost always have a high CCWM

1 Like

Also, pay attention to skills score. Most good match drivers are also good at skills.


I have heard of ELO in the general sense, though I have not seen it in VEX. Where did you find this? There is no sign of it on the VEXdb website from a cursory glance

Its not on vexdb. Its a google sheet someone made.

1 Like

my algorithm included total skills, driver skills, CCWM, OPR, and ELO, all weighted differntly


Aah. Is there any way I could find this google sheet?

I think AP will not be a good way to scout this year because you get more points for auton when your opponent does nothing (because the row on the other side is already scored for you). So a team with a good auton that went up against other competitive teams could be ranked lower than a team with no auton that went against a bunch of teams that also had no auton.


Elo doesn’t work as an efficient form of scouting. It doesn’t take irl factors into account, and it takes results from the whole season rather than one competition. For example, I could be a top tier team, but mess up a bit in qualifications at a comp or two and have low elo.


OPR, CCWM, and either WP or AP (if not both) would be good values to use for scouting based off of data. If you want the scouting bot to be efficient, make a command to put in a competition and then stats can be gathered and compared for teams attending it. Having a bot compare stats for teams at one competition would probably be better than having a bot compare statistics from the whole season if you want it to be specifically for scouting.