Upcoming rating changes: Gaining global from playing matchmaker

The next server version (no ETA on this yet, sorry) is going to include a feature that will hopefully address some longstanding pain points for new players who can find it hard to get into games because of a lack of having an established rating. It will work like this:

Whenever you play a matchmaker game (1v1, 2v2, etc) and the game is rated, the rating system will perform an additional rating step using players global rating. This works by taking the matchmaker ratings of all players, substituting in the global rating for the player who's rating is being adjusted. The changes to global are then applied to players that meet a few conditions:

  1. The player's global rating must be below a threshold (currently 1400)
  2. The player's matchmaker rating must be higher than the player's global rating
  3. The global rating change must result in an increase in displayed rating

Any players who don't meet all of those conditions will not have their global rating changed by the game.

Example

  • Player 1: 500 ladder, 100 global
  • Player 2: 400 ladder, 600 global

Lets say that player 1 wins the game. First the matchmaker rates the game using the ladder ratings as usual: 500 wins against 400. Then it checks that the global ratings for the players are below 1400, which they are, and it checks that the ladder ratings are higher than the global ratings, which is only true for player 1, so only player 1 can have their rating adjusted. For player 1 it replaces the ladder rating of 500 with the global rating of 100 and rates the game again as 100 wins against 400, and sees that this results in a large rating increase, lets say it increases to 200. Finally, it checks if the global rating change 100 -> 200 was positive, which it was, so it applies that change for player 1.

So the total affect on players ratings for the game would be:

  • Player 1:
    • Ladder rating increased by a little bit
    • Global rating increased by a lot
  • Player 2:
    • Ladder rating decreased by a little bit

This may seem a little complicated, but these restrictions are necessary to prevent rating abuse. If you've been playing FAF for a long time (longer than me) then you might remember a time during the ZeP days when a more naive global rating adjustment was added which was abused by players to quickly tank their global rating.

Finally I should note that global rating changes resulting from matchmaker games will not be displayed in the replay info section of the client currently because this is a new feature, but we may be able to add support for that in the future.

Let me know if you have any questions!

You can find the full release notes on GitHub:
https://github.com/FAForever/server/releases/tag/v1.11.0

Can I get a math behind it?
Need to predict rating changes.

This looks like good improvement at first, however i do not like the way in which the global rating is adjusted mathematically.
In this example:

  • Player 1: 500 ladder, 100 global
  • Player 2: 400 ladder, 600 global

The difference between players is 100 in ladder, and -500 in global. This is an absolutely massive difference of 600 rating points. It means that either global, ladder or both have a completely wrong prediction of either or both of the players skill (if we ignore deviation for a second).

We know this because a rating difference of x always predicts a winrate of y, and from what i know this is constant over all FAF ratings. We ignore deviation because the above calculation does as well.

So basically, we now know that one or both ratings are horifically wrong, but we do NOT know which it is, nevertheless we always assume ladder is right and global is wrong.

Lets say my 2v2 rating is still really low (and deviation high) because i only played a bunch of matches half a year ago. This effectively means that winning in ladder now will overinflate my global rating masively causing me to be really really overrated in global.

But this is only the first problem. In addition, instead of taking into account global rating of both players when adjusting global rating of a player, it also replaces global rating with ladder rating when calculating the new global rating. This is nuts because it absolutely destroys the way in which deviation is supposed to affect the Trueskill algorithm.

So, TLDR, thes adjustments just shit over a ton of mathematical aspects of global rating. It does not respect deviation of global ratings and it does not even respect mean, because mean is replaced with ladder mean during calculation.

And then, since rating is only applied to winning players, this will lead to rating inflation in global (because rating of a player will then be captured by others when that player plays in global) but ok, that is not the main problem with this change.

If we decide that global is so broken that we just fuck with it in any way we want, why do we not do the proper thing and remove global, rating and instead show an accumulation of various ladder ratings for custom games that cannot be affected by custom games?

Here is a solution that avoids messing with global rating to this extend and still solves the problem:

Before showing rating in custom game::

  1. Calculate normalized mean rating of each player (based on average mean) for each rating context (1v1, 2v2, global) so that these different number ranges for mean rating actually become comparable.
  2. Use number of games played in each rating context to create a "weight" value for that context (basically "how much has the player played 1v1/2v2/custom")
  3. Calculate average (normalized) mean and deviation between all contexts of each player using the weights.

