Suggest alteration to the ranking formula

Up until now the ranking formula has been quite appropriate for the environment it is made for (CCL), starting the scaling use of win% at 50% of total and rising to 100% (and slightly beyond) over a set number of games.

The problem I foresee is that as of LE we have tier 3 teams whose win rates are expected to be significantly below 50%. The danger with that is that we may see Gobling, Ogre, and Halfling teams with a perfect but very short record placing well above the more realistic records of better coaches who have played significantly more games.

So, while this is a bit of an edge case that is only likely to affect tier 3 rosters, I'm suggesting the base multiplier be shifted from 50% or whatever it's at, down to around 30%, maybe even 20%. That would keep the better performing, higher number of games played coaches at the front of the pack rather than low games played perfect record teams.

Lol, I just wanted to make a very similar post.

I think you are right and it may be worth investigating further. I played quite a lot in CCL this season and watched the ranking ladder quite closely and it seemed like (no analysis done -> personal biases here), that a short winning streak may be better than a long record of games in which a lot of losses happened (talking about the lower tier teams now and accounting for, that this season is very short).

last edited by Arne
BB2 Champion Ladder Admin Team

Formula
RankPoints = Win% * (CrossPoint + (1 - CrossPoint) * (1-((1-MIN(Limit, GamesPlayed)/Limit)^x)) + NonConcedeBonus
where x = log (a/(1-CrossPoint)) / log(1-(Target/Limit))
Crosspoint = 0.4
Limit = 42
NonConcedeBonus = (played - concede) * 0.02 (concede = 0 atm).
a = 0.05
Target = 28

Crosspoint is currently at 0.4. I'll run some tests with variations from 0.2 to 0.4.

last edited by dode74

@Arne You make a good point, but I like the fact that a 10-0-0 will still get me qualification in most of the races (18 out of 24) even at this stage of the season. It spurs me on to keep re-rolling teams and retrying. If I had to play 20 or 30 games with a new team to stand a chance, I probably would lose interest in the latter half of the season.

There should be a change - the current halfling place 1 only played 3 games against kind of even teams and sits there, while other halflings that actually try cant reach a 3 0 0 score with 10+ games played - thats screwed up in my opinion.

@RunningDragon said in Suggest alteration to the ranking formula:

@Arne You make a good point, but I like the fact that a 10-0-0 will still get me qualification in most of the races (18 out of 24) even at this stage of the season. It spurs me on to keep re-rolling teams and retrying. If I had to play 20 or 30 games with a new team to stand a chance, I probably would lose interest in the latter half of the season.

You kind of have to play roughly 20-30 matches to get the team developed to be able to be competitive in the Play-offs though. 🙂

Is it possible to use the race as a parameter in the formula?

@Enarion One step at at time! 🙂

I saw a guy last season get his best players killed just before the playoffs. He went on to do quite well...

@Arne said in Suggest alteration to the ranking formula:

                Is it possible to use the race as a parameter in the formula?

Given that the playoffs take the top team of each roster I'd say you wouldn't want to use race in the formula, you just need to make sure that the intercept point is below the expected win rate for every roster. That's why it was fine up until the introduction of t3 teams.

If you tried to make it adapt to rosters without using shifting roster-specific distributions, you'd be getting into the super-sketchy area of trying to assign a static "race modifier" for each roster... and to what end? It's still going to give you a better spread of races if you just take the top team of each roster 😉

BB2 Champion Ladder Admin Team

How about:

If race = Goblin or race = Halfling or race = Ogre then Crosspoint = 0.25
Else Crosspoint = 0.4

It'll put the T3 teams lower in the overall standings, improving faster as they get more games played and reaching parity with the other teams at 42 games. They're only realistically competing against each other for the playoffs - I doubt anyone expects two T3 teams of the same race to qualify - so I doubt it'd have much impact overall.

If that's no good then crosspoint at 0.3 seems to work ok.

@dode74 said in Suggest alteration to the ranking formula:

If race = Goblin or race = Halfling or race = Ogre then Crosspoint = 0.25
Else Crosspoint = 0.4

There's no reason to use different intercept points for different rosters - the lower point simply means that your ranking points will be lower in early games. So long as no rosters are introduced with an expected win rate distribution that averages below the chosen intercept, it should be fine for everyone.

Honestly, it could have been left at 0, its just easier to explain to people when its above that a bit so their perfect records don't lag as far behind much less perfect records with higher games played.

Why don't we just simplify it even more, If coachname = Enarion and race = Halfling = automatic playoff ticket.

@JohnnyFeyev said in Suggest alteration to the ranking formula:

Why don't we just simplify it even more, If coachname = Enarion and race = Halfling = automatic playoff ticket.

Because it'd be seen as a derivative of the "If coachname = Enarion, automatic chat ban from cKnoor's twitch stream" formula. In general, math formulas shouldn't include "if" statements because they're math, not programming.

BB2 Champion Ladder Admin Team

@VoodooMike said in Suggest alteration to the ranking formula:

Honestly, it could have been left at 0, its just easier to explain to people when its above that a bit so their perfect records don't lag as far behind much less perfect records with higher games played.

Sure, but that lack of understanding led to plenty of confusion with the old formulae with equivalent of a 0 crosspoint. One of the nice things about the current method is it doesn't have that happen.

@VoodooMike said in Suggest alteration to the ranking formula:

@JohnnyFeyev said in Suggest alteration to the ranking formula:

Why don't we just simplify it even more, If coachname = Enarion and race = Halfling = automatic playoff ticket.

Because it'd be seen as a derivative of the "If coachname = Enarion, automatic chat ban from cKnoor's twitch stream" formula. In general, math formulas shouldn't include "if" statements because they're math, not programming.

chuckles

Well, I wanted to confront the root cause of the +300TV for Halflings debacle. cKnoor and his fanboys had the notion they were designed to always be TV down and designed to always have inducements. Which was false.

First time I got temp-banned from a twitch chat. 😉

I just think it's funny that people seem to think all teams should be created equal. Makes me wonder if there were people on the earliest internets bitching about the Klobb on Goldeneye.

@Enarion said in Suggest alteration to the ranking formula:

Well, I wanted to confront the root cause of the +300TV for Halflings debacle. cKnoor and his fanboys had the notion they were designed to always be TV down and designed to always have inducements. Which was false.

Well... you can confront them on the idea, but while I'm pretty sure they're where the idea originates I don't think they stood side by said, holding hands with the Cyanide folks, when the decision was made to implement that in BB2. Cyanide may take their ideas from the community's discussions, but its not like they "ok" it with the people whose ideas they co-opt, or even inform them directly beforehand.

The real point of the whole situation is that Cyanide should stick to data-driven decision making. Even if there's an out-of-left-field idea (like adding 300 TV to halfling MM) that they think is keen, they should at least see if there IS data that can inform that decision before they make it.

Looks like your connection to Focus Home Interactive - Official Forums was lost, please wait while we try to reconnect.