Cricket Manager

Turning ball-by-ball data into insights that help every young cricketer get a fair go.

Built for youth cricket coaches and managers at Lindfield Cricket Club, Sydney.

Why Cricket Manager Exists

Youth cricket is not about winning at all costs. It is about giving every kid the chance to bat, bowl, and field in different positions. It is about development, fairness, and making sure that quiet kid who bats at number 10 every week gets a turn opening.

The NSJCA (North Shore Junior Cricket Association) understands this. Their "Blue Book" lays out rules: batting rotation for the top 4, minimum bowling overs for nearly everyone, mandatory retirement so one player does not hog the crease all day. Good rules. Hard to track manually across a full season.

Cricket Manager automates all of it. Add your team, ingest the match data, and instantly see who has been missed, who is overdue for a promotion up the order, and whether you are meeting every compliance requirement.

🏏

Every Kid Gets a Go

Track batting and bowling rotation across the whole season, not just one match.

📊

Data-Driven Fairness

Shannon entropy and Gini coefficients measure rotation equity objectively.

Blue Book Compliance

Automatic checking of NSJCA rules so you never miss a requirement.

Ball-by-Ball: The Source of Truth

The Problem with Scorecards

Official scorecards often list batting positions incorrectly. A player shown at #3 might have actually batted at #7. If you rely on scorecard order for rotation compliance, you are working from bad data.

Scorecard batting order: unreliable

The Ball-by-Ball Advantage

Cricket Manager derives the actual batting order from ball-by-ball data. Every delivery tells us who was on strike, who came in next, who retired. No guessing, no errors.

Ball-by-ball derived order: ground truth

All analysis in Cricket Manager is built from 9,400+ individual ball records across 45+ matches and 330+ players.

How It Works

1

Add Team

Register your team with its Cricket Australia team ID and grade. Takes 10 seconds via the CLI.

2

Ingest Data

Pull match data from Cricket Australia's grassroots API. Ball-by-ball records, scorecards, and match metadata all flow in.

3

Analyse

Batting, bowling, fielding, dismissals, rotation fairness, wicket-keeping, partnerships, compliance, and more. All computed automatically.

4

Report

Interactive dashboards, player profiles, compliance reports, and a print-ready season summary with awards and leaderboards.

What You Get

🏏

Batting Analysis

  • Runs, averages, strike rates per player
  • Per-innings breakdown with ball-by-ball detail
  • Batting position matrix across the season
  • Retirement tracking (30 runs or 30 balls)
  • High-score leaderboards

Bowling Analysis

  • Wickets, economy, averages
  • Bowling position matrix (who bowls when)
  • Bowling Opportunity Equity analysis
  • Spell tracking and over sequencing
  • Extras and wide/no-ball rates
🧤

Fielding & Dismissals

  • Dismissal quality ratings (competition percentiles)
  • Fielding involvement stats
  • Run-out partner analysis
  • Bad caller / slow runner detection
  • Wicket keeper rotation tracking
📋

NSJCA Compliance

  • Batting retirement enforcement
  • Bowling minimum/maximum over checks
  • Top-4 batting rotation across matches
  • Third-over bowling rule validation
  • Grade-aware rules (Stage 1/2/3)
🏆

Season Summary

  • 9 season awards (Golden Bat, Golden Ball, etc.)
  • Partnership Kings & Dot Ball Survivor
  • Extras Machine fun stats
  • Team of the Season XI selection
  • Print-friendly report for presentation night

Rotation Fairness

  • Rotation Fairness Index per match
  • Shannon entropy (evenness of distribution)
  • Gini coefficient (inequality measure)
  • Season-long rotation trends
  • Position diversity tracking

The Blue Book, Automated

The NSJCA Blue Book governs how youth cricket is played across Sydney's North Shore. Different stages and grades have different rules. Cricket Manager encodes them all in a structured YAML file and checks every match automatically.

Batting Retirement

Batters must retire at 30 runs or 30 balls faced. Exception: the last two batters remaining not-out can continue.

Top 4 Rotation

The top 4 batting positions must rotate across matches so every player gets a chance to bat early in the innings.

Bowling Minimums

All players except two must bowl at least 2 overs per match, ensuring everyone participates.

Third-Over Rule

Bowlers cannot bowl three consecutive overs. This forces variety and gives more players bowling opportunities.

Where the Data Comes From

Cricket Australia Grassroots API

All match data is pulled from play.cricket.com.au, Cricket Australia's official grassroots cricket platform. This is the same system that scorers use on match day.

Cricket Manager ingests ball-by-ball records, batting and bowling scorecards, match metadata, competition standings, and player registrations. The API's isBallByBall flag cannot always be trusted, so Cricket Manager checks for actual ball data regardless of what the flag says.

45+ Matches
9,400+ Balls Recorded
330+ Players Tracked
3 Teams Monitored

Under the Hood

Python / FastAPI Async web framework
Jinja2 Server-side templates
SQLite / SQLAlchemy Local database
Pico CSS Classless styling
Zero JavaScript HTML & CSS only
149 Tests Fully tested

"The best cricket managers do not just pick the strongest team. They develop every player, rotate fairly, and make sure every kid walks off the field knowing they contributed."

Cricket Manager helps you do exactly that. One ball at a time.