No actual rating calculation changes necessary. You can create a weight such that for example you always get a factor of 0 if you have played less than 15 games in a certain context. Here is an example formular for the weight (the root is optional):

weight = 1 - (1 / root(Max(1, num_games - 15)))

You could also calculate weights such that ladder rating is only used for interpolation when you to little global games. I can make a forumlar for that as well if interested.

@Katharsas I think you missed the second condition:

  • The player's matchmaker rating must be higher than the player's global rating

The global rating can’t become inflated from having a low matchmaker rating and winning a lot. In that case, no adjustment will be performed. The only situation in which global may be falsely inflated is if a player has much higher rating than their actual skill (say due to an extended absence from faf) yet still manages to win matchmaker games. In this situation the global is already inflated and may continue to creep up until it meets the matchmaker rating, but it wont be by much because the player will be losing against equally rated opponents.

I’m not sure what you mean about the adjustment ignoring deviation. This is not correct. I used displayed ratings in my example to make it easier for people to understand, but the code still uses vanilla trueskill mean, dev pairs.

We will have to keep an eye on the edge cases, but I’m pretty confident it will not be the doomsday you are predicting.

Ok, well that means global rating gets messed with in a random way less often. Could we just not mess with it in the first place?

Some years ago i spent months in the forum on every rating related thread trying to convince people to reduce starting mean for new players. The conclusion was that we have no real way so simulate the effects of that change so wed rather not change anything. And now we just start randomly increasing numbers based on a calculation that makes no sense from Trueskills point of view?

Im kind of pissed.

Why don't we use the interpolation solution instead? We achieve the same goal without doing questionable manipulations to global rating.

Edit:
The proposed change would also make simulating a change to global rating parameters with past data much harder i think, because global game outcomes are no longer enough to redo all global rating calculations. All in all it increases the complexity of the rating system in ways that we did not really have before (games affecting unrelated ratings), which imo is worse than the actual math.

So basically, we now know that one or both ratings are horifically wrong, but we do NOT know which it is, nevertheless we always assume ladder is right and global is wrong.

We assume that ladder is right, because you gain ladder rating in a controlled environment that cannot be manipulated by the player, in contrast to global.

But this is only the first problem. In addition, instead of taking into account global rating of both players when adjusting global rating of a player, it also replaces global rating with ladder rating when calculating the new global rating. This is nuts because it absolutely destroys the way in which deviation is supposed to affect the Trueskill algorithm.

I don't understand what you mean by this. It never changes only the mean, when inserting global rating to calculate the adjustment, it also uses the global deviation of course.

If we decide that global is so broken that we just fuck with it in any way we want, why do we not do the proper thing and remove global, rating and instead show an accumulation of various ladder ratings for custom games that cannot be affected by custom games?

We still need global so the communities that play on one map only and barely any matchmaker can keep a system to balance their games. What this change is trying to address is the problem of new players not being able to get into custom games, because they have no rating. In the future they can play matchmaker games and global will slowly float to their highest matchmaker rating.
This change does not intend to address the inconsistencies with global rating.

Some years ago i spent months in the forum on every rating related thread trying to convince people to reduce starting mean for new players. The conclusion was that we have no real way so simulate the effects of that change so wed rather not change anything.

That's not entirely true, because the rating interpolation was introduced. That was without simulating the effects and that is fine, because demanding every possible change be completely simulated beforehand seems over the top to me.

We don't use the interpolation because as I explained above we still need global to function as before for some players. Also making this interpolation in lobby only leads to problems when you want to look up a players global rating in the client.
I don't see our way of adjusting global as such an egregious manipulation that we should at all costs avoid persisting it in the database.

@blackyps said in Upcoming rating changes: Gaining global from playing matchmaker:

So basically, we now know that one or both ratings are horifically wrong, but we do NOT know which it is, nevertheless we always assume ladder is right and global is wrong.

We assume that ladder is right, because you gain ladder rating in a controlled environment that cannot be manipulated by the player, in contrast to global.

So we effectively do not trust ladder rating? Why do we still bother using it then? It is not needed (just remove it and use interpolated ladder rating instead).

