CRCC CricInfo
Croydon Ranges CC
Enter club password
First-time setup
No club found. Create one to get started.
CRCC CricInfo
Dashboard
—
Data Entry
Import Data
Overview
Dashboard
Matches
Ladder
Grade Averages
Match Ratings
Analysis
Team Analysis
Win Factors
Players
Squad
Season
Partnerships
Head to Head
Comparison
Opposition
Notes
Data Health
Reports
Export Reports
User Guide
All matches
📋
No matches imported yet
💻
Editing the scorecard is a desktop job. The dense editable grid needs a wide screen and a keyboard. On your phone, browse the analysis instead.
💻
Importing matches works best on a laptop. It needs PlayHQ PDFs and drag-and-drop. On your phone, head to the analysis pages instead.
Import from PlayHQ
On the game's PlayHQ Game Centre, print each tab to PDF (Cmd+P → Save as PDF), then drop them all here — one game or the whole round at once.
T20 & ONE DAY — 4 PDFS
Scorecard tab for each side + Ball-by-ball tab for each side.
TWO DAY — USUALLY 4, MORE IF A SIDE BATS TWICE
Same again, plus a Scorecard + Ball-by-ball PDF for any second innings.
⚠ Ball-by-ball tabs load as you scroll — scroll the whole innings into view before printing, or only the loaded balls are captured. Scorecard PDFs are required; ball-by-ball are optional but power the deep analysis.
🗂️
Click to upload or drag & drop — select ALL the PDFs at once
Point it at your scraper's PlayHQ_Archives folder to bulk-import a season in one go.
No files loaded
The season draw — fixtures not yet played
Paste the draw when it comes out. These create unplayed fixtures, which is what powers Coming up on the dashboard and the projected ladder. When each game is actually played you import its PDFs as usual and the fixture fills in — nothing to delete.

