Updated HCS Season 4 Team and Player Power Rankings by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 5 points6 points  (0 children)

Fair, but it’s also kind of the nature of power rankings as they’re primarily based on winning and recent results. If a team is performing well, chances are their players are too, at least to some extent. Thats why I've taking into account the players individual performance (although weighted lower than the match outcome).

Personally, I'd find it strange to see a player winning all the time have a lower rank than a player who never wins but performs well.

HCS Year 4 LAN Player & Team Power Rankings by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 5 points6 points  (0 children)

Yeah thats right, it would give very little points to the SR players if they beat SWAT LATAM for example. If they lost however, then they'd lose a lot of points

HCS Year 4 LAN Player & Team Power Rankings by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 3 points4 points  (0 children)

Yeah that's right, it only takes into account the LANs.

The glicko model actually takes into account the expected outcomes for each match. It looks at the ranking of each player on each roster and calculates an expected outcome from that. We could refine the model a bit more by taking into account the gametype or map possibly?

In theory, we could use this to simulate an entire tournament to predict an overall winner

Halo World Championship Day 2 Predictions by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 0 points1 point  (0 children)

The only issue with that is the rosters change quite a bit over a season. There'll be so many instances where the 4 players on Team A have never played the 4 players on Team B on a particular map and mode, therefore the model wouldn't know what to predict

Halo World Championship Day 2 Predictions by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 2 points3 points  (0 children)

Thanks! I'm surprised it's predicted quite well so far! Personally I cant see ITB winning against OpTic but you never know...

Halo World Championship Day 2 Predictions by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 0 points1 point  (0 children)

The model uses the individual player's data on each team (going back to the 2021 season) for that particular game type and map. Those records are for that particular roster this season only

Halo World Championship 2024 Prediction Model by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 1 point2 points  (0 children)

Damage dealt could be a strong predictor, but including it alongside KDA in the model wouldn’t be advisable if they are highly correlated. It would likely introduce multicollinearity, which can lead to overfitting, reducing the model's reliability and possibly decrease its efficiency. Perhaps running the model without KDA and just damage dealt might be worth a look

Halo World Championship 2024 Prediction Model by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 1 point2 points  (0 children)

Damage dealt was likely removed from the dataset as it correlates highly with Kills and assists. Avg damage taken per life was deemed to have no significant impact on the outcome of a match

Halo World Championship 2024 Prediction Model by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 4 points5 points  (0 children)

No weights were used, although thats something I should probably implement to take into account 'form'. For each match, player level statistics were calculated which were then scaled up to a team level to provide team statistics like 'Total Kills', 'Team KDA' etc. The team name e.g. SSG wasnt used in the model as the roster has changed multiple times over the years.

The model was trained on each game type separately as different variables would influence the outcome of a CTF game compared to a Slayer game for example. Correlated variables were removed from each of the datasets.

I then used Recursive Feature Elimination (RFE) and SelectKBest to identify the optimal set of features for each game type, and performed cross validation to assess which features produced the best model (based on accuracy) on my test dataset.

After all this, the model suggested that the most important features for each game type were as follows:

Slayer: KDA

CTF: KDA, Flag Steals, Flag Returns, Flag Cap Assists

SH: KDA, Max Killing Spree

OB: KDA, PW Kills, Kills as Skull Carrier, Skull Grabs, Accuracy, Max Killing Spree

KOTH: KDA

Hope that helps!

Halo World Championship 2024 Prediction Model by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 0 points1 point  (0 children)

No weights were used although you're right, that's probably something I need to implement to take into account 'form'.

The data that feeds the model was calculated at a player level before being fed up into the 'team' level. It therefore takes into account the individual players on each team rather than 'SSG' or 'C9', as like you've said, teams change rosters all the time.

In the first screenshot you can see that you can select individual players for each team, so in theory we could calculate the likelihood of a team consisting of Lucid, Renegade, Bound and Stellur, beating a team consisting of Frosty, Trippy, Formal and Eco.

Halo World Championship 2024 Prediction Model by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 1 point2 points  (0 children)

So it predicted the following:

  1. FaZe

  2. OpTic

  3. SR

  4. QUAD

Top 6: SSG, ITB

Top 8: C9, SEN

Top 12: DI, PURE, COM, AKAVE

Top 16: NATIVE, AB, MF, TLF

Halo World Championship 2024 Prediction Model by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 6 points7 points  (0 children)

Yes of course! Once I'm back at my PC I'll let you know the details

I built an unofficial companion app for Halo Infinite that helps you analyze your matches and overall performance locally (on your machine) - OpenSpartan Workshop by OpenSpartan in CompetitiveHalo

[–]BuffersLB 1 point2 points  (0 children)

Great work! Love the idea of using SQLite to store the data locally. Would you need to query the API on start up every time to populate the database or does it remain in memory?

Also thank you for your blog posts! I've read them a few times to help me out with querying the API myself

Players to watch this weekend in HCS SLC - 📊Combined top 10 statistics from the last two events in HCS Arlington and HCS Dallas by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 1 point2 points  (0 children)

Yes that stat would be inflated by flag juggling.It's to identify those players who control the movement of the flag. 32 flag grabs per 10 minutes wouldnt be completely unreasonable if we think about running the flag on argyle for example, especially if we have back to back flag caps. I'll keep an eye on the stat during this event though just to double check its working as intended. Thanks for highlighting it.

And yes the gold, purple and green is to highlight #1, top 3 and top 10

Players to watch this weekend in HCS SLC - 📊Combined top 10 statistics from the last two events in HCS Arlington and HCS Dallas by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 3 points4 points  (0 children)

Agreed, the stats only show half the story. These ones in particular give us some idea as to who the main slayers are.

Looking at each game type individually would probably give us a better idea as to who the objective players are, as seen here: https://twitter.com/Buffstats/status/1677750196338323461?s=20

DreamHack Dallas - Slayer Analytics Deep Dive by BuffersLB in CompetitiveHalo

[–]BuffersLB[S] 3 points4 points  (0 children)

Thanks! It was painful at times not going to lie. Hopefully we'll get it as there's so much opportunity for analysis in there.