But this is only the first problem. In addition, instead of taking into account global rating of both players when adjusting global rating of a player, it also replaces global rating with ladder rating when calculating the new global rating. This is nuts because it absolutely destroys the way in which deviation is supposed to affect the Trueskill algorithm.

I don't understand what you mean by this. It never changes only the mean, when inserting global rating to calculate the adjustment, it also uses the global deviation of course.

Every mean rating in a Trueskill context is only relative to other ratings inside the same context (500 mean in ladder is not the same as 500 in custom).

And in every match Trueskill tests its own (relative!) prediction of the player s skill to adjust its own knowledge. Inserting a prediction into the match that this Trueskill context never actually made (by replacing ONLY the opponents rating with their ladder rating) is bonkers! It makes no sense! The result of that calculation does not mean anything!

You COULD actually make use of ladder games by simply pretending that each ladder game was played both in ladder AND as a custom game. That would make sense, because now you are replacing ALL players rating with their global rating and then adjusting ALL players (whose relative ratings now make sense because all those ratings were produced in the same system). But that is not being proposed!

It would be the only thing that would make sense if you are hellbent on changing global rating through ladder games. Not sure if it can be exploited.

If we decide that global is so broken that we just fuck with it in any way we want, why do we not do the proper thing and remove global, rating and instead show an accumulation of various ladder ratings for custom games that cannot be affected by custom games?

We still need global so the communities that play on one map only and barely any matchmaker can keep a system to balance their games. What this change is trying to address is the problem of new players not being able to get into custom games, because they have no rating. In the future they can play matchmaker games and global will slowly float to their highest matchmaker rating.
This change does not intend to address the inconsistencies with global rating.

I hope you plan to remove global at some point then because if you do it as it is currently planned you are no longer doing things that make sense for having a predictable well-behaved rating system, you are deep inside band-aid mode already.

Some years ago i spent months in the forum on every rating related thread trying to convince people to reduce starting mean for new players. The conclusion was that we have no real way so simulate the effects of that change so wed rather not change anything.

That's not entirely true, because the rating interpolation was introduced. That was without simulating the effects and that is fine, because demanding every possible change be completely simulated beforehand seems over the top to me.

From what i understand, the rating interpolation does NOT interfere with the rating system in anyway? It is only used to determine which players are matched against each other. Matchmaking really is not mathematically connected to Trueskill! You can decide to let -100 players play against 2000 player all day long, Trueskill would not care!

Trueskill cares about having a prediction of a player skill that was built up in a non-changing context together with predictions of other players in that same context, and improving its own prediction of the player skills relative to each other. It is not really concerned with who is matched against who.

So if i am correct this is the first time we really try to fuck with Trueskill itself!

We don't use the interpolation because as I explained above we still need global to function as before for some players.

Interpolation would include global as one of the ratings being interpolated. Players that have no ladder games would have their global rating shown. I have no idea why you think interpolation would not work.

Also making this interpolation in lobby only leads to problems when you want to look up a players global rating in the client.
I don't see our way of adjusting global as such an egregious manipulation that we should at all costs avoid persisting it in the database.

Just use that exat same calculation to show people their "global" rating? Its not rocket science. Its just averaging by weights. Leave out the normalization step for all i care, its not essential.

The proposed change fucks with global in a way we have never done before, and i have proposed the interpolation solution for this exact problem before (i can try digging it up if you want), so i really do not see why we are know suddenly making this change when a better much less invasive solution could have been implemented.

And i think the argument in my last edit is kinda important unless death of global rating is planned:

The proposed change would also make simulating a change to global rating parameters with past data much harder i think, because global game outcomes are no longer enough to redo all global rating calculations.

Also, how about we (as a community) discuss such intrusive changes BEFORE they are implemented?

So we effectively do not trust ladder rating?

No? How do you get that impression?

Inserting a prediction into the match that Trueskill never actually made (by replacing ONLY the opponents rating with their ladder rating) is bonkers!

It seems like there is a misunderstanding here. I'll give you a 2v2 example: When performing the adjustment for player 1 we take the tmm ratings of everyone and replace only player 1's rating with global. Then we let trueskill rate this game and if the conditions mentioned in the first post are met, save the new global rating for player 1. Then we do this with all other players. So for player 2 everyone else will have tmm rating again and player 2's global will be used.
We could maybe perform the adjustment with using only global ratings, but we don't know the global ratings of the players at all. The only thing we know is that their tmm ratings are similar enough to give a balanced game, so we use these. Also we have more trust in the matchmaker ratings than global as I explained above.

