How to fix CSR

Currently, individual player CSRs are based on wins/losses of the entire team, as stated here. However, this, evidently, is unfair, as players could be placed in poor teams, or have a teammate quit on them. Thus, I believe it should be based on individual K/D ratio (at least in the Slayer playlists). As such, I have devised a simple algorithm with which CSR loss/gain could be calculated, from a game.

Where:

  • KD = the player’s K/D ratio in the match. In objective gametypes, this would be replaced by objective captures and capture assists per life, multiplied by about 2-4 (in KotH, it’d be seconds in hill per life, divided by about 10).- AD = the players assists per death. In objective gametypes, this would be replaced by the player’s K/D ratio.- TP = the amount of players on that player’s team at the end of the match.- EP = the amount of players on the enemy team at the end of the match.- PCR = the player’s CSR, expressed as an integer, starting with 1 (Iron I), then 2 (Iron II) and so on, until pro is reached.- TCR = the mean CSR of the player’s team (excluding the player), expressed the same way as above. If all teammates have quit, or there are no teams, it is equal to PCR.- ECR = the mean CSR of the enemy team, expressed the same way as above. If there are no teams, it is the mean CSR of everyone excluding the player whose CSR gain is being calculated.CSR Gain = ((((KD^2) * (((EP - TP) *0.2) + 1)) * 5) - 5) * (((ECR - PCR) * 0.2) + 1) * ((PCR - TCR * 0.1) + 1) * (AD + 0.9)

This would create reasonable results for each situation, and takes into account all major factors.

In a completely fair match (everybody had the same CSR, and nobody quit), where the player got a K/D of 1, this formula would (or at least should) give 0, which reflects that the match is perfectly fair. However, in the far more common unbalanced matches, it should give reasonable results based on the players performance, skill of enemies and teammates, and numbers of both sides.

If a difficulty curve was to be introduced, the same formula could be tweaked slightly, into this:

CSR Gain = (((((KD^(2 + (PCR * 0.1))) * (((EP - TP) *0.2) + 1)) * 5) - 5) * (((ECR - PCR) * 0.2) + 1) * ((PCR - TCR * 0.1) + 1) * (AD + 0.9)) - PCR

This would make it so that the higher the rank you are, the more there is at stake. Performing badly would result in losing a lot, while performing would result in gaining a lot, but not as much as if you had badly to the same extent.

Obviously, some of the static numbers given might (and probably would) need a bit of tweaking. However, even as it is, it should work, and perhaps better than the current one which is based on wins and losses. It would be tailored exactly to the person’s skill, leaving little to anything else. Plus, it would remove the tiresome (but currently valid) argument of ‘My CSR is bad because I keep getting bad teams’.

Any suggestions, comments or improvements?

Including KD into an algorithm is only effective in a gametype where killing is the only objective.

Additionally, assists need to be included as well for Slayer variant algorithms at a fraction, otherwise kill stealing will be the only effective way to rank up.

> 2661949065475413;2:
> Including KD into an algorithm is only effective in a gametype where killing is the only objective.
>
> Additionally, assists need to be included as well for Slayer variant algorithms at a fraction, otherwise kill stealing will be the only effective way to rank up.

Oh, yeah, I forgot to mention that for objective games, it’d objective captures/assists per death, but multiplied by a reasonable amount (we can’t expect someone to get a capture per life, and if they do, they deserve to be ranked up really fast).

And good point about the assists (stupid kill thefts), I’ll try and work it in.

> 2533274911283092;3:
> …And good point about the assists (stupid kill thefts), I’ll try and work it in.

  1. its a team game -(unless a rumble match)
    2)assists are not kill thieves, they did some damage to a player that was later killed by another player. If i go 8 & 6 with 15 assists & everone else has 10 & 10 with 2-3 assists i can say that I held that team by Helping my Team kill. & same goes for objective games. I may not have caped the flag but you sure as hell know that i kept the flag alive to help the THE TEAM. PTFO.

EDIT- reread… disregard my post. continue on with your Maths

> 2533274805545287;4:
> > 2533274911283092;3:
> > …And good point about the assists (stupid kill thefts), I’ll try and work it in.
>
>
> 1) its a team game -(unless a rumble match)
> 2)assists are not kill thieves, they did some damage to a player that was later killed by another player. If i go 8 & 6 with 15 assists & everone else has 10 & 10 with 2-3 assists i can say that I held that team by Helping my Team kill. & same goes for objective games. I may not have caped the flag but you sure as hell know that i kept the flag alive to help the THE TEAM. PTFO.
>
> EDIT- reread… disregard my post. continue on with your Maths

  1. Thus, the part accounting for the skill of the team, and enemy team.
  2. Assists aren’t usually kill thefts, but when someone steals your kill, you do get an assist. Good point about the flag assists. That’s a medal you get though, so it shouldn’t be difficult to implement into the equation. I’ll implement that now.

