• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 00:27
CET 05:27
KST 13:27
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy7ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book19Clem wins HomeStory Cup 289
Community News
Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool47Weekly Cups (March 9-15): herO, Clem, ByuN win42026 KungFu Cup Announcement6BGE Stara Zagora 2026 cancelled12
StarCraft 2
General
Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Weekly Cups (March 16-22): herO doubles, Cure surprises Weekly Cups (August 25-31): Clem's Last Straw? Team Liquid Map Contest #22 - Presented by Monster Energy What mix of new & old maps do you want in the next ladder pool? (SC2)
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament World University TeamLeague (500$+) | Signups Open RSL Season 4 announced for March-April WardiTV Team League Season 10 KSL Week 87
Strategy
Custom Maps
Publishing has been re-enabled! [Feb 24th 2026]
External Content
The PondCast: SC2 News & Results Mutation # 518 Radiation Zone Mutation # 517 Distant Threat Mutation # 516 Specter of Death
Brood War
General
mca64Launcher - New Version with StarCraft: Remast BGH Auto Balance -> http://bghmmr.eu/ ASL21 General Discussion Soulkey's decision to leave C9 JaeDong's form before ASL
Tourneys
[ASL21] Ro24 Group C [ASL21] Ro24 Group B 2026 Changsha Offline Cup [ASL21] Ro24 Group A
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Nintendo Switch Thread General RTS Discussion Thread Stormgate/Frost Giant Megathread Path of Exile Dawn of War IV
Dota 2
Official 'what is Dota anymore' discussion The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Five o'clock TL Mafia Mafia Game Mode Feedback/Ideas Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread European Politico-economics QA Mega-thread Things Aren’t Peaceful in Palestine YouTube Thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books Movie Discussion! [Manga] One Piece
Sports
2024 - 2026 Football Thread Cricket [SPORT] Formula 1 Discussion Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
Laptop capable of using Photoshop Lightroom?
TL Community
The Automated Ban List
Blogs
Funny Nicknames
LUCKY_NOOB
Money Laundering In Video Ga…
TrAiDoS
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
Unintentional protectionism…
Uldridge
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6262 users

Cost Theory and No. of Workers in a Game

