FIRST Robotics: Advanced Alliance Selection
View as PDF
This method of alliance selection uses key performance indicators to rank teams in a more flexible and forgiving way. Then by adding Tableau parameters, the flexibility of this method is increased. For an explanation of how to utilize parameters in Tableau, please refer to the on-demand training videos here.
Key Performance Indicators
Key performance indicators, or KPIs, are the foundation of this alliance selection method. In short, KPIs are like minimum values that are deemed satisfactory for an alliance partner. The theory behind this alliance selection process is to make KPIs for every field that's important, then rank teams by the number of KPIs they fulfill.
Setting up KPIs
- A tip for naming KPIs is to put "KPI" at the start of the name. By doing this, all KPI calculations will be listed together.
- In this example we are going to make KPIs for Auto Score, Tele Score, End Score, Reliability, and Pit FOM. We'll stick to these five examples for the sake of simplicity, but there is no limit to the number of fields you can create KPIs for when working for your team.
- The iif function is a shorter version of the IF function. Instead of writing out "then" and "else," separate the two returns by commas. See the tooltip below.
- Next, create a calculated field to yield the total number of fulfilled KPIs.
Making the KPI Graph
The KPI graph gives a slightly more forgiving alliance selection method than the "filter away" method used in the video. This way, teams can be filtered based on how many KPIs they fulfill. By looking at all KPIs in one view, you can see how a robot makes up for what they lack in another field. The completed KPI highlight table will look like this:
Creating the KPI Graph
- Create a new sheet in Tableau and name it “KPI table”
- Drag team name onto the Rows shelf and measure names onto the Columns shelf
- Now, drag Measure Values to color. The view should look something like this:
- Edit the measure names filter to only include our KPIs
- Now it should look like this:
- Drag KPI count to Rows and set it to discrete. Now it should look more like the picture at the beginning of this segment. (Optional: Sort Team number by descending average of Total score.)
- Format the chart so that it is easier to read by turning on borders.
- The graph should now look exactly like the preview at the beginning of this segment.
Using the KPI Graph for Alliance Selection
Using the KPI graph is great for alliance selection. By simply filtering out all of the teams that do not satisfy any KPIs, we eliminate all of the teams that have no desirable characteristics. This can even be used with the dashboards created in the Alliance selection video by making the team number filter global. When using it as part of an alliance selection dashboard, try starting off with this one.
Improving the KPI Graph with Parameters
Parameters make this method of alliance selection amazing. It provides the flexibility of quick filters with the leniency of the KPI count. There are two places in this process where we can use parameters to improve functionality: Moving KPIs and flexible scale.
Moving KPIs
Currently, our KPIs can't be changed without going into the calculations and changing them manually. We can use parameters to make our KPIs flexible.
- Make parameters for every field that you made a KPI for. This can be done by simply right clicking on the field you want to make the KPI for.
- Setting a step size is recommended because it keeps things cleaner. Use smaller step sizes if the range is smaller (like auto score).
- Once completed, you should have a parameter for each KPI.
- Now go back and edit the KPI calculations so that they instead reference the Parameters
- On the KPI sheet, show all of the parameter controls.
- By dragging the parameters around, you can change the KPIs very quickly. This allows the ability to filter teams quickly so we can play with our data until we find the perfect team to ally with.
Scaling KPIs
Not all KPIs are created equal. If we want to set a certain KPI as more or less important, we can turn our KPI count calculation into a FOM equation. Even better, we can use Parameters to quickly change the scale as we desire.
- Once again, create a parameter for each KPI you have created. This time, set the parameter to be on a scale from 0 to 5 on a step of 1.
- Duplicate the KPI Count Function and edit the duplicate
- Rename the calculation to KPI FOM and multiply each KPI by its scale parameter
- Return to the KPI chart and show all new Parameter controls
- Drag KPI FOM onto the Rows shelf and change it to discrete. Then, drag it to the far left.
- Now this KPI graph can very flexibly display our data. Note: we could upload this sheet onto Tableau Public and our chief scout could use this process on the field from their smartphone or tablet.
A Few Things to Try:
- Instead of scaling the KPIs in the FOM equation, try scaling doing all of the scaling in the same equation. See how it changes the colors of the KPI graph:
- To raise the stakes, give a penalty to teams that do not meet the KPI. To do this, return a negative value. The larger the negative value, the larger the penalty (but it starts to get a little weird past -1). This penalty will also be scaled by the scaling parameters.
- To avoid having the penalty be scaled by the Scaling Parameters, combine the concepts from the two previous equations in a few ways:
a. Scaling the FOM but keeping the penalty the same:
b. Making a separate parameter for penalties: