Trentham Rifle Club — Shooter Analysis Guide


Trentham Rifle Club · Reference Guide

Shooter Analysis

A section-by-section guide to analysis.html — how to use it, what each part shows, why it's worth looking at, and what to watch for.

How to use this page

  1. Pick a shooter in the Shooter panel at the top. Nothing else on the page renders until you do — type a name or choose from the dropdown, and keep typing until it's an exact match.
  2. Check the Filters bar just below it. It's sticky, so it stays visible as you scroll, and everything below reads from it first. The defaults suit most browsing — you only need to touch it to narrow in on something specific.
  3. Scroll down. Panels run broad-to-detailed: career trend lines first, then per-range summaries, then per-shot and per-string detail, then the raw data tables at the bottom.
  4. Use each panel's own local controls — a Range or Category dropdown, a Rolling avg field — to drill into one panel further without disturbing the rest of the page.
01

Getting Started

The two controls that gate and scope every panel below.

Shooter

Input
shooter panel example
Live example — shooter “BJ M”
What it shows

A single free-text field, backed by a name list. Selection only counts once the text is an exact match to a known shooter.

Why it matters

This page is a per-shooter deep dive, not a club-wide dashboard — picking the shooter is what switches every chart and table on.

Watch for

A half-typed name looks like a selection but isn't — if the page below stays blank, look here first before assuming a data problem.

Filters

Filter bar · sticky
filters panel example
Live example — shooter “BJ M”
ClassGradeCoachedTrainingBisleyCCString lengthUnits mm/MOADate range
What it shows

One shared set of filters that every panel below reads first, before applying any local filters of its own.

Why it matters

Set "Club Champs strings from this season only" once here, instead of repeating the same choice on a dozen separate panels.

Watch for

Several defaults aren't "All", which is the most common cause of a panel looking emptier than expected:

· Class

defaults to the shooter's most recent category, not All — check this first if a panel looks thin.

· Grade

is TR-specific and greys out unless Class is All/TR and the shooter has TR strings.

· Coached / Training / Bisley / CC

are each a 3-way cycle — No (exclude) → Only → All. Coached and Training start on No; Bisley and CC start on All.

· String length

defaults to 10. Personal Best and Club Champs Best figures always use 10-shot strings regardless of this setting.

· Date range

is a drag handle, not a pair of date boxes — the histogram behind it shows how many strings fall in each week, so you can see where the data is dense before narrowing.

02

Trend Charts

Career-shaped charts, one point per string, in date order.

Elevation Extreme

Chart
elevation panel example
Live example — shooter “BJ M”
RangeRolling avgExclude worst N
What it shows

The MOA gap between a string's highest and lowest shot (elevation only), one point per string. Always plotted in MOA, even with the page-wide unit toggle set to mm — MOA is the one unit that stays comparable when ranges are mixed together.

Why it matters

A widening spread often shows up here before it shows up in the score itself — an early warning for fatigue, a position issue, or equipment starting to move.

Watch for

Use Exclude worst to test whether one flier is driving a string's spread, or the whole string is genuinely loose. The dashed trend line is always a fixed 10-string rolling average of the raw data — independent of whatever you've set the Rolling avg field to for the solid line. Season names above the chart mark each season's span, so a real step-change at a season boundary (grade change, new rifle) reads differently from ordinary in-season drift.

Score Trend

Chart
scoretrend panel example
Live example — shooter “BJ M”
RangeRolling avg
What it shows

Points (left axis) and Inners (right axis) together on one chart, one point per string. Defaults to every range except 300m — pick 300m explicitly from Range to see it.

Why it matters

The two lines don't always move together — Inners often improve before Points does, flagging a shooter who's grouping tighter than their score yet shows.

Watch for

Same season-band markers and rolling-trend behaviour as Elevation Extreme above. A Points line trending flat while Inners climbs is worth a closer look at the Heat Map and Per-Shot Breakdown panels further down.

03

Range Summary

Where this shooter stands, broken down by range.

Shooter Overview

Chart + Table
overview panel example
Live example — shooter “BJ M”
Category
What it shows

A per-range bar chart plus a table: Strings, Avg Points, Avg Inners, Consistency, Trend, PB Overall, PB This Season — Points and Inners always kept separate, never combined into one score.

Why it matters

The fastest way to see which range is a shooter's strength and which needs work, side by side in one table.

Watch for

Consistency is the standard deviation of percentage score — lower is tighter, not higher. Both PB columns are always the single best 10-shot string by points (ties broken by inners) and ignore the page-wide String length filter, so they won't shrink if you switch to 7s or 15s.

Club Champs Range Contribution

Chart + Table
ccrange panel example
Live example — shooter “BJ M”
What it shows

Average % of possible (points only) per range, across the shooter's career Club Champs-flagged strings — excludes 300m, a different competition format. The single best string per range is listed separately below the chart, as points and inners, not blended into a percentage.

Why it matters

Club Champs is the club's own scored competition. This isolates performance specifically under it, apart from ordinary club-day form.