So, after discussing this formula a bit with Josh Menke, I have realised just how difficult skill ranking/matchmaking is, and that the current system has as many faults as mine, just different (and less severe) ones. I never dreamed it could be as complicated as it is. What is currently in place, while not perfect, is far more than adequate, and much less exploitable than my method.

Kudos to 343 and Josh Menke for the game and its matchmaking/skill ranking so far!

It is not based off just wins. I just got done playing with this guy i met, who is respectively a little better than me. We played all 10 games together and won 8/10 games. I got places silver even though i went even and positive and he got placed bronze. He had several games with over ten kills and under 5 deaths.
TL;DR: Same amount of games,same wins,he has a better kd, ranked lower than me.

What if I go negative but played an integral part in helping the team get the power weapons which other members of my team got 10+ kills with?

In team games, win/loss is the only way to determine whether a player goes up or down. Otherwise, someone could get 5 kills, no deaths, then go hide somewhere and not move just so they rank up. They’re an awful team player but would still rank up.

Win/loss should determine whether you go up or down but individual stats should determine by how much.

> 2535468868025423;8:
> Win/loss should determine whether you go up or down but individual stats should determine by how much.

That’s a brilliant idea, actually

> 2535468868025423;8:
> What if I go negative but played an integral part in helping the team get the power weapons which other members of my team got 10+ kills with?
>
> In team games, win/loss is the only way to determine whether a player goes up or down. Otherwise, someone could get 5 kills, no deaths, then go hide somewhere and not move just so they rank up. They’re an awful team player but would still rank up.
>
> Win/loss should determine whether you go up or down but individual stats should determine by how much.

This is exactly how it should be. Need to make this bigger. If we lose that sucks, if i go 25-5-9 and they go like 0-3-17 (kills, assists, deaths) then i shouldn’t lose as many points as they do. Make it so i lose like lets say 5 instead of 18.

> 2533274888824464;10:
> > 2535468868025423;8:
> > What if I go negative but played an integral part in helping the team get the power weapons which other members of my team got 10+ kills with?
> >
> > In team games, win/loss is the only way to determine whether a player goes up or down. Otherwise, someone could get 5 kills, no deaths, then go hide somewhere and not move just so they rank up. They’re an awful team player but would still rank up.
> >
> > Win/loss should determine whether you go up or down but individual stats should determine by how much.
>
>
>
> This is exactly how it should be. Need to make this bigger. If we lose that sucks, if i go 25-5-9 and they go like 0-3-17 (kills, assists, deaths) then i shouldn’t lose as many points as they do. Make it so i lose like lets say 5 instead of 18.

Still has the same problem, no?

So now I’ll kill steal instead of assist [to lose less] points.

So suddenly I’m competing against my own team for kills explicitly, instead of playing for the team win.

There are a few better options so keep trying, but it starts to get really complicated really fast, and super hard to communicate back to everyone what’s going on.

Also, there has to be balance and convergence. You can’t just heuristically give out points without causing widescale inflation.

It should also be predictive if you want to trust it as a measure of skill. Otherwise you end up violating triangle inequalities and having weird rankings that make no sense.

There’s a ton of math and design questions that go into this. The current system is a careful balance between those.

> 2533274839818445;11:
> > 2533274888824464;10:
> > > 2535468868025423;8:
> > > What if I go negative but played an integral part in helping the team get the power weapons which other members of my team got 10+ kills with?
> > >
> > > In team games, win/loss is the only way to determine whether a player goes up or down. Otherwise, someone could get 5 kills, no deaths, then go hide somewhere and not move just so they rank up. They’re an awful team player but would still rank up.
> > >
> > > Win/loss should determine whether you go up or down but individual stats should determine by how much.
> >
> >
> >
> >
> > This is exactly how it should be. Need to make this bigger. If we lose that sucks, if i go 25-5-9 and they go like 0-3-17 (kills, assists, deaths) then i shouldn’t lose as many points as they do. Make it so i lose like lets say 5 instead of 18.
>
>
>
> Still has the same problem, no?
>
> So now I’ll kill steal instead of assist [to lose less] points.
>
> So suddenly I’m competing against my own team for kills explicitly, instead of playing for the team win.
>
> There are a few better options so keep trying, but it starts to get really complicated really fast, and super hard to communicate back to everyone what’s going on.
>
> Also, there has to be balance and convergence. You can’t just heuristically give out points without causing widescale inflation.
>
> It should also be predictive if you want to trust it as a measure of skill. Otherwise you end up violating triangle inequalities and having weird rankings that make no sense.
>
> There’s a ton of math and design questions that go into this. The current system is a careful balance between those.

