|
This thread is designed to be sort of an offshoot of LaLush's thread on macro (http://www.teamliquid.net/forum/viewmessage.php?topic_id=191702). In this thread, LaLush spends most of his time comparing SC2 to SC:BW. I am not going to spend any time talking about Brood War at all. Instead, I want to clear up the misconception of "Maximum Saturation". The current popular belief is that a base is optimally saturated when there are 3 workers for every mineral patch. Since there are 8 mineral patches at a standard base, this puts the "optimal" number of workers at 24. This is incorrect.
Craftonomics 101 – The Nexus is a Firm!
Note: I play protoss, so all my analogies will be protoss-related. However, everything I say applies to all three races, not just protoss.
Starcraft 2 is an economy-based strategy game. As such, basic economic principles can be applied. Let's say that my nexus is a beer factory. It requires money (minerals) to produce beer, and it receives income by selling beer (in Starcraft, income is received by mining minerals, so in this case selling beer is an analogy to mining minerals.) In Starcraft, the most conventional way to measure revenue is as a function of time. When watching a reply, the "Income" tab shows you the amount of minerals being received every minute (game time, not real time). Because workers mine at a certain rate of time, it makes the most sense to measure income as a function of time.
In economics, we say that the marginal revenue received by a firm is the amount of money it gets from producing one additional product. In Starcraft, the marginal revenue received by the player is the additional minerals they get from producing one additional worker. Conversely, the marginal cost incurred by a firm is the cost incurred by producing that one extra worker.
Now here's the most important part: The firm maximizes its revenue when the marginal revenue received from making one extra worker is equal to the marginal cost of producing that worker.
Sounds simple enough, right?
Craftonomics 201 – The Marginal Cost is Zero.
That's right, it is impossible to find the marginal cost of producing one extra worker. Now I'm sure most of you are saying "No it's not! Workers cost 50 minerals, so the marginal cost of making one extra worker is 50 minerals!"
This is an easy mistake to make for one very simple reason: revenue is measured as a function of time. So if we are going to try to equate marginal revenue and marginal cost, marginal cost must also be a function of time.
Okay, so let's try this. How do we change a cost of 50 minerals into a function of time? Well that should be simple enough, right? A worker takes 17 seconds to build, and 17 seconds is 0.283 minutes, and so we get:
50 minerals / 0.283 minutes = 176.68 minerals per minute
But hold on a second there. This equation represents the per minute cost of producing a worker – in other words, if I make one extra probe, it's going to cost me 176.68 minerals per minute, meaning that if I make that probe, it's going to lower my income by 176.68 minerals per minute. This is obviously not right. In order to get the correct marginal cost per minute, we need to know how long the workers will be in existence for.
The reason for this is simple: Producing X amount of workers costs 50*X minerals, where 50*X is the total cost incurred by the player from producing workers. In order to derive the total cost per minute, we need to know how long the game lasts in minutes. So the total cost function, just like the revenue function, is a function of time:
Total cost = 50X / T, where T = time in minutes
To get the marginal cost, we simply take the derivative of the total cost function with respect to X:
(50X / T)' = 50/T
Now here's the kicker: since we don't know how long the game will last, we should investigate what happens to the marginal cost function as the game gets longer and longer. Let's see what happens when the game lasts 5 minutes, when the game lasts 10 minutes, and when the game lasts 20 minutes:
Marginal Cost when T = 5: 50/5 = 10 minerals per minute Marginal Cost when T = 10: 50/10 = 5 minerals per minute Marginal Cost when T = 20: 50/20 = 2.5 minerals per minute
We're starting to see a trend here: as the game length increases, the marginal cost of producing another worker decreases. Since we cannot predict how long a game will last, we must define the marginal cost in terms of the limit: the behavior of a function (in this case, the marginal cost function) as it approaches a certain value. Since we do not know how long a game will last, we want to define the marginal cost function as the game time gets infinitely greater:
lim(50/T) as T → ∞ = 0
This is saying that the limit of the marginal cost function, as time gets infinitely greater, is zero. Thus, the expected marginal cost of producing an additional probe is zero.
Craftonomics 101 Revisited: Setting Marginal Revnue equal to Marginal Cost
Now that we have established that the marginal cost is zero, setting marginal revenue equal to marginal cost should be very easy. First, we need to derive the marginal revenue. This is very easy, and many people have done this before. However, Starcraft's income measuring system is very inaccurate – it only measures the income received per minute in increments of 20. The true change in revenue received by producing one extra worker is unlikely to be rounded off so nicely. So, to get an estimate of the true marginal revenue, I generated predicted values of income per minute as a cubic function of the number of workers currently mining. Don't get too hung up on the method, it's actually very simple, and should be a relatively accurate prediction of the true marginal revenue function. The following is a chart of the values I got:
To help interpret this, take a look at quantity 14. The chart says that having 14 workers mining minerals nets you 572.96 minerals per minute, and having 14 workers instead of 13 gets you an additional 35.59 minerals per minute. Here is a graphical representation (keep in mind, I didn't calculate values before worker number 7, so everything before that is set to zero):
Now that we have all this, we can set the marginal revenue equal to marginal cost – this is where our economy is maximized. Since our marginal cost is zero, we want to produce workers until the marginal revenue received from producing an extra worker is zero. As we can see in the chart above, the marginal revenue is positive until we make the 28th worker. Once we have 27 workers, if we make the 28th, our marginal revenue will turn negative, and our total income per minute will go down. And so we can see that the optimal saturation level is 27 workers, not 24.
Lessons from Craftonomics
Our previous perception that 3 workers per mineral patch equates to optimal saturation is wrong. We should define optimal saturation in terms of producing workers until there are no longer minerals to be gained by doing so, not in terms of workers per mineral patch. When we apply economic concepts to deriving optimal saturation, we find that 27 workers constitutes optimal saturation.
An edit in response to some posts: This is purely about how to get the most minerals out of one base. Please do not think that I am advocating staying on one base over expanding, because I'm not. Please stop saying that I am wrong because expanding is better than staying on one base - this is not what I'm talking about here.
|
It really sucks to have to say this... but all your extra work and fancy graphs come to an incorrect conclusion. You can pretty up the argument all you want, adding all sorts of neat presentation styles, but 3 * 8 = 24. And if additionalIncome(x) 24 <- x = 0, then your 4 additional workers over 24 do nothing but take up pop space and require 200 minerals. I would guess that you have either a rounding or a logic error in your thorough.. but incorrect analysis.
Or you can forget the deductive approach and just do it empirically.
Mine a base till you have 24 workers. Make a new base.
Have 24/28 workers mine that base for your two trials.
After 2 minutes of your workers "settling", see how many minerals 24 workers v 28 mine over 5 minutes.
You will realize that there is no statistically significant difference over 40 trials... as has been shown on numerous occasions.
|
What's your justification for using a cubic function re: revenue estimation by worker?
|
Btw, the cost is actually wrong it's 50 minerals for the worker +100/8 = 12.5 for the supply. The real cost is 62.5 pr worker.
|
Well, the problem with this analysis is that it assumes that the value of money or minerals is static, which isn't the case. In real world economics, you have to consider opportunity cost, i.e. when you invest X amount of money into Y, you lose out on the profit that could be made by investing X into something else. In "craftonomics" this also holds true, as the money spent on a probe could also be spent on something else and maybe that something else would increase your chances of winning more than getting the extra revenue of one drone.
|
So, to get an estimate of the true marginal revenue, I generated predicted values of income per minute as a cubic function of the number of workers currently mining. Don't get too hung up on the method, it's actually very simple, and should be a relatively accurate prediction of the true marginal revenue function. So, the more workers I have (above 27), the lower my income? So if my nat is harassed by mutas and I evacuate the probes to my main, I will get negative income due to oversaturation? Doesn't make much sense to me.
|
I think the issue here is that, the op justified that making 27 workers still yields an increase in income/gains minerals from doing so, but the gain in making 3 extra workers is marginal and not worth the 150 minerals invested in doing so. The marginal revenue of the last 3 workers is 8.55, 5.55 and 2.46, better to have them in the nat
|
Emperor_Earth is right. It's too bad that you put in a lot of time and effort (plus outside knowledge from microeconomics) and 8*3 is still 24. I really think the extra 150mins is going to be a waste if we're talking about cost-effectiveness and saturation.
I just don't understand what those 3 workers are doing (aside from finding an open mineral patch) when all the patches are saturated
|
I am wondering if you have the right definition for "Optimal Saturation". Here, you define optimal saturation as the maximum rate of mineral collection.
However, what if the definition should answer the question: What is the number of workers that I need to get in order to support the build order? This is important if one wants to hit critical timing. Note that under this definition, one could be over-saturated under this definition below 3 workers per patch. To see this, think about cutting workers in the optimal 4-gate build for Protoss.
|
You will realize that there is no statistically significant difference over 40 trials... as has been shown on numerous occasions.
Statistical significance has nothing to do with anything here. If I have one base mining with 28 workers, and one base mining with 24, and the base with 28 workers gets me an extra 20 minerals per minute, I'll take the base mining with 28 minerals. Do you care if 20 minerals is statistically significant? I know I don't. This is a common misapplication of statistical significance; it shouldn't apply here. When we are talking about minerals, we are talking about absolutes.
What's your justification for using a cubic function re: revenue estimation by worker?
Diminishing marginal returns. It's not a linear function, and the difference between a cubic and a quadratic function to fit the data is almost non-existent.
Btw, the cost is actually wrong it's 50 minerals for the worker +100/8 = 12.5 for the supply. The real cost is 62.5 pr worker.
Please explain, I don't understand how you come to this conclusion. I don't even know what your unit of measurement is.
In "craftonomics" this also holds true, as the money spent on a probe could also be spent on something else and maybe that something else would increase your chances of winning more than getting the extra revenue of one drone.
I agree completely. Notice that I never advocate rushing to get 27 workers as soon as possible. I only say that 27 is where you get the highest income per minute. That's all. If at some point your macro slips, and you end up having 400 minerals lying around (as often happens to people) and you have 24 probes on minerals, invest in a few more to get that optimal 27. This would be an example of a very low opportunity cost. But obviously, if you are about to face a large push and need units now, don't pump more probes. That would be a good example of a high opportunity cost.
So if my nat is harassed by mutas and I evacuate the probes to my main, I will get negative income due to oversaturation? Doesn't make much sense to me.
This isn't at all what I'm saying. I'm saying that if you have more than 27 probes on a single base, your INCOME PER MINUTE will start to decrease. So instead of getting, say, 800 minerals per minute with 27 probes, you will be getting maybe 795 per minute with 28. You are still getting positive income, but the rate at which you get it starts to decrease.
Good questions so far guys, keep them coming.
|
All this ignores the game itself. You always want to make workers past 24 simply because you expect (I hope) to expand soon and just like building an extractor and immediately dedicating 2 or 3 workers to it, there is no point expanding without gaining immediate extra production (aka - have excess workers ready and if necessary just wasting their time).
Also under pressure the first thing to slip might be worker production (yours or theirs) so making excess will help you maintain saturation even when getting harassed.
|
Emperor_Earth is right. It's too bad that you put in a lot of time and effort (plus outside knowledge from microeconomics) and 8*3 is still 24. I really think the extra 150mins is going to be a waste if we're talking about cost-effectiveness and saturation.
Regarding "all this time I spent" - this took me about 20 minutes to derive the numbers, and about 20 minutes to write up. It was a nice break from the vast amount of activities that take up most of my day.
Secondly, I have no idea what "8x3=24" is supposed to mean. Is this some universal fact of starcraft? You are spitting out things that other people told you, and completely discounting everything I said simply because it is different from "8x3=24". I have just provided you with empirical evidence that 27 workers gets you more income per minute than does 24. Do you have evidence that says otherwise? Please show it to me.
|
I am wondering if you have the right definition for "Optimal Saturation". Here, you define optimal saturation as the maximum rate of mineral collection.
You can't change my own definition and then tell me what I said was wrong, lol. That's like your professor telling you that 0.99999999999 is equal to one, and him showing you a mathematical proof, but then you raise your hand and say "I wonder if your definition of one is correct. If one is actually two, then 0.999999999 does not equal two."
You got it right, optimal saturation by my definition is the most minerals that can be collected per minute. I said nothing about build orders.
|
If the model was more complete, it would show expanding before 27 workers is far better than 27 workers on one base. If you are confined to one base and know this will be true for some time, it is worth it to go to 27 workers. But that could be shown just by saying the maximum income is for that number, no need to invoke economics or fancy graphs.
Both 27 and 24 are wrong. You should produce workers continuously in expectation of expanding as early as possible, up to about 70 workers. I don't see many situations where that doesn't hold.
Oh, and optimal's more usual meaning is most likely to win games. Expanding five times before gateway will produce maximum income but is, I'm sure you will agree, not optimal in any Starcraft II game.
|
In Starcraft, every worker number >3 on a mineral patch does not increase your mineral count since they only walk around from one patch to another. Really just a fact. Therefor 24 is the optimum total saturation on minerals.
|
If the model was more complete, it would show expanding before 27 workers is far better than 27 workers on one base. If you are confined to one base and know this will be true for some time, it is worth it to go to 27 workers. But that could be shown just by saying the maximum income is for that number, no need to invoke economics or fancy graphs.
Both 27 and 24 are wrong. You should produce workers continuously in expectation of expanding as early as possible, up to about 70 workers. I don't see many situations where that doesn't hold.
Oh, and optimal's more usual meaning is most likely to win games. Expanding five times before gateway will produce maximum income but is, I'm sure you will agree, not optimal in any Starcraft II game.
I said right at the beginning of the post that my definition of optimal saturation was the amount of workers that gets you the most income per minute on one base. That's it. Nothing more. This isn't some huge guide on how to win games more often.
Also, if you could please direct me to where I said that staying on one base with 27 workers is better than expanding, that would be great, because I don't recall saying anything about expanding as opposed to staying on one base.
|
In Starcraft, every worker number >3 on a mineral patch does not increase your mineral count since they only walk around from one patch to another. Really just a fact. Therefor 24 is the optimum total saturation on minerals.
It's just fact? Where are you getting this "fact" from? Because I ran a simulation comparing 24 workers to 27, and 27 was netting me more minerals. Can you offer any evidence to back up your fact?
|
United States5162 Posts
Wow so many people get hung up on the fact that its commonly accepted that three workers per patch is optimal saturation.
The above is true. However, as this work shows, and really as it's shown in the Analysis of Macro thread as well, 24 works on minerals in not the maximum saturation. Putting more workers up to about 30 results in a gain of income per minute. The reason it's generally accepted as 24 workers is saturation is because the difference between 24 workers and 30 workers is quite small.
What this has shown beyond the Analysis of Macro thread is that while 30 workers does produce more income than 27 by a small amount, the economic cost of those last 3 workers is not worth the investment while increasing workers from 24 to 27 is.
|
The only thing I can say is... you put in work for a useless statistic for the game of SC2. The one thing that is ignored is expansions. Which then puts the optimal mining workers at 16. simply because:
Base 1 = 16 works Base 2 = 11 works
Mines more minerals than:
Base 1 = 27 workers
Simply due to how the first 2 workers on a mineral patch mine FAR more minerals than any workers after that. Even taking into consideration the cost of a 2nd base, the mineral gains are still much higher my making a 2nd base.
Even if you look at your own graph... the margianl minerals per minute of the first 16 works > cost of a CC/Nexus/Hatch.
Basically, expanding at 16 on minerals > going to 27 workers... ALWAYS.
This basically just means that your work its sort of useless unless in the odd scenario where there is only 1 mining base left on map and you have X amount of workers, killing all but 27 will result in the highest mineral gains...
|
Uh no offense, but marginal cost is the derivative of total cost with respect to quantity. Not time. There's a big difference between the two. I understand that you think MC lim 0 because you don't know how long the game will last. However that question comes more into play in the MR curve, not the MC curve. The longer the game lasts, the greater the MR, not the less the MC.
You're certainly correct that at economic optimization you want MC=MR, it's just that you're calculating MC incorrectly.
|
|
|
|