So, you're interested in what's changed with the CSV export? You've come to the right place!
This page was written to accompany the v18.104.22.168 update, which drastically changed the format of the exported CSV file.
Here's how to export the match report from the R6 Analyst app, in case you didn't know:
Documentation and Example
If you'd rather just dive in yourself
Here's an example .CSV export in Google Sheet format:
The first worksheet shows the export exactly as it comes out of the app.
The second worksheet shows a neatly formatted version of the same export. I'd recommend using it as a starting point for your own importation system.
Scroll down for an explanation per variable.
A reason for why I did this
Basically, I got a lot of requests to make using the CSV file easier.
I received a lot of feedback from a wide range of users. Based on that, concensus on a rework concept was reached which focused on:
- Ease of use for variety of software (SQL, Databases, Excel, Google Sheets, Others)
- More structured data display logic, lower redundancies
- Consideration of what PL and CL staff wants to look at.
- Fixed data placement (for automatic imports, exports, advanced ETL)
All of the export is now in one .csv file. I've done away with the separate files per player.
This means I could also get rid of the nested folder structure, as each export is now a single file. Exporting a CSV will now create a folder for the gamemode, if none exists, then export the .csv to the appropriate gamemode folder.
No more nested folders, and no more multiple files per match.
I've removed the gamemode from the filename, as the filename became much too long.
With each export landing in their respective gamemode-folder, this was unnecessary anyway.
The format inside the CSV has been changed around. The order of data "tables" has been altered.
Most noteably, each "table" is now always the same number of rows. This allows for much easier import than before as, for instance, the Round Events data always start on row 207.
The timestamps for events was a hotly debated topic. Based on localization settings on the importing PC or software, various different versions of the timestamp were mangled constantly.
Furthermore, some want the time to tick down from 03:00 like it does in-game. Other want the time to tick up, to be able to easily calculate with the time, and/or to average out events.
In the end I decided to have two separate time-keeping values:
One is Time Into Round (ms) which is the number of milliseconds into the round since the start of the Prep Phase. So note that this includes the 45 seconds Prep Phase.
The other is VOD Time which attempts to recreate the timestamp exactly as visible on-screen if you're watching a VOD back. So this one counts down, and is shown in a MM:SS format. Note that events in the prep phase appear as 03:45 to 03:00 to avoid confusion.
The score for first split; what was the result at “half time”. This can help analysts with seeing trends, mentality, attacker or defender start advantage and such.
Opening Kill vs Entry Kill
Opening Kill now is the first kill in a round.
Entry Kill now is the first kill in a round per team.
A kill at a time when this player's team was at a man disadvantage.
Stat for how often this player was teamkilled this match.
Round Time (ms)
Stat for how long round lasted or until defuser was planted, whichever comes first.
Both percentage-wise and straight-up number of headshots.
Name of the teammate that traded you out.
Round Events context
Some additional context info regarding how many players were alive at the time of the event, and what sort of kill this was counted as.
Documentation per Variable
A note about empty rows
Each "table" of data is filled to the maximum possible length, to ensure the table below it always starts on the same cell. E.g. PLAYER ROUNDS DATA always starts on cell A55.
A note about timing
Depending on the shittyness of the participating players' PCs, all the tracked timings could be off by upwards of 2000ms, as the scene loading cannot be taken into account.
A note about operator names
The following Operators can potentially appear incorrectly named, due to character encoding limitations inherent to the .CSV filesystem.
- Jäger could appear as JÃ¤ger
- Capitão could appear as CapitÃ¢o
- Nøkk could appear as NÃ¸kk
Technical code used by Excel to set "separator" symbol for different localizations. Ignored by Google Sheets, and you should ignore it too (you can delete it if you want).
Use https://r6analyst.com/verify-match-data to verify a given .csv export is unaltered and accurate.
Unique ID key for this match, for database storing purposes.
Time when the first round begun. Local time for Custom matches, UTC for Ranked/Unranked/etc.
ATK at Start
Which team started on Attack.
Team X ATK/DEF Wins
Number of rounds that Team X won on Attack/Defence.
Team X Score at Half
The score of Team X at the first side-switch (half-time).
Rating for this player for this match. Based on a reverse-engineered formulae similar to Siege.GG. See here for details.
Rating for this player based solely on their Attack/Defence rounds.
Kills - Deaths (difference).
Opening Kills - Opening Deaths (difference).
Shows the effectiveness of this player on first contact with the enemy.
Untraded Kills minus Untraded Deaths.
Higher means they had a more positive effect on their team's man-advantage.
Percentage of rounds in which this player either got a Kill, planted or defused (Objective), Survived, or got Traded out when dying.
Kills Per Round
Number of kills divided by number of rounds.
Percentage of rounds in which the player survived until the end of the round.
Number of headshot kills divided by total number of kills for this player.
Most played Attack/Defence Operator.
Total kills this match.
Total refrags this match.
Refrag is when this player killed an enemy that just killed a friendly within the trade time window.
The trade time window is 10 seconds by default, but can be customized in the App Settings for Custom Matches.
Total number of headshot kills.
Total number of kills at a time when this player's team was at a man disadvantage.
Number of 1vX clutches won by this player.
Adhering to Siege.gg definition, a 1v1 does count as a 1vX clutch.
Number of rounds where this player got more than 1 kill.
Total number of deaths.
Deaths where the player was traded out soon after (within the Trade Window, which is 10sec by default, but can be changed in the App Settings for Custom Match tracking).
Traded by Enemy
Number of deaths where player just got a kill but then was killed by an enemy. This is known as Traded Kill within the app.
Number of times where this player got the first kill of the round.
Number of times where this player was the first player to die in a round.
Number of times where this player was the first on their team to get a kill in the round.
Number of times where this player was the first on their team to die in the round.
Number of times this player planted the Defuser.
Number of times this player disabled the Defuser.
Number of teamkills committed by this player.
Number of times this player was teamkilled this match.
The in-game points as given by Ubisoft for all manner of things. From using utility to getting assists to spotting the bomb on drone.
Sixth Pick Overview
An overview of the Sixth-Picks performed. This is only relevant for Custom Matches.
Note that if the app is run by a player, the app only tracks Operator selection for teammates, not the enemy. This includes Sixth Pick tracking.
Run the app as spectator to get both team's Operator selections and Sixth-Picks.
Winner (in Sixth Pick)
Which team ended up winning the round.
What was the Objective Site for this round?
This needs to be manually tracked by the app user by means of a prompt, which can be enabled in the Settings.
Result (in Player Rounds Data)
Whether this player's team won or lost the round.
Round Time (ms)
Number of milliseconds since start of Prep-phase until the round ended, or until the Defuser was planted, whichever occurs first.
Type of round ending.
- Defuser Disabled - Defuser was planted, and Defence won the round.
- Defuser Planted - Defuser was planted, and Attack won the round.
- Elimination - Defuser was not planted, and all players on a team died.
- Time Limit Reached - Defuser was not planted, and the time-limit (3mins for most gamemodes) was reached before all players on a team were killed.
Which Operator was played by this player in this round.
Note that the app can only track teammates' Operators when run as a player.
Run as a Spectator to track everyone's Operator use.
Time Spent Alive (ms)
Number of ms since start of Prep-phase until this player died this round.
'-' when the player didn't die.
Name of teammate that refragged this player's death within the Trade Time Window.
Time into Round (ms)
Milliseconds into the round (from start Prep-phase) that this event occured.
Timestamp as shown on the screen during this event. Useful for VOD review.
For prep phase events, remove 03:00 from the clock.
Negative numbers mean the event happened after the original 3 minute round time is ended (so events occuring whilst the plant is down in round overtime).
Who performed the event.
Who was the "victim" of the event (e.g. who died in this kill)
Blue/Orange Team Alive
How many players were alive on Blue/Orange team when this event took place.
This stat assumes 5 players are on each team at the start of each round.
Subtype for kill events.
- Entry Kill - First kill this round for this team.
- Refrag - Killed an enemy that just killed a teammate within the Trade Window.
- Teamkill - Killed a teammate.
- Suicide - Killed themselves.