Robolyst Robolyst
The whole toolkit Pits, stands and selection day, on one report

Scouting and stats

Most FTC scouting effort goes into rebuilding numbers that the match results already contain. Robolyst computes them for every event in the archive, so your scouts spend their day on what a score sheet cannot show: what a robot is built to do, what it did in the match you watched, and which of them you want next to you at the selection table.

Try it in the live demo

Free for every team · run by a 501(c)(3)

In use on Robolyst

all time

Pit sheets filled in

30

+1 in the last 30 days

Every event in the archive gets this table, computed from the published results.

Cedar Valley League Meet 3: qualification metrics sample
Sample event metrics table: OPRc with its per-phase split, strength, consistency and luck for four teams.
TeamOPRcWhere the points come fromStrConsLuck
#1 14231 128.4118.2±9.4-4.0
#2 9052 121.7112.9±11.2+2.0
#5 20117 96.381.4±26.8+14.0
#7 7788 88.192.6±8.1-11.0
#24 3311 41.238.5±19.4+3.0
Auto TeleOp Endgame

Ranked against all 36 teams at the event. Strength is green above the 74.0 field average and red below it. Luck says how much of a record was the draw.

Behind the expert toggle True OPRcClean OPRCCWMSched-Adj OPRReliability

On screen

The page itself, captured out of the live demo, which anyone can open, without an account.

Open it yourself
Robolyst FTC scouting metrics table for the FIRST Championship: 338 teams ranked with strength, consistency and luck computed from the published match results.
Every event gets this table, computed from the published results.

Pit scouting the whole event shares

Every team at an event gets a QR code for its own pit sheet, and what they fill in lands on one report the whole event can read. Nobody re-interviews a team another squad already talked to, and a team that fills its sheet in once is scouted at every event it attends.

  • One printable QR sheet per pit, minted by the event coordinator. No accounts, no app
  • Any signed-in team can print pit flyers for the pits that have no sheet yet, pointing at a public form
  • A team’s own answers always win; anyone else’s only fill a gap
  • The report merges pit answers with live rankings, OPR and match results
Pit sheet → event report sample
14231 Scan to fill in your pit sheet
14231 Cedar Bots #1 · OPRc 128.4
Drivetrain
Mecanum, goBILDA strafer
their own answer
Auto
Two-sample, both starts
their own answer
Endgame
Level 2 ascent
their own answer
Battery count
6
gap filled by 9052
Pit codes come from the event coordinator's event dashboard whole event

Match scouting from the stands

Pick the match, tap a robot, fill in one short sheet: what it scored in auto and teleop, how the endgame went, penalties, whether it broke down. Every team’s observations pool at the event, so each robot ends up with an averaged row, its breakdown rate and the notes people wrote, next to its rank and OPR.

  • The sheet is written per season, so every team at the event records the same things
  • The schedule marks which robots nobody has watched yet
  • Observed strength is one of the five parts of the picklist’s recommendation, and a robot nobody observed says so on its row
Q31 · tap a robot sample
14231 watched ×37788 watched ×13311 nobody yet9052 watched ×420117 nobody yet18806 watched ×2
Auto samples
Teleop samples
Endgame
7788 pooled over 5 observations avg 74.2 pts broke down 1 in 5 whole event

Your own questions on the form

Add the questions your team argues about: cycle time, driver skill, would we pick them. A question is asked once per team, or on every match observation. Answers become columns on the Teams tab and in the export. Nobody outside your team sees them.

Your questions sample
  • Cycle time in teleop (s) Number Every match
  • Driver skill 1 to 5 Every match
  • Can they hang with us? Yes / no Once per team
  • Would we pick them? Yes / maybe / no Once per team
Sample Teams tab with your own questions as columns
TeamCycleDriverHangPick?
90526.8s4.6yesyes
77888.1s3.9yesmaybe
2011711.4s2.7nono
Columns on the Teams tab and the export your team only

A picklist you can work on selection day

The board opens ranked by fit against your own robot, then it is yours to drag. Everyone on your team sees each move as it happens, teams come off as alliances form, and it prints to paper for the person actually standing at the table.

  • Live for the whole team at once: the row someone else is dragging is locked, not fought over
  • Do-not-pick marks, alliance grid, and a printable sheet with your notes on it
  • Lock it before selection and the team is told who locked it
Picklist · State Championship 3 viewing
  1. 1 9052 92
  2. 2 7788 Sally S. is moving this 84
  3. 3 14231 taken · Alliance 2 81
  4. 4 18806 74
  5. 5 20117 do not pick 61
Number on the right is fit against your own robot. Prints to one page. your team only

A whiteboard for the match you are about to play

All six robots labelled on the field. Drag positions, draw routes, drop a note where the robot should park. Send the link to your alliance partners and they draw on the same board from their own phones; the link dies three days later. A sketchpad with no event attached holds auto paths in the off-season.

Q42 plan · with 9052 sample
142319052331177882011718806park here, L2
Partner link robolyst.org/b/k7Qp… expires in 3 days
3 drawing, one from 9052

An event page that changes with the weekend

