From Dust to Dust: The Economy of Hearthstone

One of the most fascinating things about Hearthstone is that despite the usual terminology, it is not actually a “trading card game,” in that you cannot trade. Trading is functionally replaced by a crafting system that allows you to inefficiently transform cards into any other cards whenever you like. There are advantages and disadvantages to this from a player’s perspective. The obvious disadvantage is that you can’t shape your collection without destroying value. The advantage lies primarily in not exposing players to the vagaries of a secondary market as a requirement to managing their collections. This should be a big draw for people who have never played a TCG before, as every acquisition of a new card won’t involve the feeling that as a non-expert you might be getting cheated. Related is the topic of this post: since growing your Hearthstone collection is a solo endeavor, we can compute the rate at which it happens without reference to any market conditions or other exogenous factors.

Left out of the post is a discussion of Arena rewards and the efficiency of playing Arena. I want to add this to a follow-up post as soon as I have data on Arena rewards at each tier, particularly since there are a number of good reasons to spend your gold or money on Arena rather than buying packs.

For today, however, the question we explore is how many packs you must expect to buy or otherwise acquire in order to collect any desired set of cards.

The Facts

The key piece of data needed for this analysis is the average distribution of card rarity when you open a pack. For this I turned to any forum posts I could find where people tried to tabulate such information and made the best approximations I could: 1% Legendary, 4% Epic, 21% Rare, and the remainder common. 2% of commons are golden, and 5% of all other rarities.

  • I definitely would appreciate any further light people could shed on this in the form of card distribution data that was collected in a controlled manner (which means, it was non-selectively determined that a set of packs will be recorded). It would be a simple matter to tweak the numbers and re-run the simulations.
  • It’s not important for this purpose that each pack has a guaranteed rare or better. Since packs are only opened as whole units, only the average rarity across the pack is important. In theory the variance in the outcome may be slightly affected.

The other important information is the distribution of cards across each rarity. For this the database filters at Hearthhead come in handy. Select the “expert” set and leave “uncollectible” unchecked, and you can see the number of cards to be collected at each rarity:

  • 94 Common (40 neutral and 6 of every class)
  • 81 Rare (36 neutral and 5 of every class)
  • 37 Epic (10 neutral and 3 of every class)
  • 33 Legendary (24 neutral and 1 of every class)

Blizzard’s initial post on Arcane Dust is a reference for crafting and disenchanting values.

The Big Picture

From the above we can derive a few different things.

  • The total value of dust that would be required to craft a full playset (2 each of the 212 non-legendaries and 1 each of the 33 legendaries) is 106,120 Dust for a non-golden set and 428,800 Dust for a golden set.
  • The average yield of a fully disenchanted pack is 93.03 Dust.
  • Therefore, if you turned every card to Dust and crafted a full playset from scratch, it would take you 1141 packs for non-golden, and 4609 packs for golden. This provides a useful upper bound for comparison when we simulate how many packs it will take with more reasonable behavior.
  • With duplicates taken into account we would expect to open 135 legendaries before having at least one of each. At one legendary every 20 packs, that’s 2700 packs before you get them all by luck alone.

As always, before simply tossing everything into a simulation, it’s good to see what we can ballpark on our own. For example, we know that the expected number of packs opened to complete a set is going to be something substantially less than 1141. Let’s guesstimate that it will be less by a factor of around 2.5. We might think this because, if you imagine 106,120 Dust as that target value you’re trying to acquire, then the early cards you open will in reality contribute more than their disenchant value. They’ll effectively contribute their crafting value (because each one will be a card you don’t have to craft later). Since for the highest-value cards, the craft value is four times the disenchant value, we can think of the value of each opened pack as starting out around 4x the disenchant value and then decaying down to 1x as our collection fills up. So at an average of around 2.5, you might expect to open 450 packs in reality.

This assumes, incidentally, that you are using the optimal strategy for reaching the final goal, which is to disenchant all extras you open and hoard the Dust until you have enough to craft all missing cards all at once. Crafting earlier to reach other goals will be discussed below.

As one other interesting point of napkin math, with 450 packs you expect to open 22.5 legendaries. Obviously not enough to fill out the required 33, and in fact with overlaps you only expect to have about 16. So half of the legendaries will be obtained from crafting. This means we can conclude that crafting is generally going to go “up” (turning common cards into rare cards) and that around 27,000 Dust, almost 300 packs’ worth, will be put towards crafting legendaries to complete your set.

The Law of Large Numbers

