A summary of the basic techniques of when to upgrade.

What we want from an upgradeEdit

The thing we want from an upgrade (or a set of upgrades) is to increase our real income.


Real income is not a stat reported by the game; it's the actual change in your money over one second/minute/hour. You can measure it manually with a timer, or calculate it (use a spreadsheet or the Idle Mine Calculator tool) based on the current damage per click, current ore defense/HP/value, manualclick power, autoclick power.

If you leave the game open and don't manual click, the "auto $/s" is a slight overestimate of your real income.

Valuing upgradesEdit

We want to pay the least amount of money to get the greatest possible increase in income.

Remembering back to word problems, this is talking about a ratio. We want the biggest "bang-for-the-buck". So, to take a first crack at it, we calculate:

$ \frac{\text{income after the upgrade} - \text{income before the upgrade} }{\text{cost of the upgrade}} $

As desired, this number is bigger if we have a bigger increase in income, and also bigger if the upgrade costs less. (To use mathematical terms, it's proportional to the increase in income and inversely proportional to the cost).

I notice that if you cancel the $ in the numerator and the denominator, you're left with something in units of "1/seconds" and I'm not sure if that means anything. (That's the unit of frequency, also called "Hertz").

Some upgrades may give no change in the $/s, in which case they would be valued at 0 (unless they unlock another upgrade that would give a positive value).

Also note that the inverse of this value, (cost of the upgrade)/(change in income) is the time in seconds for the upgrade to "pay for itself", as long as the change in income is not zero (or negative, is that possible?).

The cost of each upgrade is known; what's harder to calculate is the change in income. One way to do it is to measure your current income, save, buy the upgrade, measure the new income, and then refresh the page to go back to the save.

Any other ideas?