I hope you plan to remove global at some point then because if you do it as it is currently planned you are no longer doing things that make sense for having a predictable well-behaved rating system, you are deep inside band-aid mode already.

Yes, I do not believe that global as it is now is a healthy rating system. There are too many variables players can control in custom games to influence their rating. You can see the result in people that are way higher rated than you would expect them to be. Removing global right now would make the gap, setons and astro players rise up in arms, so unless you have an idea how to solve their needs, global stays for now. In the long term people hopefully play the matchmaker more, so global becomes less relevant, but when it has become irrelevant it doesn't really matter if it gets removed or not.

So if i am correct this is the first time we really try to fuck with Trueskill itself!

I really fail to see what we are fucking with. Yes, this change will lead to "communication" between the ratings, but as we all initialize them with 1500+-500 I don't see a problem with that.

The proposed change would also make simulating a change to global rating parameters with past data much harder i think, because global game outcomes are no longer enough to redo all global rating calculations.

Does anyone actually want to do this? This is a genuine question. I know that in the past it was demanded to do this to test changes to trueskill, but to me it seemed more like a ostensible reason to prevent changes to the rating system. There has been a change of the tau value in the past and I don't think it was simulated beforehand with all the rating data we have.

Also, how about we (as a community) discuss such intrusive changes BEFORE they are implemented?

There has been discussion about this. I don't remember everything where it took place, but there was discussion on the issue: https://github.com/FAForever/server/issues/845
We also had a voice call with Morax as the player councillor, some developers and some ladder team members.

@askaholic said in Upcoming rating changes: Gaining global from playing matchmaker:

I used displayed ratings in my example to make it easier for people to understand, but the code still uses vanilla trueskill mean, dev pairs.

Ok so this is much worse than i thought (i expected the rules to operate on mean rating). If all those rules are operating on displayed rating instead of mean rating, than we are in really deep shit. Sorry.

New players will have a very HIGH starting mean rating og 1500. That is what i was trying to fix years ago.

They have very high deviation because they start with 500, which is the only reason their displayed rating is low in the beginning.

What you are essentially proposiong is that when a new player wins in ladder, their global mean rating will get inflated and become EVEN BIGGER than 1500, which means they are going to have a completely unrealistic mean rating.

When thay start playing global, their deviation will reduce, catapulting them into a rating range where they should have never ever been and where they will destroy balance in matches!

I hope that i am wrong and you actually have a good idea about what you are manipulating here, but it doesn't seem like it.

In contrast to Katharsas, I'd like to add some positivity here and say that this a a good change!

It will lead to global rating inflation, yes, but global rating itself is so untrustworthy in a vacuum, that it probably doesn't matter much.
(maybe reduce the rating threshold from 1.4k to 1k?)

Most importantly though: New players being grey for dozens of games really is a big problem and this effectively solves that for anyone willing to play a couple ladder games. Good stuff 🙂

What you are essentially proposiong is that when a new player wins in ladder, their mean rating will get inflated and become EVEN BIGGER than 1500, which means they are going to have a completely unrealistic mean rating.
When thay start playing global, their deviation will reduce, catapulting them into a rating range where they should have never ever been and where they will destroy balance in matches!
I hope that i am wrong and you actually have a good idea about what you manipulating here, but it doesn't seem like it.

I'm sorry, but at the moment it looks more like you are the one having strange ideas about the rating system. A player winning his first match will have a mean higher than 1500 this the way it has always been. That is not a problem, because when he keeps playing it's not like his mean will stay that way. When he loses against players with a much lower mean than him, his mean will also drastically reduce. In ladder this happens because of the rating interpolation we use for matching, in global this happens because people balance by displayed rating, so our "1600 mean conceiled by high deviation" guy would play in a game with let's say average 500 players and because he is new he won't win all of these games.

@blackyps said in Upcoming rating changes: Gaining global from playing matchmaker:

So we effectively do not trust ladder rating?

No? How do you get that impression?

Because you are assuming that ladder rating is correct and global is not when both rating contexts have built up different predictions of skill difference between two players.

Inserting a prediction into the match that Trueskill never actually made (by replacing ONLY the opponents rating with their ladder rating) is bonkers!