The code used to generate the simulation results can be seen here. You can run it yourself in any Python interpreter, if you want to play with some of the options discussed below or make any changes of your own.

The first thing I simulated is the process described above: opening packs until you can obtain a complete playset. For this first run, the simulator disenchanted any card once it had more 2 non-golden and golden copies combined, and will always favor disenchanting golden copies (but the final collection may still have some golden cards in it). In other words, the most efficient approach to obtaining a complete set without regard for golden, and without doing any premature crafting.

The results were, over 10,000 runs:

  • The average number of packs needed was 512, with a standard deviation of 42.
  • The average amount of Dust used to craft cards at the end was 28,522, or 27% of the total craft value of the set.
  • 100% of commons, 99% of rares, 85% of epics, and 54% of legendaries were found by opening (rather than crafting).

There already a lot of meat for discussion here. To start, we finally have a number of packs we can expect to buy to finish a set. Depending on whether 512 is higher or lower than you expected, you might reevaluate your own goals an expectations based on this. Against a target of 51,200 gold to spend on packs, it’s also clear that the 40 per day from dailies is small potatoes. A full collection is going to involve buying a significant number of packs with cash (a fact that should be obvious if you consider how the game’s business model has to work). The desire for a full collection might be seen as an extreme case, but if we’re going to do this analysis at all, we may as well dispel the notion that you’re going to get there by doing less than a few years’ worth of dailies.

If you bought it all with cash, 512 packs would be $640 at the best bulk rate in the in-game store. Any daily quest for 40 coins will save 50 cents off of this, and any Play mode win will save 4.17 cents. In other words, a full card set can be valued at any proportionate mix of $640, 1280 daily quests, or 15630 Play mode wins.

Arenas will complicate this, and I expect will generally increase the efficiency. Your 150 gold investment in an Arena can be bifurcated into a 100 gold purchase of an ordinary pack (your guaranteed prize pack) and a 50 gold Arena fee. The 50 gold Arena fee will get you some mix of gold, Dust, packs, and golden cards, depending on how many games you win. I’ll avoid speculating on the value until I have data like I said, but observe that it would not take much for the mean prize value to exceed 50. To evaluate a Dust, remember that at the end of the process we turn a huge pile of Dust into all of the cards we don’t yet have. The last few packs of cards are likely to be turned mostly into Dust to meet this goal. Since a fully disenchanted pack is worth 93 Dust, acquiring 93 Dust earlier in the process willy likely save us one pack or 100 gold. So as a rule of thumb, 1 Dust will be worth around 1 gold. Coupled with the fact that an extra prize pack (100 gold) or a golden rare+ card (shaving anywhere from 100 to 3200 Dust off of the process) can, even at small probabilities, increase the expected prize by quite a bit.

Before moving on, don’t ignore the fact that the variance of the result is quite high. At something resembling a normal distribution, where 2.3% of samples exceed two standard devations in either direction, 2.3% of people will finish by 428 packs, and 2.3% won’t be done after 596 packs.

Immediate Gratification

All of the above was premised on the fact that you act so as to most efficiently reach the goal. In reality, you will likely be less efficient in a few ways:

  • You might craft cards before your collection is complete, when you need them for decks. This runs the risk of crafting a card you’d have eventually opened.
  • You might disenchant cards you don’t have 3 of, again for the purpose of immediate deck desires. This may cause you to re-craft the same card later.
  • You might purchase packs at less than the bulk rate of 40 at a time, incurring a higher per-pack cost.

On some level these actions can’t be evaluated in detail, as they depend mostly on your specific preferences regarding having cards sooner rather than later. We can estimate the downside however. For example, since in the simulations, 99.9999% of commons were opened in packs rather than crafted, you can assume than any crafting of a common is a waste of 35 Dust in the long run: the craft cost minus the 5 you’ll recover from disenchanting it later. The same is true even for rares–you have a 99% chance to be out 80 Dust at the end of the process. Whether these costs are worth it in any case is up to you, but it’s worth understanding why that Dust is a long-term cost to your collection.

Crafting legendaries is actually a better proposition, as there’s a 46% chance you wouldn’t have opened it even after 512 packs (note the sanity check here against our napkin math of half the legendaries opened after 450 packs). In that case, you incur no cost at all. If you do have to disenchant that same card later, however, it’s a waste of 1200 Dust.

Remember our earlier logical expectation that crafting should generally go upwards. It stands to reason that, early in the process, disenchanting common cards and crafting very rare cards is the safest thing to do, as it’s the most likely to be something you’d have had to do anyway. Finally, keep in mind that your odds of any crafting being wasteful will decrease as your collection fills out.

All That Glitters is Gold

For people interested in the full all-golden set, this is the same simulation over 10,000 runs:

  • The average number of packs has gone up to 2789, with a standard deviation of 101.
  • The average amount of Dust for crafting is 220,369, or 51.4% of the total value.
  • 77% of commons, 69% of rares, 35% of epics, and 19% of legendaries were opened in packs.

So, don’t aim for a full gold set unless it’s worth more to you than a new computer or two. In general you can interpret all of these numbers similarly as the non-golden numbers, but I want to highlight that the increase in pack requirements may be larger than you expected. The more expensive golden cards only require 4 times the Dust of their non-golden counterparts, but the commons you need are no longer easy to find, making the whole operation take substantially longer.

At any rate, these numbers are interesting just for the purpose of being careful with expectations. Goldens are best thought of as a fun bonus but, perhaps even more more so than in games which allow trading, collecting them is not a welcoming proposition. Specifically, in games which allow trading, the variation in people’s preferences allows the market to move foil cards from people who don’t care about them to people who do. Here, you’re on your own.

You Can’t Always Get What You Want

The most important practical refinement of all this is that most people will have goals smaller than a full set. The simulator is easily modified to work toward a “target” which is any subset of the full card set, if you give it the rarity distribution of the target set (for reference, the distribution in the full set is [94, 81, 37, 33]). In this case, it will open packs until the dust collected is sufficient to craft everything missing from the target set all at once. There is an option to either hold “unwanted” cards as usual, or automatically disenchant them.

I will include a few informative examples here. The value in parentheses is the result if you disenchant all cards outside the target subset.

  • No legendaries [94, 81, 37, 0]: 287 (248) packs. This seems like the first reasonable way of reducing the amount of cards you need.
  • 2 specific legendaries only [94, 81, 37, 2]: 306 (267) packs. If there are a couple general-use legendaries with widespread constructed application.
  • Full neutral set + one complete class [46, 41, 13, 25]: 425 (377) packs. Another reasonable goal, as it gives you full access to all possible decks with your favorite class. However, it’s still a lot of packs due to all the neutral legendaries.
  • Same as prior, with only the class legendary [46, 41, 13, 1]: 216 (145) packs.
  • Let’s say half the cards in the game are constructed playable [47, 41, 19, 17]: 389 (326) packs. Perhaps serious constructed players would get some value from going down the entire Expert card list and deciding the cards at each rarity they think are going to be usable, and running the sim with that breakdown.
  • You really want to go straight to some decklist you saw (here I turned one legendary into an epic since the sim currently collects cards in pairs) [5, 4, 2, 2]: 143 (57) packs. So a competitive netdeck with 2 legendaries can be obtained somewhat quickly if you’re willing to disenchant as needed to get it.
  • Downgrading the legendaries to epics [5, 4, 3, 0]: 104 (35) packs.

I’d be curious about any other examples people think are worth running, or run on their own.

From Dust Were Ye Made

For people who have played TCGs before, it can at first be hard to get our heads around the notion of card collection being a single-player experience. And even once you do, the math governing how long it takes to reach various collection goals is nonobvious and counterintuitive.

In particular, your progress towards completing a full set of cards is not even roughly proportional to the number of cards you have already. This not only because early packs give their value by adding cards you don’t have while late packs give value much less efficiently in the form of Dust, but also because a large portion of the value needed to complete the set lies a small number of rare cards. The legendary cards, even though they comprise 33 of the 457 cards in a complete set, account for 50% of the Dust value. And even this slightly understates their worth, as they are also disproportionately difficult to acquire naturally (i.e. despite the high Dust cost, the ultimately efficient use of Dust is mostly to craft legendaries). This is all to say, the best loose estimate of how far along your collection is is not how many cards you have, but how many legendaries you have and/or could craft with your current Dust.

It will be up to every player to decide how they prefer the single-player collection environment of Hearthstone to the market that defines most similar games. But the unique Hearthstone system was very ripe for a mathematical analysis of how it can be expected to play out. Much has been and will be continue to be written on the gameplay of Hearthstone, but I hope I could improve our understanding of the other aspects of the game that will in large part shape our experiences playing it.

