Skip to Content
Leaderboard

Leaderboard

The Leaderboard ranks TAs by training performance, highlighting top performers and awarding accolades. It helps program coordinators identify which TAs are excelling and which may need additional support with office-hours simulations.

Leaderboard showing ranked learners with scores, pass rates, and improvement indicators

What is Leaderboard?

Leaderboard computes ranked profiles from training data and organizes them into sections:

  • Header Metrics — Total profiles, total attempts, average score, perfect scores.
  • Rankings — A sortable table of TAs ranked by composite metrics.
  • Accolades — Awards for specific achievements (highest scorer, perfect score, longest conversation, best response times, quickest pass, most persistent, marathon runner, rapid riser).
  • Trends — Trend data for tracking improvement over time.

Leaderboard answers questions like:

  • Which TAs scored highest on the Aggressive Student simulation this semester?
  • Who achieved a perfect score on the De-escalation rubric?
  • Which TAs are improving most rapidly?

Quick Start

CLI

Calls below use $GLOW_INSTANCE_URL + $GLOW_TOKEN — see Authentication to export them once.

# Get the full leaderboard with header metrics and accolades glow attempts leaderboard # Get leaderboard filtered by cohort and date range glow attempts leaderboard --body '{"cohort_ids": ["fall-2025-cs101"], "start_date": "2025-01-01", "end_date": "2025-06-30"}' # Search leaderboard rankings (paginated, sortable) glow attempts search --body '{"sort_by": "highest_score_avg", "sort_order": "desc", "page_limit": 25}' # Export leaderboard data glow attempts export

API

# Get leaderboard summary curl -X POST $GLOW_INSTANCE_URL/attempt/leaderboard \ -H "Authorization: Bearer $GLOW_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "department_ids": ["dept-cs"], "start_date": "2025-01-01", "end_date": "2025-06-30" }' # Search ranked profiles curl -X POST $GLOW_INSTANCE_URL/attempt/search \ -H "Authorization: Bearer $GLOW_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "simulation_ids": ["sim-confused-student"], "sort_by": "highest_score_avg", "sort_order": "desc", "page_limit": 20, "page_offset": 0 }'

Filtering

FilterFieldDescription
Date rangestart_date, end_dateScope to a semester or custom window
Cohortscohort_idsFilter by training cohort
Departmentsdepartment_idsFilter by academic department
Simulationssimulation_ids (search)Filter by specific simulations
Scenariosscenario_ids (search)Filter by individual scenarios
Profile searchsearch (search)Text search across TA names
Single TAtarget_profile_idHighlight a specific TA
Sortingsort_by, sort_orderSort by any metric column
Paginationpage_limit, page_offsetControl page size

Rankings table

Understanding the Leaderboard Summary

The POST /attempt/leaderboard response includes:

sections

  • header_metricstotal_profiles, total_attempts, average_score, perfect_scores. Each metric has current_value, has_data, and trend data.
  • rankings, accolades, trends, filters — Section status objects indicating has_data and status.
  • accolade_winners — Named accolade winners:
    • highest_scorer — TA with the top average score
    • perfect_score — First TA to achieve 100%
    • longest_convo — Deepest engagement with a student persona
    • response_times — Fastest persona response times
    • quickest_pass — Fastest time to pass a simulation
    • the_persistent — Most total attempts
    • marathon_runner — Most time invested
    • rapid_riser — Steepest improvement curve

Each winner includes profile_id, name, value, and details.

resources

Resource metadata keyed by ID: profiles, simulations, scenarios.

Understanding Search Results

The POST /attempt/search response returns LeaderboardDataRow items:

  • rank — Position on the leaderboard
  • profile_id, name — TA identity
  • simulation_ids, scenario_ids — Associated training content
  • metrics_entry — Per-row metrics:
    • total_attempts — Total training attempts
    • highest_score_avg — Average of highest scores
    • messages_per_session — Engagement depth
    • persona_response_seconds — Response time to student personas
    • time_spent_minutes — Total training time
    • improvement_rate_per_day — Daily improvement rate
    • perfect_score_count — Number of perfect scores
    • quickest_pass_minutes — Fastest pass time

Scoping the leaderboard

Common Operations

TaskCLIAPI Endpoint
Leaderboard summaryglow attempts leaderboardPOST /attempt/leaderboard
Search rankingsglow attempts searchPOST /attempt/search
Export dataglow attempts exportPOST /attempt/export
Refresh cachesPOST /attempt/refresh
Last updated on