nintendo, Propensity Modeling, Super Mario

Recipe 014: Smash Brothers Main Selection

FerraraTom

In this recipe I’d like you to chow down on a Smash Brother analytical approach to selecting your main character.  The approach I’m going to introduce you puts an emphasis on what makes a character unique.

pancakes_smash


 

009_overallclust

Before I start diving into the Smash Brothers data, let’s discuss the k-means clustering approach.  A k-means helps paint a clear picture of our data, in this case specifically it will identify Smash Brothers Characters by their attributes to create picture for who your main should be.  Our characters will be assigned into segments

(tiers… everyone loves to put tiers around Smash Characters but they’re based solely on opinion and player preference)

based on trends in our data, and how closely a character is to the a group.

Take the above picture, without applying this approach we are in the top left quadrant, we only have a faint idea of who should be our main.  As we apply more segments and more trends in the data we’ll eventually end up in the bottom left quadrant.  A clear picture of who our main should be.

Now I keep mentioning trends in our data.  How do we find trends in data where attributes are on the surface completely skewed and non-normalized?  Take for instance a characters weight as a whole number will be larger than a characters acceleration rate in the air (aerial attacks).

We can achieve these trends by standardizing our variables, setting all variables to have a mean of zero.  In doing so this analysis focuses strictly on the trends in our data and we can have a pretty interesting discussion: i.e. Yoshi is more similar to Kirby, than he is to Pac-man.


 

Super Smash Bros Ultimate Mural

 

In preparation for this data story I came across the following article, on Business Insider: “These are the 11 best ‘Super Smash Bros. Ultimate’ characters, according to the world’s number-one ranked player

Here’s an excerpt from the article:

final

And here is ZeRo being named the best overall player:

final_001

This triggered a thought in my head and I haven’t done this on the Pancakes Analytics page yet, but typically you would bring a k-means cluster in production and re-score your segments on an agreed upon cadence.  In this case I’ll treat the release of a new game as the cadence.

I’ll run a k-means clustering on the character attributes in Wii-U version and then a k-means clustering on the same character attributes but for the Switch version.

While going through this process I’ll only be including those characters who were in both games and where the data is clean: i.e. all characters have a weight and all characters have available acceleration data.  Sorry Inkling, you’re not in this segmentation.

001_clust

002_clust

Above are both segmentation cadences and characters will be split into these segment tiers:

  • Floaters (Far right circle)
  • Jack of all Trades (Smack in the middle)
  • Dashers (Faster than your Jack of all Trades segment but not fast enough to be elite in that attribute)
  • Air Tanks (The bottom left circle)
  • Speedsters  (Top left circle)

These aren’t ranked by what tier is the best, but we can make some assumptions.  The Jack of All Trades segment, most likely you won’t be winning matches often but you’ll be competitive.

Smash Brothers is a unique fighting game, so characters do have a weight to them.  Being light weight does have it’s advantages, but the learning curve of playing as a Speedster might be too high risk high reward for you.

The Floaters, if you select someone with a weight advantage in this group, you’ll likely to win your match but you have to master the move set (your smash move).

Air Tanks, is a no brainer I think for any skill set.  If you want to have a high likelihood of lasting till time runs out, be an Air Tank (this won’t guarantee a win, that really depends on your competition).


 

003_gandorf

I’m hoping visual this stood out to you the reader: Ganondorf made a large leap from the Air Tanks to the Floaters.  This doesn’t only speak to Ganondorf but it also tells you information about Bowser as well.

When I speak to this to clients and those wanting to learn about a particular data, this is how it translates:

Ganondorf has more in-common with Jiggly Puff than he does Bowser.   The reason being is he’s quicker and can adapt well in aerial attacks and in falling than Bowser can.

On the flip-side of this I can also say Bowser more accurately represents how he’s viewed from the super Mario franchise, in Super Smash Bros. Ultimate.

Neither one of these characters were “nerfed”, only re-calibrated so there’s a distinct difference between the two.

What do you do with this information?  If you’re main is a Floater, Ganondorf would be a good transitional character if you were looking to play as a character with more weight.  Or say you always play as an Air Tank, because you have the assumption anyone who has Kirby as a main shouldn’t be playing Smash Bros. then Ganondorf is a good transitional main for you when you eventually given in and select Kirby, “by accident”.

Image result for kirby smash


 

Below are the segments a brief overview of those characters within each segments:

004_floaters

This segment has high variability and you can see this from the oblong shape of the circle.  Ganondorf and Jiggly Puff are driving this shape, all though they are in the same segment and are more similar to each-other than are to other segments, they are the furthest apart within this segment.

Now hold up… wait a second.  Didn’t I just try to prove a point of how similar they are?  Yes, but in relation of whose more similar to Ganondorf: Jiggly Puff or Bowser.  But if I posed the question who is more similar to Ganondorf: Jiggly Puff or Kirby… that answer is Kirby.

This group on average are the slowest by run speed and lightest by weight… they Float.


 

005_jackofalltrades

This segment is the medium of everything.  There’s no uniquely distinct trend in their data.  Now playing as Pikachu vs Mega Man would have so game-play differences but statistically speaking you are starting with same underlying stats.

If you’re new the series this a good group to start with… they’re a Jack of All Trades.

 


 

006_dashers

The Dasher segment is very similar to the Jack of All Trades segment, only slightly faster.  Playing in this group you could potentially do more harm than good, if you’re selecting because you want to stay middle ground. You could… Dash yourself off the area.


 

007_airtanks

Air Tanks are fast in the aerial attacks… and the heaviest?  I’m anticipating this group will be re-calibrated by the next release.  In other words… Bowser has no business being as effective as he is in the air as he weighs, normally these two variable don’t correlate.  I guess all the time battling a plumber who can flip and jumps is finally paying off.


 

008_speedsters

This is your high risk high reward group.  Characters in this segment are the fastest and the lightest.  I personally am awful playing as Sonic, he’s too fast for playing level but a seasoned player could probably mop the floor with Sonic.


for_post

So who should be your main?  In this segment I rely on industry knowledge as well (ZeRo’s tiers as dependent variable).   I’ll build propensity score with the following independent variables:

  • Change in air acceleration
  • Base air acceleration
  • Base speed in the air
  • Base Run Speed
  • Character Weight
  • Ultimate Smash Bros. Cluster
  • Wii-U Smash Bros. Cluster

propb

The output will give me the likelihood ZeRo would rank the character as a top tier character.  The highest influencers on predictability were:

Change in air acceleration

Run speed

The lowest influencers were:

Base air acceleration

Ultimate Smash Bros. Cluster (this highlights the bias towards the Wii-U stats, influencing ZeRo’s rankings)

Drum roll please….

main1

main2

main3

You should have your main be one of the above three.  This is the data solution to selecting your main.

Really looking forward to the comments section on this one 🙂


005

final_002


003_008

Marvel Comics, Propensity Modeling, Regression Modeling

Recipe 013: Marvel Comics Propensity Score

FerraraTom

How crazy would it be if I told you Howard the Duck and Old Man Logan are closer to each other in skill sets than they are to any other Marvel characters?  Or how about Thor and Dr. Octopus are lookalikes as well?  Let’s answer these questions together by wrangling some readily available data.


 

008

 


 

001

If I’ve learned anything from my career in data science it’s this: 80% of the work is data gathering and etl work, and 20% is analysis.

Nothing holds truer to this statement than finding data of Marvel characters skills set, on a normalized scale.  In this data story I’ll be using data from Marvel Contests of Champions (power index levels, health and attack) and the Marvel Battle Royale (a twitter fan poll of greatest superheroes).

A few more variables I’ll need to calculate around the results of the Marvel Battle Royale Twitter Fan Poll:

Total votes per each round

Average Total votes

A flag for if they were higher than average total votes per marvel character

This flag I’ll use as my dependent variable and my independent variables will be the Marvel Contest of Champions statistics.

What will this do?  This will predict the likelihood a Marvel Character would receive higher than the average total votes in the Marvel Battle Royale.

Once this is calculated I’ll receive an output of coefficients which I can apply to the rest of the Marvel Characters whom weren’t in the Marvel Battle Royale to create a propensity score.


 

002

Now let’s back track a little bit and see why I’m going with a propensity model as opposed to a grouping by opinion.  I.e. Let’s put all the top attackers in the same category.

The top 3 characters based on Attack are Rocket Raccoon, Spider-man (Symbiote), and Blade.

In the above histogram, if you look all the way to the far right you’ll notice they are the data points on their own little island.


 

 

003

Well what if I just grouped everyone by Health?  This data visualization looks more promising but mostly likely there would overlap on the other attributes and you wouldn’t be able to implement this successfully.


 

004

The power index by definition could be suitable but from the top 3 selected on power index I can tell this rating wasn’t an index in the vein of what I would typically use an index for (time-series forecasting) and it looks to be similar to the Pokemon Go Combat Point System, the ability to use their full potential.


 

005

One use of a propensity score is to create similar groups, based on the likelihood of performing a behavior.

In this case Doctor Octopus and Thor (Ragnarok) statistically the same in the Marvel Contest of Champions skill set.  For those of you want to go down and interesting rabbit whole, you can find YouTube videos on why Doctor Octopus should be in a demi-god tier.

This propensity score approach literally put Doctor Octopus in the same tier as a demi-god!


 

006

Medusa by power index alone would be close to Thanos but factoring all skill sets, she is statistically closer to Gwenpool, Cable, and Nightcrawler than she is to the Mad Titan.


 

007

Now for the crazy but statistically significant section.  Howard the Duck (I’m hoping he gets a show on Disney+) and Old Man Logan are a propensity score match.

An example like this where many begin to argue in data science, when does subject material expertise come into play?  We can argue significance forever, on any topic, but we can agree on all Marvel Champions have a value if played correctly.


006

009


 

005

010


003_008

DC Comics, K-Means Clustering, Logistic Regression, Propensity Modeling

Recipe 011: DC Super Hero Throw Down: Propensity Modeling

FerraraTom

I want you to remember, Clark…In all the years to come… in your most private moments… I want you to remember my hand at your throat… I want you to remember the one man who beat you.

Chilling quote isn’t it?  That was said by Batman to Superman during the The Dark Knight Returns, a comic book miniseries written and drawn by Frank Miller.

One of the greatest debates in comic book lore and a fun discussion to have is pitting up two superheroes against each other… Who wins and why?  The below data story will introduce a data science approach to answering this debate.  To have fun with it… I’ve thrown characters from the video game Injustice 2 into a Superhero Thrown Down Tournament.


012_pic

 

 


010_pic

Before we dive into the tournament and the results of the throw down, I’d like to touch on the approach: Propensity modeling.

Propensity modeling has been around since 1983 and is a statistical approach to measuring uplift (think return on investment).  The goal is to measure the uplift of similar or matched groups.

The heart of this approach lies within two machine learning approaches (segmentation and probability.)

Why propensity modeling for this exercise?  I wanted to rank my superheroes for the bracket using statistics (i.e. Batman is not getting a number one seed.)

35 characters were segmented on strength, ability, defense and health.  For the propensity score I gathered ranking information from crowd sourced websites and surveys.  Using this I was able to give an intangible skill score.  The reasoning was I wanted the medium of comics to do the majority of the work for me.  Comics are stories and the narrative drives the inner core of a character.  The higher a character is on a fan sourced website I’m assuming they are written well and are timeless.

Next step was to take the mean of the intangible skill score and flag those characters above the average (this will be my dependent variable for my logistic regression to calculate a propensity score).

What was thrown into the propensity model?  The skill sets gathered from the Injustice game, the assumption here is a character of Superman’s skill set would be written much differently then say Catwoman.

011_pic


Now it’s time for our throw down.

001_pic

The top four characters by propensity score were:

Cyborg

Supergirl

Aquaman

Black Adam

To determine a winner in the throw-downs characters were put up against each other in 11 categories.


Round 1 Takeaways:

002_pic

Our number one seed Cyborg nearly lost to Atrocitus. The result was 6-2-5, that’s read as six wins, 2 ties and 5 losses.

There were no upsets in the first round of play.  A few characters did not win a single category in their match-ups:

Harley Quinn (vs. Captain Cold)

Green Arrow (vs. Batman)

Black Manta (vs. Black Canary)

These three characters were ill-equipped to take on their opponent, it is possible they would have advanced given a new opponent.

003_pic


Round 2 Takeaways:

004_pic

Cyborg (our number one seed) defeated Captain Cold by a larger difference (+3 winning categories) compared to the previous match-up against Atrocitus, but he scored one win less.

We begin to see upsets in Round 2:

Robin defeated Black Adam by 1 winning category.  Wonder Woman defeated Firestorm by 4 winning categories.  Batman defeated Supergirl by 3 wining categories.

On propensity scores these were upsets, but from comic book debate standpoint you could argue these, i.e. given enough time to prepare Batman could defeat Supergirl.

005_pic


Round 3 Takeaways:

006_pic

Cyborg falls to Superman, loss by 4 categories.  This was the biggest fight Superman was given in this tournament to date (in both previous rounds he had 9 winning categories).

The upsets keep coming in:

Robin sneaks in a win again by 1 winning category (over Brainiac). Wonder Woman defeats the top seed in her region of the bracket (Aquaman) by 4 winning categories.  Batman defeated Green Lantern by 3 winning categories.

007_pic


Final 4 Takeaways:

008_pic

Robin’s Cinderella story comes to an end at the hands of Superman (winning in 9 categories).  Robin did fair better than those previously who gave Superman 9 category wins… Robin won in 2 categories.

Batman was able to upset Wonder Woman, by 2 winning categories.  We’re set for a championship round, the original who wins… Batman Versus Superman!

batman-vs-superman-movie


Our winner is…

009_pic

Superman defeats Batman.  Superman did not win in a landslide.  Batman loss by two categories but he was able to win in 5 categories.  Previously the highest total win categories against Superman were 3 winning categories.


What did we learn from diving into the DC data?  Comic book writing and fan perception goes along way in determining who wins a thrown debate.  If we use propensity modeling we can have more even playing field and limit the amount of unfair battles.


005

SupermanPancakesW


003_008