Table of Contents
Scoutradioz News and Updates
Scroll down to see the latest updates as well as any earlier updates you might have missed. Use the Table of Contents to jump straight to an update if needed!
October 22 - Cloned Prod to QA, Easier login page using Svelte
Cloned Prod to QA
- Data in the 'main' website (“Prod”) has been copied into the QA site as of 6:00pm US/Eastern on 2025-10-22
 
Change Organization prototype running in QA
From Pepper:
Got an important update for y'all, but I need your help testing! Some of you may be aware that we want to translate our site's pages into Svelte, which will make interactive client-side code way easier. Last week, I finally figured out a way to let us rewrite pages in Svelte one by one, instead of upheaving the entire codebase all at once. I've got a prototype to show you all, and it's up on https://qa.scoutradioz.com/ ! I need to make sure it works on everyone's devices. If you're logged in, then in the menu, select 'Change organization' to view the new org select page. Everyone please try loading this on your device and let me know if there's any issues (e.g. if you see an error on screen, or if the loading circle never stops spinning)
- - - - - - - - - - - - - - - -
August 16 - Alliance selection improvements (and) Portuguese [distinct from Brazilian Portuguese] is now an available language
Alliance selection improvements
- Added declines: Declining teams can no longer be picked but can become alliance captains and their rows in the table are grayed out.
 - Also, at the end of the round if there are still teams who have been skipped they will automatically be assigned the next highest ranked team.
 
Portuguese is now an available language
- Newly available as an i18n language option in the translation selection list
 
- - - - - - - - - - - - - - - -
June 2nd - Quality of life improvements / New donations & thanks
Quality-of-life improvements to the match assignment process
- Scouting leads can now choose to have scouts 'stick' to one alliance color for the duration of a set of assigned matches (or use the default randomly switching between alliances)
 - Match scouting assignments can be exported to CSV and imported from CSV (if one wants to manually set up a specific assignment schedule or do a lot of manual adjustments or whatnot)
 - The “swap scout A out and swap in scout B” option can now be limited to just the next N assignments (or use the default “swap ALL of A's assignments to B”)
 
Added supporters list to the 'Special Thanks' page
- Listing donors & sponsors on the 'Special Thanks' page
 - Added a button to a Zeffy page to make it easy for additional folks to donate
 
- - - - - - - - - - - - - - - -
April 12th, 2025 - Hotfixes deployed to Production
"NaN" value outputs from formulas will no longer be populated
Previously, if there was a problem with a 'formula' metric such that the output was “not a number” the field would be filled in with NaN
- This would happen if there was an error in the formula
 - It could also happen if there was a problem with data involved in the formula - e.g. for some reason it was missing, or misrepresented, or the formula was added mid-competition so early form values didn't exist, etc.
 
Now the system will simply 'skip over' this specific field for that specific report
- This means that empty values will not be included in the 'aggregated' metrics (trending, capability, etc.)
 
Show "Match scouting data for all team NNNN matches" button easier to use
This button shows the individual match scouting reports for each selected field for a given team - useful for eyeballing changes over time, seeing individual values within the aggregations, and so forth.
- We've added the button to near the top of the “Team Intel” page (it's also still available within the 'Previous matches' section)
 
