The calculated rating of each NA LCS Team
Using the Elo system I have created this program to estimate how good each NA LCS team is.
import java.util.Arrays;
public class Everything { static double[] values = {1050, 1050, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000};
public static void main(String[] args) {
// TSM 0
// Cloud9 1
// Coast 2
// Dignitas 3
// Winterfox 4
// Gravity 5
// Impulse 6
// Liquid 7
// CLG 8
// Team 8 9
defeat(0, 1); defeat(3, 2); defeat(4, 5); defeat(7, 6); defeat(8, 9);
defeat(6, 3); defeat(2, 4); defeat(7, 8); defeat(5, 1); defeat(9, 0);
defeat(5, 3); defeat(9, 2); defeat(1, 7); defeat(8, 6); defeat(0, 4);
defeat(8, 1); defeat(4, 3); defeat(0, 7); defeat(6, 9); defeat(5, 2);
defeat(6, 5); defeat(1, 9); defeat(0, 3); defeat(7, 2); defeat(8, 4);
System.out.println(Arrays.toString(values));
}
public static double calcVal(double x1, double x2) {
return 10*(1 + Math.pow(10, (x2 - x1)/400));
}
public static void defeat(int index1, int index2) {
double val1 = values[index1];
double val2 = values[index2];
double changeVal = calcVal(val1, val2);
values[index1] += changeVal;
values[index2] -= changeVal;
}
}
Explanation:
TSM and Cloud 9 were the best NA teams last season. In an attempt to compensate for this, they started off with a higher rating. The other teams I didn't want to be subjective on so they all just started with the same rating. Then, for each game played, the winner gains points from the loser in the standard LoL elo fashion - meaning it only cares who won. I don't want to attempt to take into account how much a team won by, when a team could close a game out as soon as they got ahead, versus keep it going a long time and keeping increasing their KDA for a lot longer. So I don't really want to include KDA.
The results:
- TSM 1093.6889
- CLG 1058.5552
- Cloud9 1028.0089
- Impulse 1027.6045
- Gravity 1018.6606
- Liquid 1018.2443
- Team 8 983.9206
- WinterFox 981.7192
- Coast 946.7261
- Dignitas 942.8719
Predictions for tomorrow's games:
Cloud9 61% Team Coast 39% CLG 56% Gravity 44% Liquid 61% Dignitas 39% Team 8 50% WinterFox 50% TSM 59% Impulse 41%
Really though, the main point of this for me is that I like trying to make forumlae or algorithms to try to calculate this sort of thing. I know mine isn't perfect but I think I've got it pretty close at least. Would anyone have any suggestions as to how to make this more accurate? It's okay if you want to try to tell me this sucks as long as you have an idea that would make it better.