It seems like there is a misunderstanding here. I'll give you a 2v2 example: When performing the adjustment for player 1 we take the tmm ratings of everyone and replace only player 1's rating with global. Then we let trueskill rate this game and if the conditions mentioned in the first post are met, save the new global rating for player 1. Then we do this with all other players. So for player 2 everyone else will have tmm rating again and player 2's global will be used.
We could maybe perform the adjustment with using only global ratings, but we don't know the global ratings of the players at all. The only thing we know is that their tmm ratings are similar enough to give a balanced game, so we use these. Also we have more trust in the matchmaker ratings than global as I explained above.

There is no misunderstanding here. You are using ladder rating numbers, which have no meaning inside the global rating context, as prediction to adjust the prediction of the global rating context, in fact mixing them inside the same calculation. That makes no sense.

If you adjust the global prediction you MUST only use global predicitions as input! The different rating contexts gain inflation and deflation independently of each other, as i have already sid, 500 in global is not guarantueed to be close to 500 in ladder!

Why is it important to know what their global ratings are?? You don't need to! Trueskill was made so you don't have to worry about this, just let it calculate inside its context and improve its own prediction!

I hope you plan to remove global at some point then because if you do it as it is currently planned you are no longer doing things that make sense for having a predictable well-behaved rating system, you are deep inside band-aid mode already.

Yes, I do not believe that global as it is now is a healthy rating system. There are too many variables players can control in custom games to influence their rating. You can see the result in people that are way higher rated than you would expect them to be. Removing global right now would make the gap, setons and astro players rise up in arms, so unless you have an idea how to solve their needs, global stays for now. In the long term people hopefully play the matchmaker more, so global becomes less relevant, but when it has become irrelevant it doesn't really matter if it gets removed or not.

And the interpolation i suggested would let you slowly phase out global by adjusting the global weight over time, which is another advantage it has.

So if i am correct this is the first time we really try to fuck with Trueskill itself!

I really fail to see what we are fucking with. Yes, this change will lead to "communication" between the ratings, but as we all initialize them with 1500+-500 I don't see a problem with that.

The problem is that every single player entering or leaving the rating context shifts that context ratings range! If a 2000 rated player stops playing global, then the global rating pool just lost 2000 rating! So right from the start the averge mean rating will start to diverge. The default values only guarantuee that deviation has the same meaning, mean rating is not predictably related!

The proposed change would also make simulating a change to global rating parameters with past data much harder i think, because global game outcomes are no longer enough to redo all global rating calculations.

Does anyone actually want to do this? This is a genuine question. I know that in the past it was demanded to do this to test changes to trueskill, but to me it seemed more like a ostensible reason to prevent changes to the rating system. There has been a change of the tau value in the past and I don't think it was simulated beforehand with all the rating data we have.

Yeah that Tau value was changed when we still had a person that had a lot of confidence in its own understanding of Trueskill. But if i remember correctly, Tau does not really do much, it basically just changes the average amount of mean rating gain/loss. So an very non-risky change to make.

Also, how about we (as a community) discuss such intrusive changes BEFORE they are implemented?

There has been discussion about this. I don't remember everything where it took place, but there was discussion on the issue: https://github.com/FAForever/server/issues/845
We also had a voice call with Morax as the player councillor, some developers and some ladder team members.

So no open discussion in the forum where such things need to take place if you want others than developers and councillors to give input on these things.

@blackyps said in Upcoming rating changes: Gaining global from playing matchmaker:

I'm sorry, but at the moment it looks more like you are the one having strange ideas about the rating system. A player winning his first match will have a mean higher than 1500 this the way it has always been. That is not a problem, because when he keeps playing it's not like his mean will stay that way. When he loses against players with a much lower mean than him, his mean will also drastically reduce. In ladder this happens because of the rating interpolation we use for matching, in global this happens because people balance by displayed rating, so our "1600 mean conceiled by high deviation" guy would play in a game with let's say average 500 players and because he is new he won't win all of these games.

So we are potentially destroying the balance of 1 to maybe 5 global games (if deviation was reduced a lot it needs to build back up to where mean rating changes are bigger) whenever a ladder player enters global so that we can cleanup a shitty global mean rating that was basically produced out of thin air? Why is that an OK solution?

