FPS Performance Lab
EN
v2.0 · STEAM

Sample report · real match

Sample CS2 match report: what hand analysis looks like

This is a report from a real match: my deathmatch on Mirage, recorded in FPS Performance Lab 2.0. I didn't fix anything or pick nicer numbers. See what you get after a match before you install anything.

Mirage · deathmatch1600 DPI · sensitivity 2.3Marcin Rupiński · Nov 7, 2026

Short answer

I finished the match 16/32 with 44% headshot kills. Those stats don't say why, though. The report breaks 48 fights down into what the hand did:

60%fights with the crosshair placed before the fight (29 of 48)
29%flicks shot before the crosshair stopped (4 of 14)
70%first movements with no correction
16%deaths without my shot (5 of 32)

The app's verdict: crosshair placement is the strength, shooting while still moving is the thing to fix. For the next match I got one thing: stop first, then shoot.

Match summary and three observations

At the top there's a one-line summary and a "For your next match" card. Below that are the game stats and up to three observations. Each comes with evidence from this match and clips.

Match report: summary, game stats and three observations · Version 2.0
  • Strength – crosshair placed before the fight. I started 29 of 48 fights without a flick, because the crosshair was already where the shot landed. The app notes this is the sixth match in a row.
  • To fix – shooting before the crosshair stops. In 4 of 14 flicks I clicked while my hand was still moving. Then luck decides the hit, not the hand.
  • Outside the hand score – deaths without my shot. 5 of 32 deaths came with no click in the last 2 seconds. That's usually position or surprise, so the app doesn't count them toward the aim score.

At the bottom there's a match timeline: dots are kills, circles are deaths, triangles are clips. Click one to watch that moment in slow motion.

Where the first movement ends and what the fights looked like

First movement, fight types and match vs test · Version 2.0

The crosshair on the chart is where the shot landed. Each dot is where the first hand movement of a flick ended. In this match:

  • 30% of flicks stopped before the shot point,
  • 70% ended with no correction (within 3.2°),
  • 0% went past the shot point.

Fights fall into three types: crosshair already placed (60%), flick (29%) and tracking (10%). In this match most of the work came from crosshair placement, not a fast hand.

Match vs aim test

The report sets the match against my latest test in the app, done at the same settings (1600 DPI, sensitivity 2.3).

  • Stop on target: 55/100 in the test, 30% of flicks before or past the shot point in the match. The app judged the match went better than the test.
  • Flick: 68/100 in the test, 14% of flicks with a correction in the match. That result is in between, and the app draws no conclusion from it.

Below that is the player card. It shows this match against my average from the 9 previous matches at the same sensitivity. So I'm compared with myself, not with a table of norms.

Clips with a hand chart

Every observation has clips. Under the video there's a hand-speed chart: the vertical line is the shot, the dashed one is the end of the first movement.

Clip “You died before you fired” with the hand-speed chart · Version 2.0

In this clip my hand turned the crosshair by 12.3 mm in the last seconds, which is 39.3° in game, but no shot was fired. The app suggests what to check: where the crosshair was when the enemy appeared, and whether it was at head height.

Where this data comes from

The app reads mouse movement through Windows Raw Input and converts it into millimetres of hand movement and degrees in game. Kills, deaths and shots come from Game State Integration, Valve's official integration. It doesn't read game memory, has no overlay and needs no demo file or account. Details are on the how it works page.

What this report doesn't tell you

This is one match by one player, in deathmatch. Deaths come fast there and nobody plays for rounds, so K/D means less than in a competitive match. The report doesn't judge utility, economy or decisions. Stat platforms are better for that – I cover them in the Leetify and Scope.gg comparison and the NextFrag comparison.

One observation from one match is a hint, not a verdict. That's why the app tracks whether something repeats (here: "6th match in a row") before it suggests a drill.

FAQ

Is this a real match?

Yes. It's my deathmatch on Mirage, recorded in version 2.0 at 1600 DPI and sensitivity 2.3. The screenshots come straight from the app; I didn't edit anything.

Will my report look the same?

The layout will, the numbers won't. The app shows at most three observations from your match and one thing for the next one. What comes up depends on how you play.

Do I need a demo file or an account?

No. You record the match on your own PC: mouse movement through Windows Raw Input, match events from Valve's Game State Integration. No account and no uploads.

Can I see a report like this in the free demo?

Yes. The demo includes this sample match and lets you record one match of your own. The full version records unlimited matches and averages them.

Read next