Watch for

This panel doesn't appear at all if the shooter has no qualifying (non-300m) Club Champs strings — that's expected behaviour, not a missing-data bug.

04

Shot Detail Cluster

Four panels that share one range selector.

Point Drift, Shot Cadence, Score vs String Time, and Sighter Details all read from one Range selector (labelled "Shot Detail" at the top of this group, and mirrored again inside Sighter Details itself so it stays visible while scrolling) — each needs full per-shot position or timing data for one range at a time. It defaults to 300yds when the shooter has data there, otherwise their most recent range.

Point Drift

Chart
pointdrift panel example
Live example — shooter “BJ M”
What it shows

Each string's mean windage (X) and elevation (Y) — the centroid of its shots, offset from target centre.

Why it matters

Shows drift between strings — a group consistently pulling left, or creeping up over a session — separate from the spread within any one string, which can average itself out and hide here.

Watch for

One outlier string could be a single called flier, or a genuine group shift. Cross-check it in All Strings' Plot view to tell the two apart.

Shot Cadence

Chart
cadence panel example
Live example — shooter “BJ M”
What it shows

Average shot score, grouped by how long the pause was since the previous shot. Not shots-per-minute — it's specifically about the gap before each individual shot.

Why it matters

A direct answer to a real coaching question: does this shooter's score drop when they rush, or when they take too long between shots?

Watch for

Needs ShotMarker timing data — older or hand-recorded strings without timestamps simply won't appear here.

Score vs String Time

Chart
scorevstime panel example
Live example — shooter “BJ M”
What it shows

One point per string — total elapsed time across its counting shots against that string's average per-shot score — with a trend line fitted through them.

Why it matters

Flags whether this shooter scores worse under time pressure (fast and weak), or whether taking their time is actually paying off.

Watch for

Hover any point to pop up that exact string's real shot plot — a fast, low-scoring string can be inspected directly instead of taken on faith. Also needs ShotMarker timing data.

Sighter Details

Stats + Chart + Table
sighter panel example
Live example — shooter “BJ M”
What it shows

1st and 2nd sighter broken out separately — fired count, average score, mean position, and how often each was converted — fired as a sighter, then reclassified as a counting shot rather than staying a non-scoring shot — plus Sighter Scores and Sighter Elevation charts (one line per slot), and an optional Sighter Positions plot and table.

Why it matters

A shooter who often converts their 2nd sighter into a scoring shot is making a different tactical call than one who always fires both as pure, non-scoring sighters — this is the one panel that pulls that distinction out on its own.

Watch for

