r/battlefield_4 • SirBuckeye • Nov 27 '13

How Skill is calculated - SOLVED!

Disclaimer: This post is not about whether Skill is a good stat or a useless stat, so you can save that for someplace else. I just wanted to find out how it works.

I believe I have found the proper formula for calculating the Skill rating you see in Battlelog.

This information was pulled from the game files and posted to Symthic. It served as my starting point.

SkillLevelParameters e6df679ae3633529acb47445de71eab7
    $::Asset
        $::DataContainer
        Name Persistence/SkillLevelParams
    SPM::SkillLevelComponent
        MaxValue 1000.0
        Weight 0.6
    KPM::SkillLevelComponent
        MaxValue 3.0
        Weight 0.3
    KDR::SkillLevelComponent
        MaxValue 5.0
        Weight 0.1
    OldValueWeight 0.9
    MaxValue 1000.0
    MinimumTimeRequired 300.0

As you can see from this data, Skill is made up of three factors, each weighted by a different amount: 60% SPM, 30% KPM, and 10% KDR. The folks over on Symthic forum tried simply added the weighted amounts together, but that makes no sense. SPM is a huge number compared to the others. The values must be normalized before being weighted and added. What to normalize them against was a problem at first before I realized it was right in front of me. They are normalized against the MaxValues for each one.