SPR error 'actual_scorer not defined' should be eliminated
We've also added code to avoid errors due to the condition which was triggering this problem.
March 10th, 2025 - Improved Analytics and More Detailed Reports
Feedback from teams told us that absolute “Minimums” and “Maximums” were not statistically relevant; data could come from a fluke match, or a scouting error, and so forth. Folks in various forms asked to “eliminate outlier data”. And we listened!
Absolute "Minimum" and "Maximum" values have been replaced by percentile thresholds indicated as "Floor" and "Capability"
- “Capability” is the 90th percentile value of their data (interpolated between data points if there isn't enough data). This shows what a team can possibly achieve in a given category (omitting the outlier data).
 - “Floor” is the 10th percentile value of a team's data (interpolated as above). This shows roughly the minimum level of performance that could be anticipated from a team most (90%) of the time
 
The previous "Variance" values were replaced as requested by standard deviations, indicated as "Swing"
- The higher the “Swing” (standard deviation), the more unpredictable a team's performance in a given category has been
 
And for clarity we replaced the exponential moving "Average" label with "Trending"
This more accurately reflects the true nature of the underlying calculation.
- An exponential moving average more heavily weights the newest data over older data; this shows “Trends”, teams which are 'getting hot' are reflected as such (and vice versa).
 
Additionally several screens have been revised to show all of the defined metrics (and not just the sub-selected list)
- “Team Intel”, Statistics for a team
 - “Compare Alliances” (reached by clicking 'Compare alliances' on an upcoming match)
 - “Alliance Team Statistics” (reached by clicking 'Stats for both alliances' on Compare Alliances)
 - “Statistical summary across all teams” and “Top teams per metric” (we really need to improve the navigation 😅)
 
March 3rd, 2025 - New Heat-Map Color Options (Including Color-Blind Friendly Options)
The typical Scoutradioz heat map color scheme, which runs from green [for the highest values in a category] to dark red [for the lowest values in a category]. While this works for lots of folks, people who are red-green color blind can’t get the same value out of this page or the other pages with heat maps.
Now Scoutradioz supports alternate heat map color options!
- The “Configure report columns” menu option has been changed to “Customize reports”, with a new “Choose heat map colors” option (the existing “Choose report columns” is in here as well)
 - Pick the color map you prefer, and click Submit!
 
February 28th, 2025 - Hotfixes deployed to Production
Two hotfixes have been deployed to the Production site:
"NaN"s appearing in derived metrics due to missing or misaligned data
There are currently two issues which can cause problems for multiselect() formulas in derived metric definitions:
- When defining the match scouting form, the validator does not warn if the options in a multiselect do not line up with the values in the associated dropdown
 - There is a bug in Voyager where, if a form has a multiselect but the scout doesn't set it to an option, that field is not written to the database
 
In both cases the calculation process for processing a multiselect() operation would return a value of NaN (which would cascade from that metric to any other derived metric which used it).
As a short-term solution we've updated the calculation process to default to a value of 0 if either (a) the underlying field doesn't exist for some reason, or (b) if the formula definition in the JSON has options which do not align with the options presented in the associated dropdown item.
Data tables and reports did not always show mix/max ranges via heat map colors
We found a timing issue with how the heat map colors were being recalculated each time a match result was received from The Blue Alliance. There was a race condition where the heat map calculations were intermittently being cut off before completing, so often some colors were missing or there were no colors at all. We eliminated the cut-off condition so this should work correctly going forward.
February 10th, 2025 - Now Pit and Match Scouting Forms Can Include Images!
What if you wanted to have a labelled image for asking teams during pit scouting (say) “what are your possible auto options?” For example:
(or perhaps during a match having a labelled full-field image and having scouts mark where teams set up to start)
Now you can include your own images in your Pit and Match forms! On the https://qa.scoutradioz.com/manage page you'll now find a “Manage form images” option where you can upload images and give them IDs… and then, those IDs will be how you'll reference them in your scouting form designs via the new image type.
See in the UI Organization and Annotation section for details!
February 6th, 2025 - Improved Tuning and Customization of Scouter Accuracy Analytics
Scoutradioz uses a metric called Scouter Performance Rating (SPR) to help Scouting Leads see which scouts are being the most accurate vs. which ones may need some assistance or attention. Through the 2024 season this was done using a specific per-robot metric key called contributedPoints, adding up the three robots on a given alliance and comparing the total points contributed by those three robots (as calculated from that robot's scout's data) to the official alliance score (not counting points from fouls, which came from the other alliance). This works great when alliance scores are built up by individual robot actions.
However, some games have additional scoring elements - e.g., “links” in 2023, or (in 2025) human player shots into the barge. These extra elements can make it difficult for Scouting Leads to develop a good formula for contributedPoints which still accurately reflects an individual robot's performance but also incorporates all the non-robot-specific scoring elements so that all the points (aside from other-alliance fouls) are included.
That's why today we're releasing additional design capabilities to allow teams to customize how SPR is calculated:
- Teams can create additional 'total points' metrics which just reflect individual robot actions (and not other scoring elements such as “links” or “human player shots”)
 - They can then define which scoring elements should be subtracted from the alliance score so the comparison is correctly “apples to apples”
 
Check out the details on Scouter Performance Rating (SPR) and specifically the “Customizing SPR” section for details!
January 30th, 2025 - Improvements to Form Design and Derived Metrics
BIG CHANGES! It's always been the core value proposition of Scoutradioz to enable FRC teams to…
- Customize their own pit and match scouting data collection forms
 - Along with incorporating complex analytics
 - Within a 'low-code' “scouting-as-a-service” platform, without needing to develop or deploy your own servers or dedicated hardware
 
However, the process of defining the custom analytics - known in Scoutradioz as derived metrics - has historically been somewhat clunky and verbose. For example, in Team 102's schema for 2024, calculating the “total points contributed by a robot” across auto ('totalAutoPoints'), teleop ('totalTeleopPoints'), endgame ('totalEndgamePoints'), and overall ('contributedPoints') required 186 lines of JSON.
With the new system, here is that same information encoded in just 20 lines of easily-readable mathematical formulae 👀 (also check out the improved online JSON-aware editor!) 
Additionally there have been usability and coding improvements to other form elements, such as labels, counters, sliders, and so forth.
For a fully-fleshed out example, check out Team 102's form from 2024 refactored for the new system
Then jump over to the form design guide to see the details!
NB: The system is backwards compatible, so any form definitions using the old schema will still work!
January 4th, 2025 - Wiki, Reefscape, and More!
It's officially the 2025 season! Reefscape!
Has it been a while since you've visited? Are you newly onboarded? Looking for info on manage your scouting operation or getting started on how to design your own forms? Or looking for JSON definitions shared by other teams? Or perhaps even wondering how YOU can get started as a Scoutradioz contributor?
There's a lot here!