It’s a very difficult problem. All the problems you point out are major possible exploits, however the current system has its fair share of problems too. While far more difficult (almost impossible) to exploit, Elo’s rating system is designed for chess, a game in which there are only two players, one against the other. There, it works perfectly because if a player loses, it is down to their mistakes, or the other player’s skill. That means that any loss/gain in points is deserved.

However, in a game which is 4 players against 4 players, ranking individuals using Elo’s system creates many problems. Statistically, it should be approximately accurate overall, bar a few outliers. In practice, it isn’t always. Many more factors can affect it when applied to a team game - skill of team mates, skill of enemies, players quitting, etc.

After some pondering, I think the best answer would be a system akin to what is currently in place, but with the final gain/loss moderated by the skill difference between the player, and the rest of his/her team. If you are of a higher MMR than your team’s average, then you lose less in the incident of a defeat. If you are the lowest MMR on your team and you lose, you lose more. Same goes for winning. I can only forsee one exploit with this - you could purposefully go in a party with low-skilled players.

There’s nothing wrong with the way it is now, assuming matchmaking is working correctly.

Its a team game. You win together or lose together.

Look at any sport. Houston Texans, for example. JJ Watt is easily the best defensive end in the NFL. But his team loses. Is it fair that JJ won’t get a super bowl ring this year? Yes. Because the team loses. TEAM.

Also, if a person is horrible, they’ll more often bring the team down and lose more often, resulting in a lower CSR. If a player is good, they’ll more often carry and win resulting in a higher CSR.

IF mm is working correctly, at some point it’ll all MOSTLY balance out. You’ll have team mates with similar skill to you, and so your win or loss will be justified.

ALSO, just getting a ton of kills in TS doesn’t mean you deserved a win. A team who communicates well, team shots, gets a lot of assists, can beat another team with better players that don’t do any of that.

> 2533274848483336;13:
> There’s nothing wrong with the way it is now, assuming matchmaking is working correctly.
>
> Its a team game. You win together or lose together.
>
> Look at any sport. Houston Texans, for example. JJ Watt is easily the best defensive end in the NFL. But his team loses. Is it fair that JJ won’t get a super bowl ring this year? Yes. Because the team loses. TEAM.
>
> Also, if a person is horrible, they’ll more often bring the team down and lose more often, resulting in a lower CSR. If a player is good, they’ll more often carry and win resulting in a higher CSR.
>
> IF mm is working correctly, at some point it’ll all MOSTLY balance out. You’ll have team mates with similar skill to you, and so your win or loss will be justified.
>
> ALSO, just getting a ton of kills in TS doesn’t mean you deserved a win. A team who communicates well, team shots, gets a lot of assists, can beat another team with better players that don’t do any of that.

It is still unfair if a good player gets dragged down by a bad team, though. While that should only happen rarely, it still can happen.

> 2533274839818445;11:
> > 2533274888824464;10:
> > > 2535468868025423;8:
> > > What if I go negative but played an integral part in helping the team get the power weapons which other members of my team got 10+ kills with?
> > >
> > > In team games, win/loss is the only way to determine whether a player goes up or down. Otherwise, someone could get 5 kills, no deaths, then go hide somewhere and not move just so they rank up. They’re an awful team player but would still rank up.
> > >
> > > Win/loss should determine whether you go up or down but individual stats should determine by how much.
> >
> >
> >
> >
> > This is exactly how it should be. Need to make this bigger. If we lose that sucks, if i go 25-5-9 and they go like 0-3-17 (kills, assists, deaths) then i shouldn’t lose as many points as they do. Make it so i lose like lets say 5 instead of 18.
>
>
> Still has the same problem, no?
>
> So now I’ll kill steal instead of assist [to lose less] points.
>
> So suddenly I’m competing against my own team for kills explicitly, instead of playing for the team win.
>
> There are a few better options so keep trying, but it starts to get really complicated really fast, and super hard to communicate back to everyone what’s going on.
>
> Also, there has to be balance and convergence. You can’t just heuristically give out points without causing widescale inflation.
>
> It should also be predictive if you want to trust it as a measure of skill. Otherwise you end up violating triangle inequalities and having weird rankings that make no sense.
>
> There’s a ton of math and design questions that go into this. The current system is a careful balance between those.