An "Unconvertible Sighters" block only appears if the shooter has any — those are sighters marked as never eligible for conversion, pooled together rather than assigned to a 1st/2nd slot. The two line charts (which track a sighter's score as a non-scoring shot) skip straight to the next string where that slot wasn't converted, rather than breaking the line at every converted one.

05

Every-Range Panels

One small tile per range, side by side, no shared selector.

These four render one tile per range the shooter has shot-position data for, laid out side by side so ranges can be compared directly — they read the Filters bar above but have no shared range selector of their own.

Shot Sequence Analysis

Table · per range
sequence panel example
Live example — shooter “BJ M”
What it shows

Shot 1 vs. the rest, and 1st half vs. 2nd half of each string — Avg Score, Avg Dist, Avg X, Avg Y — one tile per range.

Why it matters

A weak first shot repeated across many strings usually points to a settling-in or natural-point-of-aim issue; a weak second half points to fatigue or a concentration lapse.

Watch for

Compare Avg X and Avg Y separately, not just distance — a first shot consistently off in one direction is a called-shot or technique pattern, not random spread.

Shot Position Heat Map

Plot · per range
heatmap panel example
Live example — shooter “BJ M”
What it shows

Every counting shot plotted at its real position, one map per range, with scoring rings labelled. A smoothed density layer appears once there are 30+ shots at that range; below that, the individual dots tell the story on their own.

Why it matters

The single clearest picture of where a shooter actually groups — far more informative than an average score alone, and the panel most worth screenshotting for a coaching conversation.

Watch for

With fewer than 30 shots, judge the group by the dot cluster itself — don't wait for a density blob that isn't going to appear yet.

Per-Shot Breakdown

Table · per range
pershot panel example
Live example — shooter “BJ M”
What it shows

Avg X, Avg Y, plus ring-percentage columns (e.g. % 5s / % Vs for TR) by position within the string — shot 1, shot 2, and so on — one tile per range.

Why it matters

Surfaces a positional pattern a whole-string average hides completely — e.g. shot 3 consistently scoring lower than the rest.

Watch for

Read the percentage columns alongside the averages, not instead of them — a low Avg X/Y paired with a low inner percentage points to a group that's central but not tight.

Score Distribution

Chart · per range
scoredist panel example
Live example — shooter “BJ M”
String length (local)
What it shows

Two histograms per range: per-shot ring value (as % of shots), and whole-string points brackets, one bucket per exact points value.

Why it matters

An average score can hide a genuinely bimodal shooter — mostly excellent, occasionally very bad — that a distribution makes obvious at a glance.

Watch for

The points-bracket view has its own local String length selector, independent of the page-wide one — check it's set to the length you actually want before reading it.

06

Shot Radius & Elevation Trend

Four charts, one shared range selector, indexed by shot number.

Radius · Std Dev · Elevation · Std Dev

4 × Chart
radiustrend panel example
Live example — shooter “BJ M”
Analysing range (sticky, own selector)
What it shows

Four charts by shot position within the string (shot 1, shot 2, …): average distance from group centre, standard deviation of that radius, average signed elevation, and standard deviation of elevation. Its own "Analysing range" selector defaults to 300yds when available and stays pinned in view while you scroll through all four charts.

Why it matters

A radius that climbs across shot number within a string is a classic fatigue or grip-drift signature. The two standard-deviation charts separate "the group moved" from "the group got looser" — something a single average can never tell apart.

Watch for

Hover a point on the Radius or Elevation chart to pop up the real shot heatmap for that exact shot number — use it to confirm a suspected pattern against the actual shots, not just the number.

07

Data Tables

The raw record behind every chart above.

All Strings

Table
allstrings panel example
Live example — shooter “BJ M”
What it shows

Every string this shooter has ever fired, regardless of the Filters bar above — sortable and filterable, including a Plot button that opens that string's full shot-by-shot target view.

Why it matters

This is the page's ground truth. If a chart above looks wrong or surprising, this is where to check the underlying rows.

Watch for

Because this table deliberately ignores the global Filters, a string missing from every other panel but present here almost always means the Filters bar (Class, Date range, CC, etc.) is the reason — not missing data. Starts sorted newest-first.

Strings Coached

Table
coached panel example
Live example — shooter “Kevin W” (BJ M hasn’t coached anyone)
What it shows

Every string this shooter coached, across everyone they coached — not scoped to their own scores. Only appears at all if they've ever coached anyone.

Why it matters

Separates a shooter's own performance record from their coaching contribution, which otherwise wouldn't show up anywhere else on their page.

Watch for

This table always includes coached strings regardless of the Coached toggle in the Filters bar — that toggle controls the shooter's own rows, not who they've coached.

Glossary

Terms used throughout the page without re-explaining themselves.

MOA
Minute of Angle, roughly 1 inch at 100 yards — the standard unit for group size and sight adjustment, used alongside mm throughout the page.
CC
Club Champs — a string flagged as counting toward the club championship.
Class / Category
TR, FTR, FTR-Classic, F-PR, F Open, etc. Any class starting with "F" is F-class, scored out of 60 per string instead of TR's 50.
Grade
A TR-specific skill tier. Tyro is a Grade at this club, not a separate Class — it doesn't apply to F-class categories.
Sighter
A practice shot fired before counting shots begin, to confirm zero — doesn't count toward the score unless converted.
Converted
A sighter that was fired, then reclassified as a counting shot instead of remaining a non-scoring sighter.
Unconvertible Sighter (UC)
A sighter shot flagged as permanently non-counting — distinct from an ordinary sighter, which can still be converted.
Personal Best (PB)
The best 10-shot string by points, ties broken by inners — always reported as points and inners separately, never blended into one percentage.
Points / Inners
Points is the scored total; Inners counts shots in the inner ring of a scoring band (e.g. Vs, Xs) — a finer precision measure than points alone.
Windage / Elevation
Horizontal (X) and vertical (Y) shot position relative to target centre.
Consistency
Standard deviation of percentage score across strings — lower means tighter, steadier performance.
Bisley(-style)
A shared-target relay where two or three shooters alternate shots on the same target, named for the format's home ground.
Coached / Training
Coached marks a string fired with a coach recorded against it; Training marks a string fired at a training session rather than a club day or competition.

Tips & Troubleshooting

Things that look like bugs but aren't.

  • A whole panel is missing. The club can hide individual panels site-wide from an admin settings page — that's the most common cause. The rest are panels that only appear when they have something to show: Club Champs Range Contribution needs qualifying strings, Strings Coached needs a coaching history.

  • Grade is greyed out. Grade only applies within TR — it disables itself unless Class is set to All or TR, and re-enables automatically when you switch back.

  • A chart or table looks emptier than expected. Check Class first (it defaults to the shooter's most recent category, not All), then the date-range brush — it doesn't reset itself when you change any other filter.

  • Two panels that seem to show "the same thing" disagree. Personal Best and Club Champs Best are deliberately hard-locked to 10-shot strings and ignore the String length filter — that's by design, not a bug.

  • A shot-position panel is missing for a string you know exists. Point Drift, the Heat Map, and similar panels need recorded ShotMarker shot-by-shot positions — a string without them simply can't feed those charts, even though it still shows up in All Strings.

  • Distances look off after switching mm/MOA. Elevation Extreme always stays in MOA regardless of the toggle, since it's the one chart designed to mix several ranges together.