Forum Index > BW General
Post a Reply
1 2 3 Next All
DongTanks
Profile Joined January 2010
Singapore15 Posts
Last Edited: 2010-01-07 11:55:40
January 07 2010 08:28 GMT
#1
Hi! This is PART of the research I have done on ideal mining in Starcraft (sorry for not being able to post all my findings but yeah man... that means I'll be wiser ;D), and also this can be treated as a follow up on IMPERVIOUS' thread on Ideal Mining, so do check that out too.

Although this is only a part of my research, I bet this is all you need to know to play. 24 workers every mineral line with 8/9 patches is a pretty well-known number, no?

Now, I'll just show you some of the data that i have collected. Note that there are erroneous data under 'average minerals gathered/worker/minute', which could be due to human reaction time as my research team was using a stopwatch. Although it does not affect the final argument, DO NOT take these readings as standard.

Taking the ceteris paribus assumption...

Number of Workers | Average Mineral Gathered/Worker/Minute | Average Mineral Spent/Worker
4............................................78.5.................................................175
8 ...........................................60.0.................................................112
12..........................................55.0.................................................100
16..........................................49.5..................................................87.5
20..........................................44.8..................................................80.0
24..........................................44.7..................................................79.2
32 .........................................38.0..................................................75.0
36..........................................33.6 .................................................72.2
40..........................................38.0..................................................70.0
44..........................................33.6..................................................70.5
48..........................................30.1..................................................68.8

Note: Average Mineral Spent / Worker = (400 + No. of Supply depots*100 + No. of Workers*50) / No. of Workers, where 400 = cost of a command centre / nexus and not including hatchery.

We will then derive the average cost of a worker, which equals (average minerals spent/worker) - (Average Minerals Gathered/Worker/Minute)

No. of Workers | Average Cost of a Worker
4....................................96.5
8....................................52..0
12...................................45.0
16...................................38.0
20...................................35.2
24...................................34.5
28...................................36.4
32...................................37.0
36...................................38.6
40...................................32.0
44...................................36.9
48...................................38.7

Plotting the points on the graph, you will roughly get a U shape curve. Because some data are erroneous as mentioned earlier, you will not get a smooth curve, which is not suppose to be so. BUT the trend of the readings can be seen going in a U shape curve, with those points that are plotted way off being the erroneous points. But anyway, that curve is the short-run average cost curve (SRAC). It shows the cost efficiency of each worker against the number of workers in a SINGLE base (considering early game where you only have one command centre). The minimum point of the U shape curve is where the cost of the worker is at the lowest, and it is at its lowest when the number of workers in a SINGLE base is 24.

[image loading]

[Picture in courtesy of The Open University, GREAT HELP there...]

Another reason why it's 24 without using the Theory of Economics is.... the mineral line will simply reach saturation.

Ok... so when it reaches mid-game, a player will most likely take multiple expansions (duh). We will now examine the long run average cost curve (LRAC), taking the ceteris paribus assumption again, and the assumption that all mining bases are at maximum efficiency (24 workers each).

No. of Workers | Average Cost of a Worker
48.................................34.5...................
48.................................32.3...................
72.................................33.1...................
96.................................32.0...................
160...............................31.7...................
(You cannot go beyond 160 workers, man.....)

[Note: Average COst of a Worker = (No. of Command Centre * 400 + No. of Supply Depots * 100 + No. of Workers * 50)/No. of Workers]

[image loading]

Picture in courtesy of The Open University... BIG HELP again... :D

[Note that the LRAC is made up of infinitely many SRAC at its most efficient/minimum point)

Ignoring the erroneous data, when these points are plotted you will get a 1/x curve. This curve will have a very large minimum efficient scale (minimum point, which is the lowest point of the curve) of infinity (because, as no. of workers reaches infinity, the cost of each worker approaches 0). This shows that the more bases you get, the more cost efficient your workers will be as there are no dis-economies of scale, while the reason on why the cost of each worker will come infinitely close to 0 as the no of workers increases lies in the idea of the economies of scale.

As each base should contain 1 command centre, it can only be employed efficiently if it is producing workers at the lowest cost, which is when the number of workers = 24. That means, to be at its most efficient, the command centre has to produce at least a certain amount of output. A command centre producing less than 24 workers will not be as efficient as a command centre producing 24 workers. This is the idea of factor indivisibility in the idea of 'economies of scale'.

*EDIT: Sorry to the zergs but these readings do not include hatcheries, drones and overlords. But using the same methods, in theory the zergs will need less workers to be efficient as the cost of the hatchery is 100 minerals less than the cc/nexus. I do not know the actual number as it requires another set of calculations (but of the same methods).

Conclusion:
24 workers is the best number because it saturates the mineral line, which will result in a higher cost efficiency, leaving you aside with more minerals to produce units.
And also, the more bases the better.
(Thanks Whiplash for reminding)
One may not be gosu, but passion alone makes him a Starcraft player.
Nevuk
Profile Blog Joined March 2009
United States16280 Posts
January 07 2010 08:42 GMT
#2
Having more than 80, maybe 100 workers is really prohibitive. Very interesting stuff.

A suggestion, though. For research in this area I think using probes is better as they are a bit less buggy in their mining patterns and have the fastest mining rate. (IE, a really fast terran can forcibly change the mining patterns of their like first 10 or so scvs to achieve quicker mining. It only gives you like an extra 30-50 minerals though). You would probably get less erroneous data with probes. Drones have the intermediate mining rate if you are interested in that, but zerg economy has an entire extra variable beyond the 3 that terran/protoss have.
DongTanks
Profile Joined January 2010
Singapore15 Posts
January 07 2010 11:17 GMT
#3
You would probably get less erroneous data with probes.

I'll put that in mind. Thanks for the input.
One may not be gosu, but passion alone makes him a Starcraft player.
Whiplash
Profile Blog Joined October 2008
United States2929 Posts
January 07 2010 11:31 GMT
#4
Can you have a conclusion or summary of what your trying to say here? I kinda read over most of it and I still don't understand. Is there an optimal number of workers we're trying to hit here? (keep in mind im posting this at 6:30 am and I haven't gone to sleep yet).
Cinematographer / Steadicam Operator. Former Starcraft commentator/player
DongTanks
Profile Joined January 2010
Singapore15 Posts
Last Edited: 2010-01-07 11:39:56
January 07 2010 11:39 GMT
#5
Ho ho!? Sorry 'bout dat. The conclusion is that 24 workers on each base with 8/9 patches of minerals is the best number, both because it saturates the mineral line and also it is the most cost efficient, leaving aside more minerals for producing units. And also the more expansions you have, the better
One may not be gosu, but passion alone makes him a Starcraft player.
d3_crescentia
Profile Blog Joined May 2009
United States4054 Posts
January 07 2010 11:40 GMT
#6
As a physicist I'd like to see some error analysis/uncertainties from multiple runs of the data. The LRAC numbers in particular look too close to be called definitive in comparison to the data of the SRAC. Also I'm sort of uncomfortable with how you define Average Mineral Spent/Worker, so if you could explain your methodology in a later post that would be awesome.

Also, if you want to improve your runs (or perhaps even automate them) you could potentially try via UMS maps.
once, not long ago, there was a moon here
inReacH
Profile Blog Joined August 2008
Sweden1612 Posts
Last Edited: 2010-01-07 11:49:59
January 07 2010 11:46 GMT
#7
Taking the ceteris paribus assumption...

Number of Workers | Average Mineral Gathered/Worker/Minute
4............................................78.5.
8 ...........................................60.0..

How can 4 workers be that much more efficient than 8 when the only difference between the first 4 and the next 4 is the tiny increase in distance they have to travel to get to their patch?
DongTanks
Profile Joined January 2010
Singapore15 Posts
Last Edited: 2010-01-07 11:58:43
January 07 2010 11:48 GMT
#8
As a physicist I'd like to see some error analysis/uncertainties from multiple runs of the data. The LRAC numbers in particular look too close to be called definitive in comparison to the data of the SRAC. Also I'm sort of uncomfortable with how you define Average Mineral Spent/Worker, so if you could explain your methodology in a later post that would be awesome.

Also, if you want to improve your runs (or perhaps even automate them) you could potentially try via UMS maps.


Oops... I didn't do multiple runs of the data and I didn't include uncertainties because this is really for an ungraded project in college.
Thanks for the suggestions, but I think I will prefer spending time playing the game rather than doing this whole experiments again DX (dead)
Also, regarding the LRAC, I had the intention to run the experiment again because...... I just do not have the apm to put all workers from all bases to mine at the same time.... but deadline was pressing and what I posted above is basically what I submitted (sigh...). However I think the argument is there (without the erroneous data) through logical thinking. And I believe you can still see the trend of the curve if the points are plotted, though it could be just luck that they are in the shape they should be.
One may not be gosu, but passion alone makes him a Starcraft player.
DongTanks
Profile Joined January 2010
Singapore15 Posts
January 07 2010 11:53 GMT
#9
How can 4 workers be that much more efficient than 8 when the only difference between them is the tiny increase in distance they have to travel to get to their patch?


That's why I said 'DO NOT take these readings as standards'....
I am really sorry but I just need to show some readings to support my arguments. The minimum I'll go is to let the data shows some kind of trend that supports my graphs.
One may not be gosu, but passion alone makes him a Starcraft player.
Gretorp
Profile Blog Joined September 2008
United States586 Posts
January 07 2010 15:57 GMT
#10
Very interesting and cool stuff. It'd be interesting to see the dynamics of time and how saturation is affected by depletion. I understand these graphs are based off of X amount of workers in the initial phase, but a big question would also be how the graphs change as the scvs start to scale to the number. I suppose it will be left to a project in the future sometime though :-)

Great stuff regardless.

Just a note by the way. I use to do these tests for maps to test mineral saturations and mining analysis as well. From your text, I see you used a stopwatch. What I use to do is go to single player, turn on all my cheats and kill the computer immediately. Then I'd make sure all the minerals were the same number, and I'd start mining the respective bases. For example, destination, i'd kill the computer, make all the mineral numbers the same in the computer base since they mined, then i'd get 24 scvs to go mine. I'd leave it on(using windows mode) and surf the web or do whatever, maybe even go to sleep! Then I'd look at the replay and note how many minerals were mined just before the first patch was empty, and count total amount of minerals mined, and i'd track how long the replay was on minus the time when the initial scvs started working. My assumptions while doing this would be things unique to destination pathing, 8 mineral patches, SCVs mining(others path the same).
d3 is correct however and you need duplication and statistical accuracy when you're finalizing your projects, just for future reference. 30 times generally implies safe statistical accuracy.
I love your analysis though:-) great work
I am Unheard Change
Piy
Profile Blog Joined January 2008
Scotland3152 Posts
January 07 2010 16:22 GMT
#11
So what, there should be a noticeable improvement in prodction efficiency if you have 72 SCV's when you're at 3 bases as opposed to 60-65, which is the current standard number?
My. Copy. Is. Here.
RaGe
Profile Blog Joined July 2004
Belgium9950 Posts
January 07 2010 16:39 GMT
#12
haha, this has been researched many times, and 23/24 workers is always the result they get as optimal for 8 patch expansions
Moderatorsometimes I get intimidated by the size of my right testicle
Impervious
Profile Blog Joined March 2009
Canada4216 Posts
January 07 2010 19:12 GMT
#13
Looking at the graph of the SRAC, there is very little change in the effectiveness of the mining when you are near that point (ie, the tangent there is nearly zero).

So, in game terms, even if you aren't at the exact 24 workers/expansion, but you are close (under if you have a lot of expansions, over if you are planning on making a new expansion), you will be in a nearly ideal situation. I don't think it's even possible to model the ideal game situation.....

Also, because these results used SCVs, this is the data for Terran. Using Probes, you would find a different number (although probably very close to 24, maybe 23 or 25). Using Zerg, the number would be lower. Trials with all 3 races would be necessary to determine what number is most effective for each race.

Awesome work though. Too bad you aren't going to share everything.....
~ \(ˌ)im-ˈpər-vē-əs\ : not capable of being damaged or harmed.
Crt
Profile Joined November 2009
247 Posts
January 07 2010 19:47 GMT
#14
if you want to further your research, in addition to an economic curve, have attack (damage/second) and defense curve with basic units.

the point is to find a balance on when to produce units and enough damage pts to defend against rushes.

Best done with Excel.
Comeh
Profile Blog Joined July 2008
United States18919 Posts
January 07 2010 19:58 GMT
#15
A fun little read for me. (man oh man, am I not ready to go back to college).
May I ask for what class this is for? As an Econ major, I'm just curious .
ヽ(⌐■_■)ノヽ(⌐■_■)ノヽ(⌐■_■)ノヽ(⌐■_■)ノヽ(⌐■_■)ノヽ(⌐■_■)ノDELETE ICEFROGヽ(⌐■_■)ノヽ(⌐■_■)ノヽ(⌐■_■)ノヽ(⌐■_■)ノヽ(⌐■_■)ノヽ(⌐■_■)ノヽ(
Xeofreestyler
Profile Blog Joined June 2005
Belgium6774 Posts
January 07 2010 20:09 GMT
#16
The question now is: can BW API be used to lower the optimal number ?
Graphics
Zona
Profile Blog Joined May 2007
40426 Posts
January 08 2010 13:22 GMT
#17
On January 08 2010 05:09 Xeofreestyler wrote:
The question now is: can BW API be used to lower the optimal number ?

I expect so. By taking into account worker positioning and how long a mineral patch has until it is free for mining by another worker, there should be minimal wandering time. It's something I have been planning to code once I have some free time.
"If you try responding to those absurd posts every day, you become more damaged. So I pay no attention to them at all." Jung Myung Hoon (aka Fantasy), as translated by Kimoleon
ghostWriter
Profile Blog Joined January 2009
United States3302 Posts
January 08 2010 13:50 GMT
#18
This was very interesting. I always keep making workers, but it seems that I'm overproducing.
Sullifam
Impervious
Profile Blog Joined March 2009
Canada4216 Posts
January 08 2010 17:13 GMT
#19
On January 08 2010 22:22 Zona wrote:
Show nested quote +
On January 08 2010 05:09 Xeofreestyler wrote:
The question now is: can BW API be used to lower the optimal number ?

I expect so. By taking into account worker positioning and how long a mineral patch has until it is free for mining by another worker, there should be minimal wandering time. It's something I have been planning to code once I have some free time.


That would be horrible to try to code - the pathfinding issues would be difficult to compensate for.....
~ \(ˌ)im-ˈpər-vē-əs\ : not capable of being damaged or harmed.
ZenDeX
Profile Blog Joined May 2008
Philippines2916 Posts
January 09 2010 17:09 GMT
#20
How do I know if I have 24 workers on my mineral line?
1 2 3 Next All
Please log in or register to reply.
Live Events Refresh
PiGosaur Cup
00:00
#74
PiGStarcraft249
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 190
ProTech118
SpeCial 72
Livibee 14
StarCraft: Brood War
GuemChi 5563
Noble 53
ggaemo 43
Bale 28
ajuk12(nOOB) 26
Icarus 8
Dota 2
monkeys_forever726
febbydoto17
Counter-Strike
Coldzera 2031
Super Smash Bros
hungrybox400
Other Games
C9.Mang0277
PiGStarcraft249
Maynarde114
ViBE64
Temp06
Organizations
Other Games
gamesdonequick1342
Dota 2
PGL Dota 2 - Main Stream52
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• Berry_CruncH87
• practicex 26
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Diggity3
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Lourlo1083
Other Games
• Scarra1328
Upcoming Events
Replay Cast
4h 34m
Afreeca Starleague
5h 34m
hero vs YSC
Larva vs Shine
Kung Fu Cup
6h 34m
Replay Cast
19h 34m
KCM Race Survival
1d 4h
The PondCast
1d 5h
WardiTV Team League
1d 7h
OSC
1d 7h
Replay Cast
1d 19h
WardiTV Team League
2 days
[ Show More ]
RSL Revival
3 days
Cure vs Zoun
herO vs Rogue
WardiTV Team League
3 days
Platinum Heroes Events
3 days
BSL
3 days
RSL Revival
4 days
ByuN vs Maru
MaxPax vs TriGGeR
WardiTV Team League
4 days
BSL
4 days
Replay Cast
4 days
Replay Cast
5 days
Afreeca Starleague
5 days
Light vs Calm
Royal vs Mind
Wardi Open
5 days
Monday Night Weeklies
5 days
OSC
5 days
Sparkling Tuna Cup
6 days
Afreeca Starleague
6 days
Rush vs PianO
Flash vs Speed
Liquipedia Results

Completed

Proleague 2026-03-23
WardiTV Winter 2026
Underdog Cup #3

Ongoing

KCM Race Survival 2026 Season 1
BSL Season 22
CSL Elite League 2026
CSL Season 20: Qualifier 1
ASL Season 21
Acropolis #4 - TS6
RSL Revival: Season 4
Nations Cup 2026
NationLESS Cup
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual

Upcoming

2026 Changsha Offline CUP
CSL Season 20: Qualifier 2
CSL 2026 SPRING (S20)
Acropolis #4
IPSL Spring 2026
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.