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"?

As a professional statistician, and a fellow aficionado of collectable card games, I think I'm well placed to answer this question.  There are a few difficulties with this type of analysis.  The first difficulty, which is partly ameliorated here due to your restricted scope, is that you need data on all the possible deck match-ups in order to estimate the strength of the decks when played against each other.  Even with only five possible decks under consideration  (which is an extremely restricted analysis) there are still ${5 \choose 2} = 10$ possible deck match-ups, so that means you need about ten times as much data as if you were analysing a game with no deck-building element.
The second difficulty you will have is that the Elo score of a player is probably not independent of their choice of which decks to use in ranked games (and they wouldn't have been confined to the decks you are considering); ceteris paribus, players with a higher ranking are probably better at constructing decks that are strong against a wide range of other decks.  Merely having access to aggregate win rates for the deck-pairings will not allow you to see the interaction of the Elo score, the deck choice, and the outcome.
If you want to analyse this type of data effectively, you may need to give some more thought to how you would model the outcome of a game as a function of both the Elo score of the players and the decks they use.  Unless you are able to run a large randomised controlled trial where you randomly allocate decks to players, your model will need to allow statistical dependence between the player rating and their deck choice.  You would model the win probability in each game as a function of the player ratings (or perhaps just their difference), plus the decks used, plus an interaction term.  You would ideally then use a large dataset on individual games to make inferences about the parameters in the model, conduct appropriate diagnostic tests on the model assumptions, and then make predictions if you are satisfied that your model is appropriate.