No it doesn’t have the same problem because if the team loses you still lose points, so your objective is to win if you want points.

> 2533274911283092;14:
> > 2533274848483336;13:
> > There’s nothing wrong with the way it is now, assuming matchmaking is working correctly.
> >
> > Its a team game. You win together or lose together.
> >
> > Look at any sport. Houston Texans, for example. JJ Watt is easily the best defensive end in the NFL. But his team loses. Is it fair that JJ won’t get a super bowl ring this year? Yes. Because the team loses. TEAM.
> >
> > Also, if a person is horrible, they’ll more often bring the team down and lose more often, resulting in a lower CSR. If a player is good, they’ll more often carry and win resulting in a higher CSR.
> >
> > IF mm is working correctly, at some point it’ll all MOSTLY balance out. You’ll have team mates with similar skill to you, and so your win or loss will be justified.
> >
> > ALSO, just getting a ton of kills in TS doesn’t mean you deserved a win. A team who communicates well, team shots, gets a lot of assists, can beat another team with better players that don’t do any of that.
>
>
> It is still unfair if a good player gets dragged down by a bad team, though. While that should only happen rarely, it still can happen.

I get that it feels that way but I don’t agree that it’s true.

The onoy purpose for CSR is for competitive gameplay. And from a competitive stand point, individual skill means nothing. TEAM skill is what matters.

Youre misunderstanding what your CSR represents. It is not your personal, individual skill (unless in a FFA lobby, where this discussion is null anyway). Your CSR in TS is your overall team skill.

> 2533274911283092;1:
> Currently, individual player CSRs are based on wins/losses of the entire team, as stated here. However, this, evidently, is unfair, as players could be placed in poor teams, or have a teammate quit on them. Thus, I believe it should be based on individual K/D ratio (at least in the Slayer playlists). As such, I have devised a simple algorithm with which CSR loss/gain could be calculated, from a game.
>
> Where:
> - KD = the player’s K/D ratio in the match. In objective gametypes, this would be replaced by objective captures and capture assists per life, multiplied by about 2-4 (in KotH, it’d be seconds in hill per life, divided by about 10).
> - AD = the players assists per death. In objective gametypes, this would be replaced by the player’s K/D ratio.
> - TP = the amount of players on that player’s team at the end of the match.
> - EP = the amount of players on the enemy team at the end of the match.
> - PCR = the player’s CSR, expressed as an integer, starting with 1 (Iron I), then 2 (Iron II) and so on, until pro is reached.
> - TCR = the mean CSR of the player’s team (excluding the player), expressed the same way as above. If all teammates have quit, or there are no teams, it is equal to PCR.
> - ECR = the mean CSR of the enemy team, expressed the same way as above. If there are no teams, it is the mean CSR of everyone excluding the player whose CSR gain is being calculated.
> CSR Gain = ((((KD^2) * (((EP - TP) *0.2) + 1)) * 5) - 5) * (((ECR - PCR) * 0.2) + 1) * ((PCR - TCR * 0.1) + 1) * (AD + 0.9)
>
> This would create reasonable results for each situation, and takes into account all major factors.
>
> In a completely fair match (everybody had the same CSR, and nobody quit), where the player got a K/D of 1, this formula would (or at least should) give 0, which reflects that the match is perfectly fair. However, in the far more common unbalanced matches, it should give reasonable results based on the players performance, skill of enemies and teammates, and numbers of both sides.
>
> If a difficulty curve was to be introduced, the same formula could be tweaked slightly, into this:
>
> CSR Gain = (((((KD^(2 + (PCR * 0.1))) * (((EP - TP) *0.2) + 1)) * 5) - 5) * (((ECR - PCR) * 0.2) + 1) * ((PCR - TCR * 0.1) + 1) * (AD + 0.9)) - PCR
>
> This would make it so that the higher the rank you are, the more there is at stake. Performing badly would result in losing a lot, while performing would result in gaining a lot, but not as much as if you had badly to the same extent.
>
> Obviously, some of the static numbers given might (and probably would) need a bit of tweaking. However, even as it is, it should work, and perhaps better than the current one which is based on wins and losses. It would be tailored exactly to the person’s skill, leaving little to anything else. Plus, it would remove the tiresome (but currently valid) argument of ‘My CSR is bad because I keep getting bad teams’.
>
> Any suggestions, comments or improvements?