21 thoughts on “From Dust to Dust: The Economy of Hearthstone

  1. This is an outstandingly helpful post. You ask all the right questions about collecting HS cards (I couldn’t have framed issues such as “how much will cost me in the long run to craft this card now” in a better fashion) and provides the right answers (or the script to obtain them, for my own custom plans).

    Thank you!

  2. Your posts consistently make my day.

    Patiently awaiting a deeper discussion of the value of Arena. Can we assume that the matchmaking system is good enough that over a large number of games a player’s win/loss rate will be 50/50?

    • I don’t believe so. As far I know (I think based only on hearsay), your Arena matchmakng isn’t based on your lifetime Arena performance, but on your record in the current Arena. In other words, if you are very good, you should have a high chance of winning your first few games every time.

      • Anecdotally, this has been my experience. I’m much more likely to win games earlier in an Arena run than later. I’ve only been in the beta since the last reset, so my experience is quite limited.

        Efficiency of Arena:
        If you do three daily quests and some combination of [win a total of nine games in Play Mode] or [win 30 gold in an Arena run], your daily income is 150g. I think 150g/day is a reasonable assumption.

        At this income rate, you can purchase three packs every two days, or play one Arena run every day.

        For Arena to be more efficient than Play Mode, your average Arena run has to win at least half a pack in value (you get one pack always).

        My from-the-hip guess is that if you win 3 before you lose 3, you break even on value. You’ll get 1 pack and some assortment of card, gold, and dust of approximately 50g value.

        So assuming a 50/50 win/loss ratio, Arena should break even with buying packs. It’s more of a gamble, but has a higher potential reward if you do well.

        One question worth considering is if the prize payout is linear or not. If you win 3 games you get X value in prize. If you win 4 games do you get 4/3 X, or more? If the progression is nonlinear, it will improve Arena’s efficiency.

        Another question, is there a minimum prize from Arena? I’ve never gone 0/3 or 1/3 so I’m unsure. When you finish you’re given five prize boxes. One is the pack you effectively paid for and the others are gold/dust/card.
        Assuming 5 gold/dust is the lowest possible reward per box, would a 0/3 record still win 20 gold/dust? If that’s the case, you all but can’t lose playing Arena, so it’s not much of a gamble.

        Final thought: Assuming you average 150g in value per Arena run, does it actually break even with buying packs?

        Buying three packs every two days shows you 15 cards.
        Two arena runs show you 10 cards, with some low odds of seeing additional cards.

        Since finding a legendary in a pack has such a high value, does this give the efficiency edge to the mode where you open more packs?
        Is there a breakpoint where early in your collection it’s more valuable to see more cards, but later in your collection it’s more valuable to win a higher value in dust?

        • So obviously my above statements about the rate of earning gold are incorrect. Luckily, that should be irrelevant to the question of whether buying packs or buying arena entries will be a more efficient way to grow your collection.

          Something I was previously unaware of, there is a maximum prize in Arena. Last night I went 9/1 and was surprised when my run ended automatically. I was awarded a gold rare, a gold common, my guaranteed pack, and 165 gold.

  3. Fantastic post! I have one question about a parenthetical comment that you made. At one point you said,

    “here I turned one legendary into an epic since the sim currently collects cards in pairs”

    But since there can only be one copy of any given legendary in a deck, why does the simulation collect legendaries in pairs?

    • It doesn’t, it collects singles of legendaries and pairs of others. I just made the number of legendaries even so that all the non-legendary cards were x2′s.

    • Oh wow! I was sure I’d turned in two yesterday, but I suppose one may have been after midnight.
      – reads some more on other sites –

      I see, apparently you can only GET one per day. No limit on how many you can turn in (up to three, obviously).

      Still, an effective long-term limit of one per day, rather than three per day. Ick.

  4. Pingback: Cat Context 40: EQ Landmark, Pre-ordering MMOs, more Hearthstone | Herding Cats

  5. Hey I know this post is fairly old now but I was wondering if you could input [4, 25, 27, 13] for the card totals and tell me how many packs that would be. I don’t have any way to do the simulation that I know of but really need to finish my collection.
    Thanks so much for the help!
    -Josh

  6. Pingback: Hearthstone P2W? | In An Age

  7. Just got linked to this on reddit.

    So, about the arena statistics. You can find really good statistics at this site that was compiled by users.

    arenamastery.com

  8. Average dust from one pack is 93.03? I call bs. Either you are calculating wrong or your model does not match reality.

    I dust at least a pack a day, and average 35 dust, and I tend to dust the whole pack.

      • I get that, and I should have been more clear, but as I said, I AVERAGE 35, and save maybe one or two cards out of about every 3 packs, and no, not usually rares or legendaries, as I rarely see those…

        93 seems very very high to me.

        • You are very, very bad at reading. :)

          “The average yield of a _fully disenchanted_ pack is 93.03 Dust”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *