Modeling a card game win percent as a function of deck matchup and player skill In collectible card games like Hearthstone, players choose their deck before playing a game vs each other head to head. This is a two player game. I want to analyze this to predict the probability one player will beat the other.
Suppose I've already calculated Elo scores for each player, and that all that matters for this model is the Elo difference (e.g. player A is 200 Elo points higher than player B). Suppose further there are just a handful of decks A, B, C, D, E. Deck A might have a good matchup vs deck B, but bad vs deck C. Suppose you know the matchup win rates in aggregate, so you can say deck A wins 70% vs deck B but only 35% vs deck C.
How would you come up with a formula for expressing someone's chance to win any given game?
Further, could you generalize to say something like "this game is 50% matchup dependent, 30% player skill, and 20% luck during the game"?

Modeling win chances with Elo rating
The Elo rating relates to a hypothetical odds of winning the game computed as
$$\text{odds} = 10^{(E_A-E_B)/400}$$
for instance if the difference in elo rating between player $A$ and player $B$ is 200, then the odds are $10^{0.5}\approx 3.1$.
The computation of elo rating for players is based on updating the Elo ratings of the players based on their hypothetical expected win chance and the actual outcome, if you win many more games than expected then your elo rating increases (and vice versa if you win less than expected your rating decreases).
So you could use this formula to model the win chances. But... this does not mean that the hypothetical formula for the odds is actually correct in practice. The Elo rating is an average over many players and over many games. It might be that the actual win chances do not have this power of ten dependence with elo rating differences.
If you have data about game results as function of Elo, then you can verify this relationship and potentially adjust it.
Differences in decks
On top of the Elo rating there is a difference in decks. The less balanced decks might give you either an easy win (if you are lucky that it works against the opponents chosen strategy) or a certain loss (if the opponent happens to have elements that take advantage of your lack of balance). The balanced decks might give you games that are more in the middle and are not very much decided if the players play equally well.
You could model the effect of decks as effectively changing the elo rating. E.g. a type A deck versus a type B deck will give the player with the A deck an effectively 50 higher ELO. (This is a hypothetical suggestion, whether this model is very good in practice is not so certain and you would have to verify it)
An alternative would be to just use descriptive statistics and gain information from those. There is an interesting analogy with Chess here. The role of openings in Chess could be seen as analogous to deck choice in card games.
In Chess there is a large amount of statistics describing openings and the frequencies that players win or loose with particular openings (as well as frequencies that openings are played and how it differs for players with different elo rating). If you have such statistics then you can find out what are successful decks and which are not.
The use of this statistics is not very much modelled. A lot of this is eyeballing. Watching how the opponent plays with different openings and based on that decide a strategy against the player. This changes from player to player and there is no universal model that will help against any player. Some players will be good with a particular deck while others might be not.
