Human memory of past aim performance is heavily biased toward best-runs and worst-runs while routinely ignoring the median, which is the only metric that actually predicts trend. Players consistently misremember "I used to hit 950 on 1wall6" when the season median was actually 870. The implication: without numerical tracking, you cannot tell whether your training is working. You'll either over-commit to a failing routine or quit a working one because a single bad day overshadowed three good ones.
A tracker fixes this by replacing memory with data. Rolling medians remove daily noise. Weekly comparisons remove the bad-day effect. Month-over-month trends reveal whether your scenario rotation is working. Once you have 90 days of clean data, the signal is unmistakable, and your training decisions become evidence-based instead of vibes-based.
If you only have time for 5 columns, use:
| Column | Format | Example | Why it matters |
|---|---|---|---|
| Date | YYYY-MM-DD | 2026-05-26 | Required for time-series |
| Scenario | Text | 1wall6 TE | Filter by scenario for rolling median |
| Best of 5 runs | Number | 892 | Captures peak; less noisy than single run |
| Median of 5 runs | Number | 868 | Most predictive of underlying skill |
| Notes | Text | "Slept 5h, felt slow" | Context for outliers |
That's enough to produce a meaningful weekly trend in 14 days. Most players quit tracking by adding too many columns up front; start minimal and expand once the habit is built.
Once minimum tracking is habit, scale up. The 12-column tracker:
| Column | Format | Example | Purpose |
|---|---|---|---|
| Date | YYYY-MM-DD | 2026-05-26 | Time-series anchor |
| Scenario | Text | VT Pasu Reborn | Scenario filter |
| Category | Track/Flick/Click/Switch | Track | Group by skill type |
| Run 1 | Number | 1622 | Per-run capture |
| Run 2 | Number | 1689 | |
| Run 3 | Number | 1654 | |
| Run 4 | Number | 1701 | |
| Run 5 | Number | 1672 | |
| Median | =MEDIAN(D:H) | 1672 | Most stable single metric |
| Sleep hours | Number | 7.5 | Track sleep effect on performance |
| Caffeine mg | Number | 100 | Track stimulant correlation |
| Notes | Text | "New mouse pad day 3" | Free-form context |
Copy these into your tracker; they do the heavy lifting:
=MEDIAN(D2:H2) — single most predictive metric per session.=MEDIAN(FILTER(I:I, A:A>TODAY()-7)) — smooths daily variance.=MEDIAN(FILTER(I:I, A:A>TODAY()-30)) — your true monthly performance.=(this_week_median - last_week_median)/last_week_median*100 — sustainable target is +1-3% weekly.=CORREL(I:I, J:J) on Median vs Sleep hours columns — typical results show r=0.3-0.5 (real but not deterministic).=FILTER(I:I, B:B="1wall6 TE") — extracts all medians for one scenario.=I2/MAX(FILTER(I:I, B:B=B2)) — useful for comparing across scenarios.=(I2-AVERAGE(I:I))/STDEV(I:I) — flag sessions where z < -1.5 for review.For Voltaic Benchmark tracking, use a separate sheet with one row per benchmark scenario and one column per month. Re-run benchmarks monthly. Compare medians month-over-month:
| Scenario | Category | Month 1 | Month 2 | Month 3 | Month 4 | Trend |
|---|---|---|---|---|---|---|
| VT Pasu Reborn | Track | 1450 | 1520 | 1580 | 1620 | +11.7% |
| BoneSplitter Voltaic | Track | 720 | 758 | 770 | 790 | +9.7% |
| Air Angelic 4 | Track | 1830 | 1865 | 1895 | 1915 | +4.6% |
| 1w6ts Headshot Hard | Click | 1240 | 1265 | 1290 | 1305 | +5.2% |
| Air NoUFO No Reload | Click | 880 | 895 | 908 | 918 | +4.3% |
| Popcorn Sixshot | Flick | 605 | 625 | 645 | 660 | +9.1% |
| Tile Frenzy 180 | Flick | 185 | 189 | 192 | 196 | +5.9% |
| Reactive Strafe Click | Switch | 720 | 738 | 752 | 768 | +6.7% |
| Multiclick 120 | Switch | 1640 | 1672 | 1700 | 1718 | +4.8% |
This view shows immediately which categories are improving fastest and which are stagnating. In the example above, Track and Flick are gaining; Click and Switch are flatter. Time-rebalancing toward Click and Switch for the next 4-week cycle would balance the profile.
=MEDIAN(D2:H2) starting at I2. Drag down ~500 rows for the first year.=MEDIAN(FILTER('Daily Log'!I:I, 'Daily Log'!B:B="1wall6 TE", 'Daily Log'!A:A>TODAY()-7)).The whole setup takes 15-20 minutes the first time. After that, the only daily work is filling in 7-8 cells per session.
Aim trainer scores are useful leading indicators, but in-game competitive stats remain the ground truth of whether your work is paying off. Add a weekly tab to your sheet for in-game metrics:
| Week | Game | Matches | Headshot % | K/D | ADR / Damage | Rank |
|---|---|---|---|---|---|---|
| 1 | CS2 Premier | 14 | 32% | 1.05 | 72 ADR | 10,200 |
| 2 | CS2 Premier | 11 | 34% | 1.12 | 76 ADR | 10,650 |
| 3 | CS2 Premier | 16 | 36% | 1.18 | 79 ADR | 11,100 |
| 4 | CS2 Premier | 13 | 38% | 1.22 | 82 ADR | 11,580 |
Aggregate weekly. Tracker.gg and Leetify auto-export CSV with much of this data. Copy / paste / clean / chart. The headshot percentage moving up 5-6 points over 4 weeks is the strongest possible validation that trainer-time is paying off.
After about 60 days of consistent tracking, run a CORREL function on your Median column vs Sleep and Caffeine columns and read the coefficients honestly. Typical findings:
Your numbers will vary. The point isn't the average — it's discovering your coefficients, then optimizing the variables you control.
New trackers often expect linear daily improvement. The data never looks like that. Real progression is a step-function with plateaus, regressions, and breakthroughs. Pattern recognition guide:
Read the pattern weekly. Adjust monthly. The biggest single mistake new trackers make is reading the pattern daily, panicking on a single bad session, and changing routine mid-week.
Combine the tracker workflow with a deliberate, structured progression methodology that maps the first six months of use:
| Month | Tracker focus | Action |
|---|---|---|
| 1 (baseline) | Daily 5-column tracker | Get the habit; don't analyze yet |
| 2 (expansion) | 12-column tracker | Add Voltaic benchmark monthly |
| 3 (correlation) | Run sleep / caffeine correlation | Adjust external factors first |
| 4 (rotation) | 14-day scenario rotation | Drop stagnant scenarios; add new ones |
| 5 (in-game validation) | Weekly Tracker.gg integration | Confirm trainer-to-game transfer |
| 6 (re-baseline) | Full Voltaic benchmark | Compare to month 1 baseline; set next 6-month target |
Kovaak's stores per-session stats in %USERPROFILE%\Saved Games\KovaaK 2.0\Stats as CSV files, one per scenario. You can:
QUERY function to aggregate: =QUERY('Raw'!A:M, "SELECT B, MEDIAN(L) WHERE A > date '2026-01-01' GROUP BY B").This automation saves 10-15 minutes/week of manual entry. For Aim Lab, the equivalent is the in-game "Export Statistics" function, which produces a CSV with similar fields.
Your tracker contains personal performance data plus environmental factors (sleep, caffeine, mood). Treat it as private:
"Layla" started CS2 Premier ranked at 8,200 MR in November 2025 with no formal tracking. She tracked Voltaic benchmark medians monthly and CS2 stats weekly. Her data over 6 months:
| Month | Voltaic Median (composite) | CS2 Premier MR | Headshot % |
|---|---|---|---|
| Nov 2025 | 1024 | 8,200 | 30% |
| Dec 2025 | 1098 | 8,950 | 32% |
| Jan 2026 | 1184 | 9,800 | 34% |
| Feb 2026 | 1255 | 10,650 | 36% |
| Mar 2026 | 1308 | 11,490 | 38% |
| Apr 2026 | 1362 | 12,300 | 39% |
Over the six-month window, her composite Voltaic median rose 33%; her CS2 Premier MR rose 50%. The correlation between the two is r = +0.92, validating the trainer-to-game transfer. Without the tracker she would not have noticed that her Click category was plateau-ing in February, and she would not have added 5 minutes/day of click drills in March — visible in the renewed acceleration of both Voltaic and MR that followed. The tracker generated the decision; the decision moved the rank.
The point of tracking is to drive specific decisions. Codify your rules into the sheet itself with conditional cells:
| Trigger | Action | Why |
|---|---|---|
| 7-day median flat for 14 days | Rotate the stagnant scenario | Brain has adapted; new stimulus needed |
| 30-day median dropped 5%+ | Take 3 rest days, audit external factors | Likely overtraining or sleep deficit |
| In-game headshot % up 3 pts while trainer flat | Continue current routine | Game performance is the real signal |
| In-game stats flat while trainer rising | Increase in-game playtime ratio | Transfer failure; less trainer, more game |
| Sleep correlation r < +0.3 | Audit sleep quality, not just hours | Hours alone insufficient; cycles matter |
| Voltaic category gap > 1 tier | Allocate 50% trainer time to weakest | Imbalance limits overall rank |
| Mouse-pad age > 6 months heavy use | Replace pad, re-baseline | Surface degradation costs 3-7% |
A simple line chart of the 7-day rolling median per scenario is consistently the most useful single visualization, hands down. In Google Sheets: select Date column + 7-day median column → Insert → Chart → Smooth line. Set vertical axis minimum to 80% of starting value so improvements are visible. Add a 30-day rolling median as a second series for the long-term trend.
Optional advanced visualizations that pay off once you have at least 90 days of consistent data:
Beyond raw scores, the following soft factors deserve their own columns once you have 60 days of base data:
The bigger your dataset, the more these soft factors become statistically distinguishable from noise. After 6 months of disciplined tracking, you'll likely discover personal performance levers that nobody else has — and that's a competitive edge you can actually own.
A simple spreadsheet is arguably the cheapest competitive advantage available in aim training in 2026. Five columns are enough to start; the twelve-column expansion is better once the habit is established; the 6-month methodology turns it into a feedback loop that beats raw practice volume. Most players who plateau do so because they have no data of their own — they rotate scenarios on feel, they over-attribute single bad runs to deep skill issues, and they consistently fail to see when an external factor (sleep deficit, worn mouse-pad, outdated prescription glasses, recent monitor firmware) is the real bottleneck. Spend just 2 minutes per session logging your numbers honestly. Review the trends weekly, on a fixed day. Adjust your routine monthly, never sooner. Compounded over 6 months, the discipline produces both the rank movement and the meta-skill of evidence-based self-improvement, which is more valuable than any single Voltaic tier. The players who track outperform the players who don't, every season.
Memory is unreliable. Without tracking, you'll think you've improved 30% when the median is flat. Spreadsheets give you an honest weekly trend line that motivates and informs adjustments.
Date, scenario name, run number, score, median-of-day, 7-day rolling median, sensitivity, sleep hours, caffeine, session duration, notes. The 7-day rolling median is the most informative single column.
Every session. Logging takes 2 minutes per session. Skipping days breaks the rolling median signal and you lose the variance baseline.
Yes - weekly. Headshot percentage, K/D, average damage per match. Use them as the leading indicator that aim trainer improvement is transferring to game performance.
1-3% median score improvement weekly is excellent. 0% for 4 weeks means plateau; rotate scenarios. Negative trend for 2 weeks means overtraining or recovery deficit.
Optional. Some find accountability motivating; others find public tracking adds pressure that degrades performance. Test for 4 weeks each way.
Three possibilities: scenario over-fitting (rotate every 14 days), sleep/recovery deficit (audit external factors), or sensitivity instability (lock cm/360 across all games for 30 days).
Aim Lab has built-in progress charts; voltaic.gg offers free benchmark tracking; Google Sheets with the template here gives you the most flexibility. Paid apps offer prettier visuals but the data is the same.