Why don't we just randomly generate a small number between -150 and 150, add that to starting rating and then make displayed rating in lobby always white? Simple, no discussion necessary, guarantueed to not have bad side effects.

There are various solutions to this problem, and the proposed one is not close to being necessary.

So what specific problems do you think this introduces? I get that you think it messes with the integrity, but what issues will arise from that?

In my experience asking about complicated things on the forum doesn't really give good results. Most of the time you either get no answers or input that is not really well thought out. If there are in depth answers they are most of the times from people that are already contributing, so basically the developers and councillors you mentioned. I linked the github issue because I know that you are also a developer and more familiar with that. I don't expect regular players to browse github.
In a way the open forum dicussion was the retention thread were people repeatedly mentioned that it is very hard to get let into games when you are a new player. So we started working on a solution in the typical developer media. The implementation details of the solution are not really suitable to be discussed on the forum.

I don't know in what parts of the project you are contributing to, but if you are also a server developer how did you manage to completely miss the development of that pull request?

So we are potentially destroying the balance of 1 to maybe 5 global games (if deviation was reduced a lot it needs to build back up to where mean rating changes are bigger) whenever a ladder player enters global so that we can cleanup a shitty global mean rating that was basically produced out of thin air?

What would happen when an established ladder player started playing global is that basically he would start with his ladder rating (because his global would float up until it is more or less equal to his ladder rating. It was not produced out of thin air) instead of 0 rating (assuming his ladder is under the 1400 threshold). How would that destroy the balance of the first global games more than starting with 0?

Why don't we just randomly generate a small number between -150 and 150, add that to starting rating and then make displayed rating in lobby always white? Simple, no discussion necessary, guarantueed to not have bad side effects.

Please don't drag this thread down into shitposting territory

I am not a developer (anymore)? That is the point.

Also that was not a shitpost, but a genuine suggestion. What are the problems with it that make you think it was shitposting?

Im am just disappointed with bad and complex solutions being implemented in the face of substantially better possible solutions, two of which i have proposed here. In the past, rating related changes have always been extensivly discussed in the forum prior to being implemented. Can we not at least trying to discuss such things in the forum, even if we do not always end up with valuable input?

What would happen when an established ladder player started playing global is that basically he would start with his ladder rating (because his global would float up until it is more or less equal to his ladder rating. It was not produced out of thin air) instead of 0 rating (assuming his ladder is under the 1400 threshold). How would that destroy the balance of the first global games more than starting with 0?

No he would not start with his ladder rating! Because you can have the same displayed rating while having entirely different mean and deviation! Trueskill rating cannot be expressed in a single number if you want to actually manipulate it in a way that makes sense to Trueskill! For the god of love at least make the 3 conditions from initial post operate on mean rating instead of displayed rating!

I am not a developer (anymore)? That is the point.

Oh, then I got the wrong impression, my apologies!

Also that was not a shitpost, but a genuine suggestion. What are the problems with it that make you think it was shitposting?

It was the adding a random number thing combined with "guarantueed to not have bad side effects". Making lobby rating always white is a good suggestion and already on the way to being implemented. I believe it is planned to be included in the next faf patch. But I don't understand what adding a random number is supposed to accomplish?

No he would not start with his ladder rating! Because you can have the same displayed rating while having entirely different mean and deviation! Trueskill rating cannot be expressed in a single number if you want to actually manipulate it in a way that makes sense to Trueskill!

Yes that was a bit of an oversimplification by me. Only if he only played ladder and nothing else his global rating would be exactly the same in mean and dev to his ladder rating. However, even if he also played other games, a settled deviation is somewhere between 60 and 80, so I am pretty confident that if he played enough games in the matchmakers to have established rating there, his global would also have a similar deviation and in consequence a similar mean.

The rules operate on displayed rating, because that is what the client shows to the players and we would accidentaly exclude new players from the adjustments, because their mean is massively higher than their displayed rating in comparison to established players.

I don't really understand why you think it is so much worse to have these rules use displayed rating instead of mean.

I assume the mean vs displayed rating thing is Katharsas assuming that you are going to apply the trueskill algorithm to the displayed rating.

That wouldn't make much sense and also not how I understood askaholics initial post.

I understood it such that you are going to apply the trueskill algorithm to the mean+deviation, as that is the only thing that makes sense and use the displayed ratings only to figure out if you should apply the algorithm in the first place.

Am I correct?