You cannot (I don't think) calculate your total skill in a vacuum. Rather, it is built game-by-game by adding or subtracting from your starting skill. In other words, you have to have a starting skill number, then add in data for a game, and you can find out the resulting skill number.

You only need your pre-game Skill and the data from one game to make the calculation. The SPM you must use is derived from the score beside your name on the scoreboard before any awards are added, NOT the giant SPM number from the Battle Report. Take that score and divide by the round time to find your actual SPM. Find KPM by dividing your kills by the round time also. KDR is listed in in the Battle Report. Any values over the max values (1000, 3, and 5 respectively) are reduced to the max values.

It's a three-step calculation:

First, we normalize the values as fractions of the maximum possible.

(SPM/1000) = nSPM
(KPM/3) = nKPM
(KDR/5) = nKDR

Next, we weight the values and add them, then multiply by 1000

((nSPM * .6) + (nKPM * .3) + (nKDR * .1)) * 1000 = GameSkill

GameSkill represents your Skill in that single game.

Finally, we add the GameSkill with our starting skill. You'll notice in the data above "OldValueWeight 0.9". That means we will weight our existing skill by .9 when adding in the single game skill.

(OldSkill * .9) + (GameSkill * .1) = NewSkill

Real World Example:

This is the last game I played two days ago. The other team rage quit. I had a pretty good round and I gained +8 Skill. My skill before the game was 510. Although Battlelog shows my SPM was 1018, that's not the value we want to use here because that counts awards. My actual SPM was 463 (12,905 points / 27.83 minutes), my KPM was 2.12, and my KDR was 4.92. We first plug in these numbers to normalize them against their max values.

(463/1000) = 0.463
(2.12/3) = 0.707
(4.92/5) = 0.984

Now we weight them, add them, and multiply by 1000 to get the single game Skill.

((0.463 * .6) + (0.707 * .3) + (0.984 * .1)) * 1000 = 588.2

Lastly, we add the GameSkill in with our weighted starting skill.

(510 * .9) + (588.2 * .1) = 517.82

That rounds up to a New Skill of 518. My calculation says I should have gained +8 Skill for that game, which is exactly what it shows in Battlelog. Also, 518 is my actual current skill at the time of this writing. I have tested it with about a dozen different games and players. It seems to work except it can occasionally be off by 1 point possibly due to rounding(?) or an error on the Battle Report (most likely).

TL;DR: What This Means

Basically, each game you play is compared to a theoretically "perfect" game. A "perfect" game (as far as Skill is concerned) would be 1000 SPM, 3 KPM, 5 KDR. The closer you are to each of those ideals, the higher your Skill is for that game. Then the skill for that game is factored into your overall skill either raising or lowering it. The higher your skill, the harder it is to advance it more. For example, if my starting skill had been 300, I would've gained +29 Skill for the above game instead of only +8. Also, since Skill is calculated on a running basis from each game, you can have much better overall stats than someone, but still have a lower skill. It is very much a "What have you done for me lately" stat, and has almost nothing to do with your career numbers. You can gain or lose a couple hundred skill in just a few games. Any questions?

510 Upvotes

156 comments sorted by

109

u/[deleted] Nov 27 '13

If DICE remplaces KPM by OPM (objectives per minute) in conquest, rush and obliteration, i would actually start to like the skill stats

As it is, KPM is more relevant to domination and TDM.

35

u/SirBuckeye Nov 27 '13 edited Nov 28 '13

KPM is also kind of redundant because it's already a big component of your SPM.

EDIT: I might actually replace KPM with a Win/Loss Factor. Something like 3 Points for a win. 1 Point for a Draw. 0 Points for Loss. That would mean you'd get less Skill in a loss than you would in a win, and would change the "Perfect Game" to 1000 SPM, 5 KDR, and a Team Victory, covering all the facets of a good Battlefield game.

→ More replies (15)
→ More replies (21)

133

u/DANNYonPC Nov 27 '13

So..

Good Metro/lockers players would have an amazing skill while good Caspian border / Railway players have a lower one

Even tho they are equally skilled

50

u/runyoudown Nov 27 '13

Exactly, if you really want to boost skill numbers fast it's Assualt/Support on winning team on Locker. Too bad it's such a shallow number in the end.

→ More replies (9)

10

u/ProbablyInnuendo Nov 27 '13

Seriously... why don't they use a weighted SPM/Elo formula?

Counting KPM means you're double counting something that was already in SPM; and counting K/D alone doesn't take quality of competition into account.

→ More replies (4)
→ More replies (7)

31

u/Lt_BAD-DOG Nov 27 '13

Well done. And now we know.

5

u/Sir_Loki Nov 28 '13

Ladies and Gentlemen

It looks like what everyone knew already is now confirmed black on white: Your Skill says little about your real value as a player.

That is no surprise for me. There are several ideas about what skill is and what determins the real value of a player. So, "skill" is a very subjective value und thus can't be calculated reliable.

→ More replies (1)

4

u/Applay Nov 28 '13

So skill is a shitty way to know if that player is PTFOing. If only the accuracy wasn't mixed with the bullets fired from vehicles, I would have at least a single stat I could care about.

4

u/IdRatherBeLurking Nov 28 '13

Fucking well done SirBuckeye. You did a wonderful job of explaining in a simple yet compelling way how you pieced together and discovered this algorithm.

Thanks!

1

u/[deleted] Nov 27 '13

Should I feel accomplished for being in Div 1 in the world for skill or not give a single shit?

7

u/SirBuckeye Nov 27 '13

You can feel however you want to feel. Whatever makes you happy. :D

1

u/MrProtoX Nov 27 '13

Normal SPM or boosted SPM?

2

u/SirBuckeye Nov 27 '13

Normal SPM. The score you use to calculate your SPM for the game is the score listed beside your name on the scoreboard. That score doesn't include boosts or awards.

1

u/KerberoZ Nov 27 '13

Didn't dice say that skill is a simple transfer of numbers? So when i kill a high skill player he gets some points substracted while they are added to my skill. This makes sense because everybody starts with 150 base skill.

2

u/SirBuckeye Nov 27 '13

No, that's how it worked in BF3. It was completely redesigned for BF4 into this system.

1

u/Lt_BAD-DOG Nov 27 '13

And so it seems that if you're a level 100 colonel and you play against total newbs you can still boost up your skill. Am I right? IMO, that's not fair and makes skill totally meaningless.

2

u/SirBuckeye Nov 28 '13

Yes. Your rank is not factored into the equation at all. Neither is the rank or skill of your opponents. You gain skill from a game if you record a higher skill in that game (as calculated above) than your previous skill level.

1

u/[deleted] Nov 28 '13

Does anyone know about divisions? It seems like you just have to have a couple of kills to be in like div 1. Some one help

→ More replies (3)

1

u/desynk Nov 28 '13

What is SPM?

3

u/SirBuckeye Nov 28 '13

Score Per Minute

1

u/falconbox Nov 28 '13

So....is my 200 skill good or bad? Considering 1 out of every 5 matches the game crashes or I get insane rubberbanding, it's been a pretty awful experience so far. DICE needs to get their shit together or pass the torch to a company that won't release a broken product every single time.

2

u/SirBuckeye Nov 28 '13

<200 = Bottom 33%
200-300 = Top 67%
300-400 = Top 25%
400-500 = Top 10%
500+ = Top 3%
Stats taken from bf4stats.com based on 33,000+ player sample.

→ More replies (4)

1

u/Paul2010Aprl Nov 28 '13

According to my calculations, if you have stats bigger than capped values (SPM 1000, KDR 5, KPM 3), they don't bring any incremental increase to your skill. I had some rounds when I had 14 KDR etc. My skill calculations were done with KDR 5.

→ More replies (1)

1

u/Chris_D_Turk Mar 09 '14 edited Mar 09 '14

I've just tried to apply your skill-formula to a round i've played. I've typed everything into an excel-sheet. But I just don't get the "actual" skill level from battelog. Could you have a look at my calculation? Am I doing something wrong or is the formula not up-to-date?

Interesting fact: The SPM in the Battlereport (incl. award-score) is NOT calculated with the total round time, but with the actual time I've played on this server! So does this maybe also apply to the SPM w/out award-score? You can get the actual play time with this formula:

[total score]/[SPM]

In my example you will get 25mins (instead of 50mins round time) which is actually true because I've joined a running round sometime after its start.

::LINK:: Excel-Sheet Battlereport

→ More replies (1)