Before the event it asks you to print pit flyers. During pits it counts sheets collected. During quals it shows your next matches with partners and opponents, and a job for the stands. Once quals finish and nothing is picked yet, it leads with the picklist. Your pit-day checklist from the toolkit sits on the same page with its tick count.

  • A notification when your match is three out
  • Rankings and records fill in as results post, with your own row pinned
Your event page Saturday, 11:40 AM
  1. Before
  2. Pits
  3. Quals
  4. Selection
  5. Playoffs
Q31 next 3 matches out ~12:05 PM
With 14231 7788 Against 9052 20117
Job for the stands: watch 20117 in Q28, nobody has yet

Before quals it asked for pit flyers. After quals it will open on the picklist.

OPRc and OPR computed for every event

Each event gets a full metrics table the moment its qualification results land. Nothing to import, nothing to maintain between competitions.

  • OPRc: constrained, penalty-free offensive contribution, broken down by scoring section
  • OPR, Clean OPR and CCWM for the seasons before score details existed
  • Strength and schedule-adjusted OPR, which correct for who a team actually faced
  • Consistency and reliability, so a steady 60 is distinguishable from an average of 20 and 100
  • Partner and schedule luck, which say how much of a record was the draw
Computed when results post per event
OPRc
Constrained offensive contribution from auto + teleop scoring (non-negative).
OPR
Offensive Power Rating: estimated points a team adds to its alliance score.
Strength
Schedule-adjusted quality: how strong this team looks accounting for who they faced.
Consistency
Std. dev. of the alliance's score versus its expected total across this team's matches (lower = steadier). Reflects alliance performance, not the team in isolation.
Sched-Adj OPR
OPR adjusted for the difficulty of the matches actually played.
qualification results posted table computed no import, no upload

OPRc split by phase before you pick

The table sorts on any column, splits OPRc by phase of the match, and flags the teams whose record overstates or understates them. Two teams with the same OPRc are not the same pick if one earns it in autonomous. The split shows that before you commit.

Two teams, OPRc ~122 sample
9052 122.0
Auto 24, teleop 79, endgame 19
18806 122.0
Auto 52, teleop 48, endgame 22
AutoTeleOpEndgame 18806 doubles 9052 in auto. Pick for the auto you lack.

A watchlist that follows a team all season

Star the teams you keep running into and they collect notes wherever you meet them. Notes and tags are your team’s alone: nobody else at the event sees what you wrote, at that event or any of the ones after it.

  • Your own tags, defined once and used across every event
  • Season OPR shown next to what you saw with your own eyes, so a strong impression can be checked
  • A robot profile you fill in once, which is what the picklist ranks other teams against
Watchlist 7 teams
18806 Harbor Hex auto threatfast cycler Season OPR 88.3
  1. League Meet 1 · Nov 9 Auto misses the second sample about half the time
  2. League Meet 3 · Dec 14 New intake. Auto is clean now, cycles are fast
  3. League Tournament · Jan 18 Drivers rattled after a red card. Watch Q-late
Nobody at any event sees these notes your team only

Your team page fills in after every event

Your team’s page fills in as you compete: record, awards, metrics event by event, and an OPR trend across the season. Nobody has to remember to update it.

14231 · OPR across the season sample
Record 34-9-1 Awards 3 updated after State, by nobody

Every formula published, with its caveat

Every number is documented with the formula behind it and the mistake people make reading it. If a metric would mislead you, the page that defines it says so.

OPRc /ftc/oprc

One fit per scoring section of the game, against that section's points alone, with no team credited below zero. A team's OPRc is the sum of its section estimates. Penalties are not a section, so they never enter.

OPRc = Σk argmin ‖A·x − sk‖²  subject to  x ≥ 0

The caveat. OPRc and True OPRc will not match exactly. A wide spread between them means the sample is thin; look at the matches themselves.

Questions teams ask

Do we have to enter our own scouting data?
Not for the numbers. OPRc, rankings and the rest are computed from published FIRST match results, so an event is covered the moment its results post, including events you did not attend. What you enter is what a score sheet cannot show: build quality, driver practice, how a team handles a bad match. At an event where other teams scout too, their sheets fill the rows you did not get to.
Do our scouts need accounts?
Not for pit sheets. Each one opens from its QR code with no login. Match observations, private notes and the picklist are filed by signed-in members of your team.
Who sees what we write?
Pit sheets and match observations are pooled: every team at the event reads the scores and the note. Stars, tags, private notes, answers to your own questions, the picklist and the strategy boards never leave your team. Every page says which kind it is showing.
Does it work for older seasons?
Yes. OPRc needs the per-section score details FIRST publishes for recent seasons; older events fall back to OPR, and rankings use whichever is available. Pit and match sheets exist for every season, with a generic form where no season-specific one is written.
We run an event. What does this take from us?
Printing one page per pit. A coordinator link mints a QR sheet for every registered team, and the report fills itself in as teams scan them. Robolyst never asks the event for a roster, a spreadsheet or a login.

Scouting and stats is one part of the portal.

The roster, the build schedule, your documentation, the money and your public site run on the same free account. Setting it up takes an afternoon.

Try it in the live demo