1. Load the scores
Columns: id, name, track, team. Track and team are optional.
One row per judge per entry: judge, entry_id, then one column per criterion.
2. Rubric and settings
Rubric
The criteria appear here once the scores have a header row.
| Criterion | Weight | Max score |
|---|
Weights are relative: 3 and 1 means the first counts three times as much.
Spread between judges, in points out of 100.
One per line: judge, entry_id. That judge's score for that entry is left out.
3. Results
| Rank | Entry | Score | Raw | Judges | Spread | Flags | Details |
|---|
Score is the mean of each judge's adjusted score. Raw is the mean before adjusting. Spread is how far apart the judges were.
Winners by track
Judges
Compared with the other judges on the same entries. Harsh or lenient is fine: the adjusted score takes care of it.
| Judge | Scored | Average given | Compared with others | Reading |
|---|
Needs another judge
How the score works
- Each judge's criteria are turned into one total out of 100, using the rubric weights.
- Each judge's totals are compared with that judge's own average. A 70 from a judge who usually gives 50 counts for more than a 70 from a judge who usually gives 85. A judge with fewer than 3 scores, or totals that barely differ, keeps their raw scores.
- Those positions are put back on one shared scale, so every judge has the same pull.
- Scores from a declared conflict are left out. The entry's score is the mean of what is left.
- Ties are settled by the higher median, then more judges, then the first criterion. If still level, the entries share the rank.
The full explanation, with a worked example, is in the README.