Dude it’s a beta… nothing is being implamented correctly for ranking yet. If you couldn’t tell then you’re blind; especially seeing many people gold rank after only one win. You’re tryingto tell/teach 343 how there system should be & isn’t working is a waste of your time. i’m sure they’ve already realised it’s not working, but why waste the improvements for a 3 week beta that no ones able to keep their stats from.

> 2533274795660102;17:
> > 2533274911283092;1:
> > Currently, individual player CSRs are based on wins/losses of the entire team, as stated here. However, this, evidently, is unfair, as players could be placed in poor teams, or have a teammate quit on them. Thus, I believe it should be based on individual K/D ratio (at least in the Slayer playlists). As such, I have devised a simple algorithm with which CSR loss/gain could be calculated, from a game.
> >
> > Where:
> > - KD = the player’s K/D ratio in the match. In objective gametypes, this would be replaced by objective captures and capture assists per life, multiplied by about 2-4 (in KotH, it’d be seconds in hill per life, divided by about 10).
> > - AD = the players assists per death. In objective gametypes, this would be replaced by the player’s K/D ratio.
> > - TP = the amount of players on that player’s team at the end of the match.
> > - EP = the amount of players on the enemy team at the end of the match.
> > - PCR = the player’s CSR, expressed as an integer, starting with 1 (Iron I), then 2 (Iron II) and so on, until pro is reached.
> > - TCR = the mean CSR of the player’s team (excluding the player), expressed the same way as above. If all teammates have quit, or there are no teams, it is equal to PCR.
> > - ECR = the mean CSR of the enemy team, expressed the same way as above. If there are no teams, it is the mean CSR of everyone excluding the player whose CSR gain is being calculated.
> > CSR Gain = ((((KD^2) * (((EP - TP) *0.2) + 1)) * 5) - 5) * (((ECR - PCR) * 0.2) + 1) * ((PCR - TCR * 0.1) + 1) * (AD + 0.9)
> >
> > This would create reasonable results for each situation, and takes into account all major factors.
> >
> > In a completely fair match (everybody had the same CSR, and nobody quit), where the player got a K/D of 1, this formula would (or at least should) give 0, which reflects that the match is perfectly fair. However, in the far more common unbalanced matches, it should give reasonable results based on the players performance, skill of enemies and teammates, and numbers of both sides.
> >
> > If a difficulty curve was to be introduced, the same formula could be tweaked slightly, into this:
> >
> > CSR Gain = (((((KD^(2 + (PCR * 0.1))) * (((EP - TP) *0.2) + 1)) * 5) - 5) * (((ECR - PCR) * 0.2) + 1) * ((PCR - TCR * 0.1) + 1) * (AD + 0.9)) - PCR
> >
> > This would make it so that the higher the rank you are, the more there is at stake. Performing badly would result in losing a lot, while performing would result in gaining a lot, but not as much as if you had badly to the same extent.
> >
> > Obviously, some of the static numbers given might (and probably would) need a bit of tweaking. However, even as it is, it should work, and perhaps better than the current one which is based on wins and losses. It would be tailored exactly to the person’s skill, leaving little to anything else. Plus, it would remove the tiresome (but currently valid) argument of ‘My CSR is bad because I keep getting bad teams’.
> >
> > Any suggestions, comments or improvements?
>
>
> Dude it’s a beta… nothing is being implamented correctly for ranking yet. If you couldn’t tell then you’re blind; especially seeing many people gold rank after only one win. You’re tryingto tell/teach 343 how there system should be & isn’t working is a waste of your time. i’m sure they’ve already realised it’s not working, but why waste the improvements for a 3 week beta that no ones able to keep their stats from.

You don’t understand the point of a beta do you?

> 2535468868025423;15:
> > 2533274839818445;11:
> > …
>
>
> No it doesn’t have the same problem because if the team loses you still lose points, so your objective is to win if you want points.

I respectfully disagree. Less negative points is exactly the same as more positive points. If I steal your kills I get -5 instead of -15, that’s the same as “winning” 10 points by competing against my own team.

If I know stealing your kill will make sure I net 10 points, I’m stealing as many of your kills as I can.

The only way to fix kill stealing would be to make it so that whichever surviving player dealt the most damage to the dead player in the last 2-3 seconds gets the kill.