One per line: date, round, home, away, venue — venue optional. Commas or tabs, v/vs instead of a comma between the sides is fine, and dates read day-first (03/10/2026) or ISO (2026-10-03).
▸ CricketStatz import (legacy — the old two-PDF flow, with manual match details)
Match details
Video (optional)
Add YouTube links for each innings/session. Enter the URL and the timestamp (in seconds) of the very first ball.
INNINGS 1
Step 1 — Upload scorecard PDF
📊
Click to upload or drag & drop
Match scorecard PDF from CricketStatz
No file loaded
Step 2 — Upload ball-by-ball PDF
📄
Click to upload or drag & drop
Ball-by-ball commentary PDF from CricketStatz
No file loaded
▸ Or paste ball-by-ball text directly
Preview — Ball-by-ball
👆
Upload PDFs to see preview
Parsed deliveries
Waiting for parse...
🏏
Select a player to view batting analysis
🎯
Select a player to view bowling analysis
🧤
Select a player to view fielding analysis
⭐
Select a player to view match ratings
Player roster
👥
Players appear automatically when matches are imported
Add player
Merge duplicate player
💻
Reviewing matches is a desktop job. Ball-by-ball capture needs video, the wagon wheel and pitch grid side by side. Do it on a laptop — the phone is for viewing what you've built.
Select a match to review
Ball 0 of 0
All balls
STREAM — the day this delivery is on
Shot direction — wagon wheel zone
Click a segment (or press 1–8). Click again to deselect.
Batting result
Wagon zone (played), or:
Pitch landing zone
Flow — M mark ball · Space save & next · ← back · 0 skip · , . seek ∓5s
Pitch — the on-screen grid mirrors the keys: Q W E R T full · A S D F G good · Z X C V B short
Batting — 1–8 wagon direction · P play & miss · L leave · N no vision
Current innings — over summary
Session progress
Insert delivery
For byes/leg-byes, set runs to 0 and use the "Extras" section below.
Inserts a delivery immediately after the current ball. Scorecard totals don't auto-update — verify in the scorecard editor afterward if needed.
Full backup
Every match, delivery, annotation and player in one JSON file. Keep a copy in the club Drive — monthly is plenty.
Match Reports
Full scorecard, phase analysis, key player highlights — landscape A4
Player Reports
Batting & bowling analysis, wagon wheel, pitch map — landscape A4
📊
Import matches to see season summary
Data health
🩺
Import matches to run data health checks
🤝
Import matches to see partnership analysis
vs
⚔️
Select a batter and a bowler to see their head-to-head record
vs
⚖️
Select two players to compare
🔭
Select an opposition team to analyse
📊
Import matches to see team analysis
Winning factors
what separates our wins from our losses
🧮
Import matches to see winning factors
Coaching notes
Curated training & match notes — pin analysis, share to the team. Saved for every coach.
New note
Pinned analysis
No analysis pinned yet. Pin a player's wagon wheel or an opponent's battle plans to build a curated pack.
★ Quick start 1. Getting started 2. Entering data 3. Reviewing matches 4. Analysis 5. Match prep & insights 6. The season ahead 7. Reports 8. Reference
Start here
Quick start
New to CRCC CricInfo? This is the whole thing in five steps. Do step 2, and the app already works — everything after it makes the picture richer.
What is this?
A shared analysis hub for Croydon Ranges CC — our own stats engine for form and opposition scouting. You feed it match scorecards (and optionally match video), and it turns them into player reports, opposition battle plans and a printable match-day pack. Everything is stored in the cloud and shared with every coach — there's nothing to install and no data to lose.
1
Open the app
Go to crcccricinfo.netlify.app in Google Chrome (best on a laptop or desktop). Navigate with the bar across the top — the page you're on is underlined in red. Keep the address private; that's how access is controlled.
2
Get matches in the one essential step
On the game's PlayHQ page, print each innings' Scorecard and Ball-by-ball tab to PDF. Drag them all onto the Import page — one game or a whole round at once. Games are grouped, duplicates skipped. Paste the YouTube link for any innings you filmed, then click Import. That's it — the app is now full of stats. (Full detail: Section 2.)
3
Review the footage optional, but the superpower
Open a match from Matches and hit Review match →. Ball by ball, click where the shot went (wagon wheel) and where it pitched (grid), press M to bookmark the moment on the video, and fix anything mis-scored right there. This is what powers wagon wheels, pitch maps, catch traps and the video reels. Do it in chunks — it saves as you go. (Section 3.)
4
Explore
Dashboard = the story so far in one line. Players = one player's batting, bowling and fielding (with a scouting report that reads their game in plain English). Team Analysis = how we're going as a side, plus highlight reels. Season, Head to Head and Partnerships slice it further. (Section 4.)
5
Prep the next game & print it
Open Opposition, choose the club, then hit Prep for match vs …. Tick the players you expect to face — the whole pack then focuses on them: key batters, bowler threats, auto-written battle plans, and a read on how they will plan for us. Hit Print match day pack for an A4 sheet the captain can carry. (Section 5.)
🧭Three filters live in the top bar and quietly scope the whole app: Season, Grade (once a second competition is imported) and Team (once a 2nd team's games are in). If a page looks empty or off, check those first — and note the grade one is remembered between visits.
⭐Looking for the best batter or bowler in the grade? Rank, don't filter. The ratings leaderboard on Grade Averages has a Rank by row — Overall, Batting, Bowling, Fielding — and that is what answers the question. The Role filter beside it is useful, but on its own it will mislead you: most of the players at the top of this grade both bat and bowl, so they classify as all-rounders and a filter set to “Batters” hides them. Live example — rank by Batting and the second-best batting season in the grade belongs to an all-rounder. A role marked ° was worked out from scorecards (batting position, overs bowled, keeping) because none is set on the player's profile; hover it for the reason, and a — means there isn't enough evidence to say.
🎛️The format filter on each page is a tick list, not a single choice. Open it and tick as many as you want — so you can look at Two day + One day together (the Saturday competition, played over different lengths) while leaving the midweek T20 out. Ticking none, or ticking all three, both mean every format. On a scouting report, picking exactly one format also switches the report to that format's own benchmarks; pick two and it goes back to reading them together.
💾Nothing to save manually. Every change is shared instantly with all coaches. The Export JSON button in the top bar takes a full backup — worth doing now and then for peace of mind.
On your phone — install it like an app
CRCC CricInfo works on your phone for viewing analysis and coaching notes (matches are still entered and reviewed on a laptop).
  1. Open crcccricinfo.netlify.app in your phone's browser.
  2. iPhone: Share → Add to Home Screen.  Android: menu → Install app / Add to Home screen.
  3. It gets a red cricket-ball icon and opens full-screen like a normal app.
📱On a phone the pages you view most sit in a bottom bar — Home · Players · Match Day · Notes — with More for everything else. Importing, reviewing and scorecard editing show a "best on a laptop" note; they need a big screen.
Section 1
Getting started
Everything you need to know before your first session.
Accessing the platform
Open crcccricinfo.netlify.app in any browser. All data is stored in the cloud and shared across the whole coaching staff. Keep the address private — it's how access is controlled.
💡Best on Google Chrome, laptop or desktop. PDF export and file uploads work best on larger screens. Light theme is the default; a sun/moon button top-right switches to the dark "Broadcast Desk" look.
Navigation — horizontal top bar

All navigation sits in a scrollable bar at the top. The active page is underlined in red (the club's brand colour; green marks our team and good performance). Scroll left/right if items are off-screen.

📥
Data Entry
Import Data. (Review a match by opening it from Matches → Review match — there's no separate Review tab.)
📊
Overview
Dashboard · Matches (the match timeline is embedded inside each match's detail)
🔍
Analysis
Team Analysis · Win Factors · Players (batting/bowling/fielding in one place) · Squad · Season · Partnerships · Head to Head · Comparison · Opposition · Match Day · Notes · Data Health
📄
Reports
Export Reports · User Guide
Top bar actions & filters
📅
Season filter
Top bar — scopes every page to one season.
👥
Team filter
Appears once a 2nd team's data is imported — focus the whole app on 1st XI, 2nd XI, etc.
💾
Export JSON
Full backup of all data. Do this regularly.
➕
Import Match
Shortcut to the import page.
Section 2
Entering match data
Matches come in from PlayHQ Game Centre print-to-PDFs — teams, date, format, scorecards and ball-by-ball are all detected automatically. The old CricketStatz two-PDF flow still works, folded away at the bottom of the Import page.
The PlayHQ way (recommended, any game in the grade)
1
Print the Game Centre tabs to PDF
On the game's PlayHQ page: the Scorecard tab for each side, and the Ball-by-ball tab for each side (scroll the whole innings into view first — it loads as you scroll). A T20 or one-dayer is 4 PDFs; a two-day game is the same unless a side bats twice — then print the extra innings too.
2
Drop them all on the Import page
One game or a whole round at once — files are grouped by game automatically, duplicates are skipped, and each game shows a preview card (per-innings scorecard ✓ and ball counts).
3
Add video links, then import
Each innings row in the preview has a YouTube link field — paste the stream URL for any innings you have vision of, then click Import. Links can also be added later: Matches → Edit → Innings videos.
🔄Reload before you import. The site updates itself, but a tab you left open keeps running the older version — and importing doesn’t reload it. If the importer has been improved since you opened the tab, you’ll see a red banner at the top asking you to reload, and the import will stop and ask before going ahead with the out-of-date version. A hard refresh (⌘+Shift+R) always gets you the current one.
🎬In Review Match, press M the moment a ball is delivered to record its timestamp.
The CricketStatz way (legacy)
1
Download PDFs from CricketStatz
Find the match and download the scorecard PDF and the ball-by-ball commentary PDF. Then expand “CricketStatz import (legacy)” on the Import page.
2
Fill in match details
Home/away teams, date, format, competition, round, venue. The Season field auto-fills from the date using Australian cricket season convention (Oct–Mar wraps, e.g. Nov 2025 → 2025/26) — override if needed. Most importantly — "Which team are you tracking?"
⚠️Always set the tracking team. The app detects which innings each team bats in automatically — including follow-ons where a team bats twice in a row.
3
Upload Scorecard (Step 1) then Ball-by-Ball (Step 2)
Drag each PDF onto its upload zone. If extraction fails for ball-by-ball, expand "Or paste text directly" — open the PDF, Cmd+A, copy, paste.
✓Paste works just as well as upload and is often more reliable.
4
Add YouTube video links (optional)
Paste the YouTube URL for each innings/session. No timestamps needed — you mark each ball during review.
🎬Press M or click ● Mark this ball the moment the ball is delivered to record the exact timestamp.
5
Click "Parse & Import Match"
The app shows a full scorecard for verification — batting table and bowling figures per innings. Check it matches the actual scorecard, then click "Looks good — start ball-by-ball review →".
League games — import the whole round from PlayHQ

To scout the rest of the grade, import the other clubs' games too. On each game's PlayHQ Game Centre page, open the Scorecard tab for each innings and print it to PDF (Cmd+P → Save as PDF) — one PDF per innings. Optionally do the same on the Ball-by-ball tab (scroll the whole innings into view first, or only the loaded balls are captured). Then drop all the round's PDFs at once onto the Import from PlayHQ box at the top of the Import page — games are detected and grouped automatically, duplicates are skipped, and one click imports the lot.

📁Bulk-import a whole folder. If you've scraped a season's PDFs into folders (e.g. PlayHQ_Archives), click Import a whole folder and pick the top folder — every PDF inside it (and its sub-folders) is read, grouped into matches and imported in one go. Already-imported games are skipped, so it's safe to re-run after adding more. Big batches show a compact summary; add stream links later via Edit on the Matches page.

Matches not involving Croydon Ranges are tagged LEAGUE. They never touch our club's dashboard, records or season stats — they feed the Players hub, Head to Head and opposition scouting, so you can see how every player in the grade is going each week. League games can be opened from Matches and reviewed like any other — add the live-stream link via Edit Match and tag wagon wheels, pitch maps and catches for opposition batters.

🗂️On the wrong board? The Matches board has a Croydon Ranges and a League board; each game is placed automatically from the team names. If one lands on the wrong board, open its card and use the Board buttons to move it — your choice sticks. League games don't ask "which team are you tracking?" — we follow everyone, with Ranges as the focus.
Editing match details after import

On the Matches page, each row has an Edit button. Update home/away teams, date, format, competition, round, venue, or tracking team at any time.

📹Two-day video links are per day. In Edit Match a two-day game asks for a Day 1 and Day 2 stream link, then lets you tick which day each innings started on (a day's single stream covers every innings bowled that day). Limited-overs games keep one link per innings. Innings that carry over the night: in Review Match both streams are available — a Day 1 / Day 2 switch sits above the video. When the Day 1 footage runs out mid-innings, tap Day 2, the next stream loads, and you keep marking; each ball remembers its day, so reels and re-review always play it from the right stream.
Recording what there is nothing to import

Some things never existed, and the app needs to be told so it stops asking. On the match page, the NOTHING TO FETCH row carries three marks, each reversible and each showing its current state with a tick:

  • Not played / forfeit — washed out, called off, or awarded without a ball bowled. If it was a forfeit, record the winner first on the board card: a walk-over pays the winner exactly what a win pays, and marking it not-played first would wipe that.
  • All PlayHQ published (per innings) — the ball-by-ball is short and that is everything that was ever entered. Stops the truncation flag.
  • No toss published — PlayHQ never printed one.

Just above it, a TOSS row lets you type the toss in yourself — who won it and what they chose. Until now it could only ever arrive from a PDF, so if you were at the game and knew, there was nowhere to put it. Recording one clears the "no toss published" mark, since the two contradict each other.

Fixing the innings order

Occasionally a match imports with its innings in the wrong slots — all the totals correct, just in the wrong order. Edit Match has a slot dropdown per innings alongside the existing home/away swap, and a Reverse order button for a match that came in back to front. Each row shows what that innings actually holds (8/134 · 196 balls), because "St Andrews batting" alone doesn't say which of their two innings it is.

⚠️Check a suspected mis-order against the arithmetic, not the eye. If the chase appears before the innings it was chasing, the order is wrong — a two-day match either reconciles or it doesn't.
Entering the draw before it's played

Paste the fixture list straight into the box at the top of the Import page — commas or tabs, v or vs, and either ISO or day-first dates all work. Anything it can't read is reported rather than silently dropped. Upcoming fixtures appear on the dashboard's Coming up card with the opponent's recent form and a prep link; when the game is played, importing its PDFs fills the fixture in, so there is nothing to delete.

Setting up your players

Players are created automatically on import. Go to Players (the Squad grid) to fill in the details — it's the profile hub. Filter by club, bowling arm/style, role or availability.

🧹Fixing import mistakes. PlayHQ lists names surname-first, so an import can create "Jones Bob". Open the player and hit ⇄ Swap name to flip it to "Bob Jones" everywhere. If the same person was added twice, use ⛙ Merge… to fold one profile's stats into the other and delete the duplicate. When correcting a name in the scorecard editor or import preview, the name box now suggests existing squad players — pick rather than retype.
🚑Injured or unavailable? Set a player's Availability to Injured or Inactive on their profile. They're then dropped from match-day planning (expected XI, battle plans, our bowling matchups) until you set them back to Available. Shared with all coaches.
🏏
Role
Batter, Bowler, All-rounder, or Keeper. Used by scouting reports and filters.
🤚
Batting hand
Right or left. Orients the wagon wheel correctly.
🎯
Bowling arm + style
e.g. Right-arm Fast-medium. Powers "vs Bowling Style" in batting analysis.
🏟️
Club
Set to "Croydon Ranges CC" to appear on the dashboard.
Section 3
Reviewing matches
Add shot direction, pitch landing zone, and play-and-miss data ball by ball.
💡You don't have to do it all at once. Saves automatically every 10 balls. Green balls in the list = reviewed.
📹No video for an innings? Wagon wheel and pitch map are read off footage, so an innings with no video can't be annotated. On the Select a match to review screen, tick “No video” next to that innings — it's then excluded from review and no longer counts as incomplete (in the progress bars or Data Health). Untick any time to bring it back.
✏️Fix a mis-scored ball as you watch. The centre card's Fix ball details lets you correct the runs, delivery type (legal / wide / no-ball / bye / leg-bye), striker, non-striker and bowler, ⇄ swap strike, and 🗑 delete a phantom ball (the opposite of + Insert delivery). Wickets add retired out / not out and, on a run-out, a Batter out toggle (striker vs non-striker). It's the PlayHQ scoring toolkit, on top of the review footage.
🎞️Watch it back. On a player's ball-by-ball (Players hub) each marked ball has a ▶ to watch it, plus Watch innings to play them back-to-back. Any clip reel shows that delivery's wagon + pitch beside the video.
🔁Once a match is fully reviewed, the match-detail page shows a Reconcile with ball-by-ball card — where the scorecard and your reviewed ball-by-ball totals differ, you can Adopt the ball-by-ball figures per innings. The scorecard stays the source of truth until you choose to.
The review layout
📋
Ball list
Every ball. Green = reviewed. Click any to jump to it. + Insert delivery stays pinned at the top as you scroll.
🎬
Video + entry
The stream, the wagon wheel and the pitch grid — click the shot direction and the length for the current ball.
👥
Live context panels
Under the video: the batters at the crease (score + a mini wagon that grows ball by ball to the current one + their last 8 balls), or the bowlers when we're in the field.
✏️
Current ball card
Play-and-miss, dismissal type, and Fix ball details — the full correction toolkit.
↔️Prefer the video bigger? The layout buttons let you put the video on the left (drag the slider to set the column split) or the video on top — your choice is remembered. Auto-advance (on by default) saves and jumps to the next ball the moment a ball is fully tagged; toggle it off to linger.
What to annotate per ball
A
Wagon wheel zone
Click the segment where the ball went. Auto-oriented for the batter's hand. Zones: Mid off · Cover · Point · Third man · Mid on · Midwicket · Square leg · Fine leg.
B
Pitch landing zone
Columns: Wide Leg · Leg · Stumps · Off · Wide Off. Rows: Full · Good length · Short. Tap the grid, use the Q–B keys, or turn on the pitch overlay (below) and click straight on the pitch in the video.
C
Play and miss
Toggle Yes if the batter swung and missed.
D
Mode of dismissal (wicket balls)
A red panel appears with a dropdown. Select: Bowled · Caught · LBW · Stumped · Run out · Hit wicket · etc. Saves immediately. For caught, stumped, and run out, a second dropdown appears to credit the fielder. Run-outs also get an optional "Assist" dropdown — pick both contributors and they're each credited.
🥎Caught and bowled? Pick the bowler as the fielder. The data model treats it the same way and the bowler gets credited with the catch.
E
Over or around the wicket
Over is pre-selected because it is much the commoner, but it is only recorded when you actually tap it — an untagged ball is never counted as either. That is deliberate: assuming "over" would invent the very split the card exists to measure. It shows up on the batting page, the bowling page and Team Analysis, each quoting how much of the innings has been tagged.
🧭This one does not count toward review coverage. It is one tap on a default, so counting it would let an innings look fully reviewed without anyone watching it.
F
Video timestamp
Press M or click ● Mark this ball when the ball is delivered. The video jumps to that timestamp automatically next time. Use -5s / +5s to fine-tune.
Deeper detail — the per-ball Edit popup

In the batter's ball-by-ball table, every ball has an Edit button. It opens a popup with two extra annotations that feed the automatic Scouting Reports and Battle Plans. Both are optional and save the moment you tap them.

⬤
Where was the catch taken?
On a caught dismissal the shot-zone grid is relabelled — click where the catch was held, then a Close / Deep toggle (in the ring vs out on the boundary). Builds each batter's "caught the same way" pattern.
🪁
In the air? · Air / Ground
On a scoring shot, tag whether it went in the air or along the ground. Catches and sixes count as aerial automatically — you only tag the in-between 1s/2s/4s. Reads a batter's risk.
🎯These two pair up: a batter who plays in the air through cover and gets caught at cover is a trap to set. The Scouting Report (top of the Batting page) and the Match Day Battle Plans surface it for you — you just tag the balls.
Pitch overlay — a guide on the video (optional)

You can draw the pitch grid onto the pitch in the footage, so you click where the ball actually bounced instead of translating to the little grid. It's purely a guide — off by default, and the buttons/keys keep working exactly the same whether it's on or off.

1
Calibrate once per game
In the Pitch landing zone card, tap 🎯 Calibrate, then click 6 points on the video: the striker's stumps, the bowler's stumps, then the 4 corners of the pitch strip (any order). That's it — the app works out the rest of the geometry from the stumps (they're a known distance apart), so it doesn't need the crease lines, which you can't see on zoomed-out footage. The grid then sits in perspective on the pitch, saved with that innings.
2
Toggle it on/off
▦ Overlay shows or hides it. Off = nothing changes about how you work today. The grid auto-flips for left/right-handers.
3
Click the pitch, or keep using the buttons
With it on, click where the ball pitched in the video and it fills the zone for you — or ignore it and use the grid/keys. Both do the same thing; pick whichever's quicker per ball.
4
Recalibrate if the camera moves
A single calibration assumes a fixed camera. If it panned or zoomed and the grid drifts off the pitch, just tap Calibrate again. Works best with a still camera behind the bowler.
📐It's a guide, not a measurement — the length/line bands are sensible defaults, and accuracy depends on clean clicks on the creases. Trust your eye; the overlay just saves the translation step.
Keyboard shortcuts
Space Save & next
← Previous ball
S Skip
M Mark timestamp
Section 4
Analysing the data
All tables are sortable — click any column header to sort ascending, click again to reverse.
PageWhat it showsBest for
Team AnalysisPhase breakdown (RPO, dots, boundaries per phase), over-by-over chart, wicket clusters, dismissal types, a top-performers leaderboard for the current selection (top run-scorers / leading wicket-takers), extras, powerplay. (Partnership analysis lives on the Partnerships tab.) In the bowling view, also shows fielding contributions across the filtered matches. Our highlight reels live here: in the batting view — how we got out and our boundaries; in the bowling view — how we took wickets, opponents' plays & misses, and boundaries we conceded (each plays the marked clips back-to-back off the video). Also a "Bat first or chase?" card — our record batting first vs chasing, plus a venue par table (average first-innings score per ground). Filter by team, format, last N matches, or a single match.Team
Win FactorsA "keys to victory" read — which match factors separate our wins from our losses. For each factor (with the bat: build a 50+ stand, post above par, score fast…; with the ball: strike early, trigger a collapse, limit boundaries…) it shows our win % when it happens vs when it doesn't, and the swing, ranked by impact. Honest by design: it uses only decisive results (two-day games need a result set), shows the sample behind every row, fades ones too thin to trust, and is framed as association, not proof. Own format filter.Team
DashboardClub batting avg, bowling economy, top performers, recent matches. Croydon Ranges CC players only.Overview
MatchesA review board (Trello-style): two boards — Croydon Ranges and League — each with four columns (Pending · In progress · Complete · Not possible). Every match is a draggable card: drag it to the column you're working in, click it to assign yourself, drop a comment, or jump to Review/Edit/detail. Status is shared with all coaches, so everyone sees who's on what. A card's badge shows its actual review %. Flip to a flat List view any time; search + filters (text, format, season, round) and sort (newest / oldest / least-reviewed / team) work in both. Open a match for the full scorecard, phase breakdown, the embedded match timeline (worm, run-rate bars, match momentum — an Opta-style ball-by-ball read of who holds the ascendancy: dots, wickets & cheap overs swing it to the bowlers; boundaries, rotation & building stands to the batters — partnerships, fielding, with an innings filter), per-innings No video ticks, a conditions card (the venue's weather on the day — or the forecast for an upcoming game), and match notes. Review match → starts ball-by-ball review from here (there's no separate Review tab).Post-match
PlayersFull roster with role, batting hand, bowling type, and a Field column showing total fielding dismissals. Edit opens in a popup. Bulk operations in the header: download CSV template, export all players to CSV, import CSV to add/update many players at once.Setup
PlayersOne page per player — pick the player once, then toggle three sub-tabs with the shared team/match/format filters:
Batting — avg, SR, wagon wheel (one line per shot, coloured by runs, with a zone table beside it — balls, runs and a dots/1s/2s/3s/4s/6s split per zone), phase breakdown, vs bowler scatter (click a dot to open that head-to-head), vs bowling style, scouting report, form & development, a Control % / false-shot read (from reviewed footage), coach-set development goals, a 📇 Stat card export for the team chat, and a ball-by-ball log where each filmed ball has a ▶ to watch it (or Watch innings to play them back-to-back).
Bowling — wickets, economy, avg, SR, dot%, pitch map, wicket types, economy by phase, vs batting hand, vs batters.
Fielding — Ct/St/RO/Total, per-match rate, best haul, type breakdown, "catches taken off" pairings, per-match log.
Player names elsewhere (e.g. Opposition) are clickable and jump straight here.
Player
SquadThe roster — add players, set roles & bowling styles (these feed the analysis), bulk CSV import/export. A club filter narrows the list; clubs are recognised automatically ("Norwood CC" and "Norwood 1st XI" both file under Norwood), and a player who has turned out for two clubs appears under both.Manage
Season SummaryAll players, three sub-tabs:
Batting (Inn/Runs/Balls/Avg/SR/HS/100s/50s/Dots/1s/Bdry/4s/6s/Form),
Bowling (Overs/Maidens/Wkts/Econ/Avg/SR/Dots/Extras/1s/Bdry/BB),
Fielding (Ct/St/RO/Total/Matches). Filter by season, format, and now club (defaults to your club).
Selection
PartnershipsWho bats well together — runs, balls, RR, best stand, times together. Filter by match, format, wicket number (e.g. 1st-wicket openers), or two players (one, or a specific pair); click any pair to drill into just their stands, or a player name to open their page.Selection
Head to HeadAny batter vs any bowler — full history, ball-by-ball sequence, wicket breakdown showing how each dismissal happened (including which fielder took the catch).Match planning
Player ComparisonTwo players side by side — batting, bowling, or fielding stats, winning figure in green.Selection
OppositionHow we've performed vs a specific club — their threat bowlers and batters. Grouped by club, so a side entered as "Norwood CC" one season and "Norwood 1st XI" the next aggregates as one opponent (the header lists which entries were combined). Match Day Pack groups the same way. Video reels: if you've marked deliveries in Review Match (press M on the ball), buttons here play every one of that club's dismissals, boundaries, or wickets they took back-to-back straight off the YouTube stream — a 10-second clip (±5s) per ball, no downloads. The counts fill in as you review more footage. A "How they win & lose" card applies the Win-Factors analysis to this opponent — what fuels their wins (deny it) and where they're beatable, from their whole record on file; it gets much stronger once their league games are imported.Match planning
📊Team Analysis works for any team now. The team selector at the top of Team Analysis is club-level and reads league data — leave it on Our club for us, or pick any grade side to see their phase-by-phase batting and bowling profile (the batting/bowling toggle relabels to that club). The more of their games you import, the richer it gets.
🗺️Squad landscape scatter. Team Analysis now plots the whole squad on one chart: in the batting view, every player by average (up) vs strike rate (across), dot size = runs — top-right is most dangerous; in the bowling view, wickets (up) vs economy (across), dot size = overs — top-left is best. Hover a dot for the numbers. Follows the selected team.
📈Win-probability worm. A limited-overs match's detail page (Matches → open a game) shows a win % curve across both innings — the green area is the team-batting-first's chance ball by ball, blue above is the chasing side, red dots are wickets. It's an honest heuristic (projects each side's finish from run rate, wickets and format par) — a read of the match state, not a trained prediction, and noisier in club cricket. Two-day games aren't modelled.
Team Analysis — over-by-over chart colours
RPO 0–3 (economical)
RPO 3–6 (normal)
RPO 6+ (expensive)
Red cap = wicket fell
Form guide — colour key
50+ runs
20–49 runs
Under 20
Pitch map — how to read it

The pitch map is a behind-the-bowler view: the batter and stumps are at the far (top) end, the bowler's end is nearest you. The coloured length bands run from the batter's feet outward — Yorker · Full · Good · Short — and the left/right position is the line (leg / stumps / off, flipped to the batter's hand). Each ball is a dot on the surface:

Pale dot — a delivery
Gold — boundary conceded
Red ▲ — wicket
Heat — density of where they pitch (toggle on the bowler page)
Batting innings log columns
R  Runs
B  Balls faced
SR  Strike rate
·  Dot balls
1s  Singles
2s/3s  Twos/Threes
4s  Fours
6s  Sixes
Tracking fielding stats

Fielding contributions are captured manually during Review Match. The ball-by-ball PDF doesn't record who fielded, so existing imports start at zero — the numbers grow as you review wickets and tag the fielder.

How to tag a fielder
  1. Open Review Match for the relevant match.
  2. Navigate to a wicket ball — a red panel will appear.
  3. Set the dismissal type to Caught, Stumped, or Run out — the Fielder dropdown then appears.
  4. Pick the fielder. For run-outs, optionally pick a second player as the Assist — both get credited.
Faster route — straight from the scorecard

You don't have to review ball-by-ball just to get fielding stats. Open a match and choose Edit Scorecard — the batting table has Bowler and Fielder columns beside each dismissal (a + add appears on empty ones; not-outs show —). The cells follow the dismissal: change "How out" (say, not out → run out) and the row updates — a run out offers fielder(s) only, no bowler; credit two fielders as Smith / Jones and both get the run-out. Fill them in and fielding populates the same way. The app reads the scorecard first and falls back to any ball-by-ball tags, so a dismissal is never counted twice. This is how imported, un-reviewed matches get fielding numbers.

Where fielding stats show up

🧤
Players → Fielding tab
Pick a player, switch to the Fielding sub-tab for the full breakdown.
📊
Season Summary → Fielding
All players: catches, stumpings, run-outs, total, matches contributed.
👤
Players → Bowling tab
Fielding card with four stat boxes (the full breakdown lives on the Fielding tab).
📈
Match timeline (in match detail)
Per-match tally listing each fielder and who they dismissed.
🔍
Team Analysis (bowling view)
Aggregate fielding contributions across the active filter.
⚖️
Player Comparison
Third tab: compare two players' fielding side by side.
⚔️
Head to Head
Wicket breakdown shows the fielder who took each catch/stumping.
👥
Players roster
"Field" column — total dismissals, tooltip with the breakdown.
📄
PDF exports
Match report: fielding contributions section. Player report: a dedicated Fielding section with per-match log.
🥎Caught and bowled? Pick the bowler as the fielder — they get the catch credit. Wicket-keeper catches use the same picker; just choose the keeper's name.
Seasons & the global season filter

Each match has a Season field, set at import. It auto-derives from the match date using the Australian convention: matches in Oct–Dec belong to that "YYYY/YY+1" season (e.g. 2025-11-04 → 2025/26), and matches in Jan–Sep belong to the previous start year (e.g. 2026-02-10 → 2025/26). You can override the auto-fill before saving.

Working out roles from the scorecards

The Squad page offers a role for every player it can work one out for, from where they bat, how many overs they bowl, and who takes the stumpings — only the keeper can stump, so that one is certain rather than inferred. Press Apply on a row or Apply all. It only ever fills a role still marked unknown; anything you have set yourself is left alone, and a failed save puts the player back rather than leaving a half-applied change.

It is deliberately cautious and will leave a lot of players unknown — a part-time bowler batting in the top order genuinely could be a batter or an all-rounder, and guessing would quietly skew the battle plans. As more seasons are imported those players become answerable, so re-open the Squad page after an import. Batting hand and pace-versus-spin are not in a scorecard and always need you; they are what the battle plans and matchup planner need most.

Ladder

The grade ladder for a season, built from the matches you've imported rather than copied from anywhere — so it only tells the truth if the whole grade is in. Finals and washed-out rounds are both excluded: a ladder is the home-and-away season, and the association removes an abandoned round rather than sharing points for it. Your club's row is highlighted and a red line marks the top four.

Points can't be worked out from a scorecard. Checked against the real 2025/26 ladder, no consistent rule reproduces the association's totals — outright results, forfeits and administrative adjustments simply don't appear on a scorecard. Everything else does, and matches their table exactly: played, wins, losses, runs for and against, wickets, and Q. So press Enter official points and type the eight numbers off PlayHQ; the ladder is then exactly right, and your entry is saved and shared with the other coaches. Leave them blank and you get derived points, marked with an asterisk to show they're an estimate.

Q decides places when clubs are level — runs per wicket scored, divided by runs per wicket conceded. That's the association's own tiebreak, confirmed against their published table. Net run rate is shown too but doesn't decide anything, and is slightly out because a side bowled out appears to be charged its full over allocation, which a scorecard doesn't record. The line above the table checks that wins and losses balance across the grade — if it warns you, some games are being scored from the wrong side and the ladder shouldn't be trusted until that's fixed.

Global season, grade & team filters (top bar)

Two filters live in the top bar and apply to every analysis page (Dashboard, Batting, Bowling, Fielding, Season Summary, Partnerships, Head-to-Head, Comparison, Opposition, Team Analysis). Both are multi-select: tick All for everything (the default), or tick any combination — e.g. just 2024/25 + 2025/26, or your 1st XI + 2nd XI but not the 3rd. The button shows the current pick ("2 seasons", "1st XI", …). The team filter stays hidden until the club has more than one team in the data.

Grade separates the competitions the club plays — the Saturday shield and the midweek T20 tournament. They are not comparable: a T20 strike rate dragged through a two-day batting average describes nothing real. Pick the shield and every analysis page — averages, records, form, scouting, Match Day — counts Saturday cricket only. This filter appears once a second competition is in the data, and unlike season and team it is remembered between visits, so you set it once rather than re-picking it every time you open the app.

The Match Day pack opens with an At the toss card: what your captain should do if they win it against this opponent, and what to expect if they don't. The call comes from the opponent's own record batting first versus chasing, read across the whole grade rather than just games against us. It only speaks when the gap is bigger than the sample could produce by chance — otherwise it says there's no read and falls back to batting first as a convention, which it labels as such. It never averages two contradictory signals into a confident answer; if they point opposite ways it tells you that instead.

The toss is read off the scorecard PDFs and shown on Team Analysis (with your record after winning and losing it) and on Opposition (what they choose when they win it — useful before match day). Two different kinds of number sit on that card: who wins the toss is a coin flip, so the card says outright when a split is just chance rather than a home-ground advantage; what the winner elects to do is a real decision and worth scouting. Matches whose scorer never entered a toss are excluded and the card states how many.

Two things deliberately ignore the grade filter. The Matches board keeps its own grade dropdown and always lists everything — hiding games there would mean nobody reviews them. And Data Health always checks every match in the database, telling you plainly when some of them are hidden from your analysis pages: a problem you've filtered out is still a problem.

📅Old imports without a season set use the date-derived value. If date is missing too, they show under "(no date)" and can still be filtered.
Player roles — suggested, never assumed

The Squad page offers a role for any player who hasn't got one, worked out from what the scorecards already show: where they bat, how many overs they bowl, and stumpings. Press Apply on one or Apply all — nothing is written until you do, and a role you have set yourself is never overwritten.

🧤A stumping is the one thing a scorecard proves outright — only the keeper can make one — so keepers are identified with confidence. It counts stumpings in different matches, because two in one innings usually means somebody filled in while the gloveman was off.
❓Unknown is a real answer. A medium bowler batting mid-order looks exactly like a genuine all-rounder on a scorecard, so those are left alone rather than guessed at. Two things no scorecard can ever supply and which still need a human: bat hand (right or left) and pace or spin. Both gate the battle plans, so they're worth filling in for our own XI and for the next club or two you play.
Bulk player import / export

The Players page header has three CSV buttons for managing the roster in bulk:

📋
CSV template
Downloads a blank template with the right column headers — Name, Club, Role, Batting hand, Bowling arm, Bowling style — plus one example row.
⬇️
Export CSV
Downloads your full roster as a CSV. Good as a backup before bulk edits.
⬆️
Import CSV
Uploads a CSV. Existing players are updated by name; new names are added. Validation runs first — errors are listed before anything is saved.
⚠️Role must be one of: bat, bowl, allround, wk. Batting hand must be RH or LH. Other fields are free text.
Player PDF reports — now portrait

Player reports print as A4 portrait, with a new Team context section at the end showing the player's batting and bowling rank among teammates, their share of total team runs and wickets, and the team's boundary & dot-ball % for context. Match reports remain landscape.

Team logos

Opposition logos appear next to team names in the match list, match detail, match timeline, Head-to-Head matchup card, Opposition Analysis header, Dashboard recent matches, and PDF reports. When no logo is configured, a circular initials placeholder shows instead — the layout stays consistent either way.

Adding a logo
  1. The logo PNGs live in the logos/ folder of the project (the GitHub repo). Add the new PNG there — lowercase, no spaces, transparent background, ~90px square (e.g. mitcham.png).
  2. If the file name doesn't already match the team's slug, add an entry to the TEAM_LOGOS object in index.html:
    'mitcham': '/logos/mitcham.png',
  3. The key is the team's slug. For most teams that's the lowercase first word ('mitcham' matches "Mitcham CC", "Mitcham 1XI"). For teams whose first word is a generic geographic prefix (north / south / east / west / st / saint / new / old / upper / lower / mt / mount), use two hyphenated words so e.g. 'north-ringwood' doesn't collide with 'north-croydon'.
  4. Commit and push to GitHub — the site auto-deploys from the repo, so the logo goes live within seconds. (Ask Claude to do the add + push; the logos are versioned in the repo so they're never lost.)
🛡️If a logo file is missing or fails to load, the app silently falls back to the initials placeholder — the UI never breaks.
Match Ratings

A SuperCoach-style rating that measures how a player went relative to everyone in the match. Each game shares a fixed 500-point pool across all players on both teams — split in proportion to a performance score — so a great game in a match you lost to better opponents rates lower than the same game in one you dominated. There are no caps and no floors: a poor game takes a negative share, a dominant one an outsized share, and every match still totals exactly 500.

The Players → Match Ratings tab is the one to live in. It carries the career headline (matches, total, average, best), a round-by-round table for one season with the running total and average beside each game, and two career tables: how he rates against each club, and a line per season. Each row also splits the raw score into bat / bowl / field, and shows where he finished among every player rated in that match, both sides.

What earns points

Runs and wickets are the foundation. What changed in September 2026 is how much the situation counts — the exact figures are always in the ⓘ How are these points calculated? panel wherever ratings appear, which is built from the live scoring table and so can never drift from this page.

Batting
  • Where you walked in counts. Runs made after coming in at 3/12 are worth more than the same runs at 3/180 — up to 30% more. Difficulty is judged against the match's own runs per wicket, so a low-scoring day isn't mistaken for a collapse. A par entry changes nothing and an easy one is docked at most 10%.
  • A failure is never amplified. Getting out cheaply in a crisis is not treated as worse than getting out cheaply at 3/180 — the multiplier only ever lifts a positive score.
  • Openers are neutral. With no wickets down there is nothing to measure. Facing the new ball is hard, but a scorecard can't see it, so the model doesn't pretend to.
  • No penalty for a slow strike rate. Batting through a hostile spell can be worth as much as scoring quickly, and a scorecard can't tell that apart from a batter who got stuck. Quick scoring is still rewarded — the asymmetry is deliberate.
  • Milestones stack. Passing 50 keeps the 30 bonus and a hundred keeps both, so a big innings compounds instead of earning one flat bump.
Bowling
  • Economy is judged against the match, not a fixed number. Scored as runs saved — par for that game multiplied by your overs, minus what you actually went for. Seven an over in a T20 and three in a two-dayer are both simply par. The old fixed bands rewarded format rather than skill: they were paying the top bonus to three-quarters of all two-day spells while penalising a T20 bowler for going at the median for his own format.
  • Breaking a partnership counts. The bowler who ends a stand gets credit on top of the wicket, scaled to how big the stand was. Nothing under 30 — most partnerships are small and a routine wicket is already paid for — rising to a meaningful bump for ending a big one.
  • Milestones stack here too, so a five-for keeps the three-wicket bonus.
⚖️All of the context adjustments are deliberately mild and capped. With roughly sixty rated matches a season, a heavier weighting would swing the leaderboard by amounts indistinguishable from luck. The pool is already relative to the match, so situation is partly priced in before any of this is applied.
📋Entry points and partnership breaks both come from the fall of wickets on the scorecard. PlayHQ occasionally omits a wicket from that list — where it does, that batter simply gets no entry adjustment and that stand isn't credited, rather than the app guessing.
Where to find it
  • Match Ratings panel — a season leaderboard of our players (total / average / best) plus a per-match breakdown you can page through.
  • On each match's page — the full split for that game, our rows tinted green, with our share of the pool.
  • On the Players page — its own tab alongside Batting, Bowling and Fielding. It was previously tucked inside the batting and bowling pages, which buried it under everything else.
The opposition's individual scores feed the split but aren't shown as their own leaderboard — they're context, so our players read against the whole contest. Tap ⓘ How are these points calculated? on any of these for the full scoring table.
↕️Every column sorts. On both leaderboards — the season board on Match Ratings and the grade-wide one on Grade Averages — click a column heading to sort by it and click it again to reverse. Total and average answer different questions and it is worth looking at both: total rewards a season's work, average rewards the best days. Live in the 2025/26 shield the grade leads with one player on total and a different one on average. Because a short season can top an average, a thin sample is badged thin whenever you sort that way — there is currently a player 4th on average off a single match.
Section 5
Match prep & insights
The pages that turn the raw data into decisions — your dashboard, the auto-read of every player, and the pre-match pack.
The Dashboard — your rundown

The home page leads with a plain-English verdict ("Lost two of the last five"), then a form ribbon (our innings vs theirs, match by match), your record, season leaders with bat and ball, and recent results — newest first, click any to open it. A thin amber strip at the very top flags anything in Data Health that needs attention.

🎯What wins us matches. The strongest few factors separating our wins from our losses, as paired bars — win rate when it holds (green) against when it doesn't (grey). Live it leads with "build a 50+ partnership → 80% v 22%". Only factors with a real sample on both sides and a gap worth noticing appear; the rest are on the Win Factors page. They are associations, not instructions — nobody wins by deciding to have a partnership.
📈Season arc. Cumulative wins minus losses through each season, all on one pair of axes, so "are we getting better?" has a shape. Above the line is a winning season and the dot marks where it finished. Draws sit flat — they neither help nor hurt.
📅Coming up. Once the draw is loaded (see The season ahead), the next few fixtures appear with the opponent, home or away, our head-to-head record, their last five results and a button straight into the prep pack.
Scouting reports & form (Batting / Bowling pages)

Pick any player — ours or an opponent — and the page opens with a Scouting report: a verdict-first read of their game in plain English (vs pace/spin, how they score, how they get out, slow starter or not for batters; economy by hand, wicket method, dot pressure for bowlers). Below it, Form & development shows a sparkline of recent innings with an arrow — ▲ trending up, ▼ in a dip, or ▬ steady — comparing their recent half to earlier.

🏏The verdicts are format-aware. A 67% dot rate means "builds pressure" in a T20 but is ordinary in a two-day grind, and lofted hitting reads as risky with the red ball yet routine in a blast — so the thresholds shift by format. A small "{format} lens" chip on the report shows which format's norms it's reading against (set the format filter at the top for a pure read).
🎯Aggregate rates are sample-aware: across a season or career, a number from a small sample (under ~30 balls or 3 innings) is faded and tagged thin, so a 5-ball verdict never masquerades as a settled one. In single-match views (one match selected, or the Match Timeline) the thin tag is hidden — everything there is one innings, so the caveat would just be noise.
Opposition — one door to everything about a side

Opposition is now the single entry point; Match Day is no longer its own nav item. Pick a club and you get their dashboard, with a toggle between Against us (usually a couple of matches — colour, not proof) and Across the grade (about fifteen — the real read, plus their form from their own perspective). There is also a "How they'll plan for us" card: the mirror of our battle plans, built from the bowler credited with each of our dismissals.

Press Prep for match vs X and you pick which of their players to plan around — there is no cap, because you don't know their side until a couple of days out. Ranked by grade-wide appearances. That leads to the match-day pack, now targeted at exactly those players.

🪙The toss call. The pack opens with what the captain should do if we win the toss, from the opponent's record batting first against chasing. It leads with the action then the reason ("Bowl first — that puts Lilydale in to bat, and they've won 0 of 7 batting first"), and when the evidence is too thin it says so and falls back to convention rather than inventing a recommendation.

Inside the pack: you get your head-to-head record, their key batters (how we've dismissed them, where they score), their dangerous bowlers, your recent form, and auto-generated Battle Plans — an imperative per top-order batter pairing their weakness with the bowler who's dismissed them ("Bowl spin — start Rory Tattersall"). Get here in one click from Opposition → Prep for match day. Hit Print match day pack for an A4 sheet the captain can carry.

🎯The Matchup planner card turns the battle plans into a sheet: each key batter → their weakness → which of our bowlers to throw at them (ranked, with ✓ marking anyone who's dismissed them before). It's on the Match Day page and in the printed pack.
🔑Keys to the contest. Two win-factor cards sit side by side — how we win & lose and how they win & lose (from the whole grade's decisive results, so they sharpen as you import more games). Green ▲ = chase it (for us) or deny it (for them). Below, their recent form across the grade shows how the opponent's travelling, and each key batter's Recent column lists their last few scores — who's in nick. All on screen and in the printed pack.
Opposition is now the single way in

There's no separate Match Day tab any more — everything about an opponent starts from Opposition. Pick the club and you get their dashboard, with a toggle at the top:

  • Against us — our head-to-head. Usually only a couple of games, so it's colour rather than proof, and the page says so.
  • Across the grade — their whole season against everyone. A far bigger sample and the better guide to how good they actually are: their form, their real run-scorers, their wicket-takers.

When you're ready to prepare, press Prep for match vs …. That opens a screen listing everyone who has played for them this season, sorted by games with runs and wickets alongside. Tick whoever's in contention — there's no limit, because you won't know their final side until a couple of days out and covering everyone beats guessing an exact eleven. Then Build the pack →. Every screen has a way back, and your picks are saved and shared with the other coaches.

What the pack narrows to

The Expected XI card is yours to set, not a guess. Pick as many players as you like — the list is ranked by games played across the grade, with runs and wickets alongside, so the likely names float to the top; the call is yours. The moment you pick, the key batters, battle plans and bowler threats all narrow to those players — so you're prepping the actual line-up, not the whole club. Leave it blank to analyse everyone. Your pick is saved and shared with every coach, and the printed pack prints the XI you chose. Tap a green chip again to drop a player, or Clear selection to reset.

Coaching notes — curate & share

The Notes page is a shared notebook for training and match prep. Write free-form coaching points, then pin live analysis straight into a note — a player's wagon wheel & scoring zones, or an opponent's battle plans. Notes are saved and shared with every coach automatically.

1
New note
Give it a title and write your points. Optionally tag an opponent and a player so it's easy to find later.
2
Pin analysis
+ Add analysis → pick a player's wagon wheel or an opponent's battle plans. The pinned card always reflects the latest data (it's a live reference, not a snapshot), so a note stays current as you review more footage.
3
Share it
Open a note and tap ⬇ Export PDF → Save as PDF, then drop it into the team chat. Works on the phone too — great for sending Thursday's training focus to the group.
📝Notes are one of the bottom-bar tabs on mobile — so a coach can read the week's plan (and the pinned wagons/battle plans) on their phone at training.
Match results — and two-day games
Limited-overs results are read automatically from the run totals. A two-day result can't be (declarations, draws, first-innings points), so set it yourself in Matches → Edit → the Result dropdown (Won / Lost / Drawn / Tied / No result). Until you do, two-day games show "result not set" and are listed in Data Health → Two-day results.
Outright results (two-day)

Most two-day games are decided on the first innings — just set Won / Lost / Drawn as above. For the rare outright (a side bowled out twice and beaten on aggregate), open Edit Match, tick "Decided outright", and say how our first innings went. The app then scores the RDCA premiership points correctly: an outright win leading on first innings = 12, from behind = 8, an outright tie = 6, and a first-innings lead that's then beaten outright still = 4 (not 0). The match page shows the result and points side by side (e.g. "Lost outright · 4 pts"). Points are per match, and they also drive the Ladder tab.

Match video — where the footage comes from

Streams are matched to games automatically from the RDCA club YouTube channels. The pairing uses the time the stream started and the channel it came from, not the video title — titles are not a convention anyone enforces, and a club streams its 1st, 2nd, 3rd and 4th XIs from the same channel on the same afternoon. A title still has to name both clubs before a link is accepted, which is what stops a 4th XI game being hung on a 1st XI fixture.

One video per day of play. A two-day match therefore needs two, a week apart, and each innings is pointed at the right day automatically.

Data Health → Match video lists the days that have no stream, and takes two answers:

  • No stream — you know it was never filmed. It drops off for good, and stays reversible in the list underneath.
  • Look for it — you think one exists under an odd title. It stays on the list, flagged, so it isn't forgotten.
🎥Days on which nobody batted are never listed — a two-day game whose first day was washed out is still a played match, but there was nothing to film.
Conditions — and two-day games have two of them

Every match carries the weather for the day it was played, fetched once and kept. A two-day match shows both days side by side, because day 2 is usually a week later and can be a completely different afternoon — across our own games the two days differ by 3.4°C on average, ten matches are 8°C or more apart, and 23 had one damp day and one dry. Each innings is scored against its own day in the conditions analysis.

Grade Averages — reading a number against the field

Every club in one grade season on the same measures: runs per wicket and runs per over, batting and bowling, so grades with different innings lengths stay comparable. Built from scorecards, so it doesn't need ball-by-ball.

Colours compare each club to the grade median, not the mean — with eight clubs one heavy scoring side drags a mean and makes half the grade look worse than it is. Both are shown at the foot of the table. The same comparison appears on Team Analysis and on any opponent's page, always against the grade that side played in.

Data Health — keeping it clean
🗂️It's in five tabs. Overview (the to-do list and the app's own self-tests), Matches & rounds, Scorecards, Players, and Season coverage — where the round-by-round grid lives, one season and grade at a time rather than all six at once.
🧾Scorecards that don't add up. A PlayHQ scorecard prints its own total, so the batting rows plus extras must equal it. Where they fall short a batter is missing from the card — usually a name or dismissal that wrapped onto another line in the PDF. The score shown everywhere else is still right (it comes from the official total), which is exactly why this goes unnoticed. Re-importing the match is the fastest fix.
🌧️A whole round with no play is reported once as a washout rather than as several broken imports, with a button to mark the round. One empty game among played ones is still treated as a real gap.
👤Odd player names now show which match they came from — date, clubs, innings, batting or bowling — so you can find them in the original PDF. If a name is simply long and correct (plenty are), press ✓ Checked and it stops being flagged; checked names sit in their own list with an Undo.
🚫Fill-in Player and Private Player are not people. The first is what a scorer enters when they don't know who batted or bowled; the second is a registered player who has opted out of having their name published. Neither can ever be resolved, so they're kept out of your club's player lists and out of every check that asks for a fix — and listed once, with their counts, so you can see they've been set aside rather than lost. Their runs still count towards team totals, because someone did score them — and since September 2026 they are rated in the match they played in, rebuilt from the ball-by-ball, so their share of the 500 points is no longer quietly handed to the named players. They never appear on a season leaderboard: across a season the same label covers dozens of different people.
🔍Reconciliation now names names. When an innings’ ball-by-ball disagrees with its scorecard, the row says what differs — "the ball-by-ball is missing 4 byes", "A. Smith is 4 runs short", "C. Jones is out on the scorecard but has no wicket ball". Press Details to see the exact components, the batters involved and the over.ball of each dismissal, then Fix → to jump straight into that innings of the scorecard editor.
⚖️These figures are not your scores. Everything the app displays — totals, averages, the dashboard — comes from the scorecard, so it is already right. Reconciliation is only about the ball-by-ball detail behind it, which feeds wagon wheels, pitch maps and the review screen. An amber row means "the detail is incomplete here", not "the score is wrong".
🔁If an innings starts part-way through, try play.cricket. When PlayHQ's ball-by-ball begins at, say, over 13 of 20, the balls that are there all come from one part of the innings — so a phase or pace-versus-spin read built on them isn't just thin, it's wrong. play.cricket carries the same match and sometimes has the whole thing. The row offers a Fetch from play.cricket upload only when the innings starts late, because when a scorer simply stopped entering, play.cricket stops at the same over and there is nothing to recover. The upload is refused unless the file adds balls and reconciles to that innings' printed total, and your review work is kept.
📄If PlayHQ simply never published one. Some innings genuinely have no ball-by-ball tab, and re-scraping will never produce one. Press No ball-by-ball: inn N on the Import completeness row to say so — that innings stops being flagged and the scorecard stands as the full record. It shows on the match with an Undo. Try re-printing the tab first: an empty ball-by-ball PDF is usually a print taken before the ball list finished loading, and that's recoverable.
📉A match missing its ball-by-ball? Almost always the PDF was printed before PlayHQ finished loading the ball list — scroll the whole innings into view first. You do not need to delete the match: re-print just that one tab and drop it back on the Import page. The app recognises the game and offers to fill the missing balls into it, keeping any review work you have already done. The import also warns you at the time if a ball-by-ball tab comes through empty.
⛅Washed out or called off? PlayHQ still publishes a fixture that was never played, so it imports with no scorecard and gets flagged as an incomplete import. On the Import completeness row (or the red re-import card, if it appears there), press Not played →, pick the reason (washed out / heat policy / ground unfit / forfeit, for a game awarded without a ball bowled), and — since a washout usually takes the whole day — choose whether to apply it to the entire round in one go. Those matches then sit under Marked as not played, count as No result, and stop being flagged. Undo any time.
📦Imported with an older importer. The PDF importer is versioned, and every match records which version read it. If the importer has since been improved, those matches are listed here — delete and re-import them from the same PDFs to pick up whatever the newer version reads correctly. Their scorecards are unaffected; it is the ball-by-ball that may be missing deliveries.

A prioritised to-do list anyone can act on: run/wicket reconciliation, players missing a bowl style or role, two-day results to set, and annotation coverage. Each item links straight to the fix. The dashboard nudge points here — green when all clear, amber when there's work.

📚Evidence coverage. Data Health shows how much data actually backs the models — games, % with ball-by-ball (feeds momentum, win-probability, phase reads), review % (shot zones / pitch maps), and how many players have a stable sample (≥8 innings) — broken down by season and by team. Use it to see where a read is still thin before you trust it, and to plan which games to import next.
🕰️Recency emphasis. Teams change players and style year to year, so old games are weaker evidence. Set recency to Moderate or Strong (a 2- or 1-season half-life) and the scouting rates and rankings — opposition batter/bowler profiles and the Team-Analysis landscape — lean on recent seasons. Volume counts stay honest; only the rates tilt. Leave it Off to weight every game equally. It's shared with all coaches.
Conditions — heat & rain

Team Analysis and Opposition both carry a Conditions card for cool, mild and hot days, and dry versus damp: W–L, par batting (their average innings total), par bowling (the average they concede) and runs per wicket. Par is the quick read; runs per wicket is the fairer batting comparison when innings lengths differ. W–L counts each match once, so a two-day game doesn’t vote four times.

🌡️Read the innings count first. A weather split is the easiest place in the whole app to see a pattern that isn’t there. Rows built on fewer than six innings are faded and marked thin, and the card refuses to state a verdict at all until both sides of a comparison have a real sample. On the 2025/26 season it says "no clear weather pattern" for every club — which is the honest answer, not a fault. It becomes useful as seasons accumulate.
📍Conditions come from the ground’s recorded weather for that date (via the venue), not from what anyone reported at the game. They’re stored the first time a match is opened, so they only need fetching once.
Focusing on teams (1st XI / 2nd XI)

Filters are club-level throughout: the same side is stored under several spellings ("Croydon Ranges", "Croydon Ranges 1XI", "Croydon Ranges CC 1XI"), so grouping by club keeps every match together instead of splitting them across near-identical entries. If your club ever plays under more than one club name, a club filter appears in the top bar next to the season filter — multi-select, narrowing the whole app (dashboard, analysis, Match Day) to whichever you tick. The season filter works the same way.

Section 6
The season ahead
The ladder, where we're likely to finish, and what to do when the draw arrives.
The ladder

Once a whole grade is imported the Ladder builds itself from the matches — played, points, W/L/D/T, runs and wickets for and against, and Q, which is the association's actual tiebreak: (runs for ÷ wickets lost) ÷ (runs against ÷ wickets taken). Net run rate is shown but decides nothing, and the two genuinely disagree — on the real 2025/26 table North Ringwood finished above Ainslie Park on Q with the worse net run rate.

🧮Two things a scorecard can't tell us. Whether a two-day win was outright (12 points rather than 8 — tick it in Edit Match) and any administrative adjustment the association applied. Where those matter, press Enter official points and type the totals straight off PlayHQ; the order then reproduces the published table exactly.
Projected finish

While fixtures remain, the ladder carries a projection: the remaining games played out two thousand times, giving each club the win rate it has actually earned this season. You get each club's projected points, its likely finish, the range it landed in across those runs, and the chance of top four or first.

⚖️Read the range, not the median. The assumption is deliberately crude — that a club keeps performing as it has, whoever it plays, wherever, and whoever is available. Early in a season the ranges will be wide, and that is the answer. It is built for "are we still in this?", not for anything that matters more than that. The same fixtures and the same form always give the same numbers, so it won't wander between refreshes.
When the draw arrives

A fixture is simply a match that hasn't happened yet, so there are no PDFs to import. Go to Import → The season draw, set the competition and format, and paste the list — one game per line:

2026-10-03, R1, Croydon Ranges 1XI, Montrose 1XI, Springfield Reserve
10/10/2026, R2, Norwood 1XI v Croydon Ranges 1XI

Order is date, round, home, away, venue — the venue is optional. It is forgiving: commas or tabs, v or vs instead of a comma between the sides, and dates either ISO or day-first Australian (03/10/2026 is 3 October). Press Check the draw first — it shows what it read, flags anything already in the database, and names any line it couldn't understand rather than quietly skipping it.

✅Nothing to undo later. Loading the draw fills in Coming up on the dashboard and switches on the ladder projection. When each game is played you import its PDFs exactly as normal and the fixture fills in — you don't delete anything first. Re-pasting the same draw is safe too; a fixture already in the database is recognised however the teams are spelled or which way round they're listed.
Section 6
Exporting reports
Print-ready PDF reports — match reports in landscape, player reports in portrait with a team-context section.
1
Go to Export Reports
Match reports on the left, player reports on the right. Search and filter to find what you need. Each match shows a review progress bar.
2
Click "Export PDF"
A print window opens. Set Destination → Save as PDF.
⚠️Allow pop-ups for crcccricinfo.netlify.app if Chrome blocks the window.
📋
Match report
Batting scorecard + bowling figures per innings · Phase breakdown · Top scorer and bowler.
👤
Player report
Batting: avg, SR, wagon wheel, phase, vs bowler/style, innings log. Bowling: wickets, economy, pitch map, wicket types, vs batters.
Section 7
Reference
Phase boundaries, glossary, and tips.
Match formats and phase boundaries
FormatPhase 1Phase 2Phase 3Phase 4
T20Powerplay
Ovs 1–6
Middle
Ovs 7–15
Death
Ovs 16–20
—
One DayPowerplay
Ovs 1–10
Middle
Ovs 11–30
Death
Ovs 31–40
—
Two DayPowerplay
Ovs 1–10
Middle
Ovs 11–55
Late
Ovs 56–70
Death
Ovs 71+
Glossary
Wagon wheel
Circular diagram showing where a batter hit the ball. Oriented for batting hand.
Pitch map
Top-down view of pitch showing where each delivery landed — length across 5 line zones.
Play and miss
The batter swings and misses. Key indicator of bowler dominance.
Strike rate (SR)
Batting: runs per 100 balls. Bowling: balls per wicket.
Economy (Econ)
Runs conceded per over. Lower is better for bowlers.
Dot ball (·)
Delivery where no runs are scored. Dot balls build pressure.
Best bowling (BB)
Best figures in a single innings, e.g. 4/32.
N/O (Not out)
Batter not dismissed — shown as 67*. Excluded from avg calculations.
Partnership
Runs scored while two batters are together.
Wicket cluster
3 or more wickets falling within a 5-over window — indicates a collapse or dominant spell.
Follow-on
When the team batting second is forced to bat again immediately. The app handles this correctly — teams can bat in consecutive innings.
RPO
Runs per over — scoring/conceding rate in a phase or over.
Tips
✓
Set player details first. Batting hand and bowling style unlock wagon wheel orientation and vs Bowling Style analysis.
✓
Review in short sessions. 30 minutes a night across a week gets through a full two-day match.
✓
Sort any table. Click a column header once for ascending, again for descending.
✓
Use Head to Head before selection. Knowing a bowler has dismissed a batter multiple times is valuable.
💡
Export JSON regularly. Use Export JSON in the top bar as a backup of all data.
All pages
Edit match details
INNINGS ATTRIBUTION
—
Swap flips home and away in every innings at once. To put an innings in a different slot — when the order itself is wrong, not just the sides — use the dropdown on that innings; the ball-by-ball, scorecard and video move with it. Save to persist.
MATCH VIDEOS
Review Match plays the stream beside the ball list. Changing a link clears the saved ball timestamps for the innings it covers.
Edit pitch zone
Click to place ball on pitch
No zone selected
Full ·
Good ·
Short
Columns: Leg · Stumps · Off
Wicket ball (▲)
Ball-by-ball innings
Why wasn't it played?