Quality: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(→‎Optimal module usage: Shortened the tables to only showcase the ideal module ratios.)
(Added illustrative examples and explanations.)
Line 1: Line 1:
{{Languages}}
{{Boilerplate
|icon=No-building-material-icon.png
|line-1=This article is a lacking sources for details of upcoming changes.
|line-2=You can help this wiki by [{{fullurl:{{FULLPAGENAME}}|action=edit}} adding them].}}
{{About/Space age}}
'''Quality''' is a feature of the [[Space Age]] expansion. It introduces four higher quality levels for all items, structures and equipment with improved attributes. The goal of quality is to allow vertical factory upgrading as alternative to expansion in size. Items of higher quality are created by chance when using quality modules in the producing structure. The two highest quality tiers require technology not available on Nauvis. Different buildings and items can have different attributes that can be upgraded. When hovering over something, the attributes that will be upgraded with quality will be marked with a blue diamond in the tooltip.
While players are required to own Space Age to access this feature, quality is a separate mod, and can be activated independent of most Space Age content.
== Quality tiers ==
There are 5 quality tiers in vanilla gameplay, with tier strength in brackets:
* [[File:quality_normal.png|15px]] Normal (0)
* [[File:quality_uncommon.png|15px]] Uncommon (1)
* [[File:quality_rare.png|15px]] Rare (2)
* [[File:quality_epic.png|15px]] Epic (3)
* [[File:quality_legendary.png|15px]] Legendary ('''5''')
Note that legendary quality represents a 2-tier improvement over epic.
== Technologies ==
Certain tiers of quality cannot be created until they have been researched.
{|class="wikitable"
|-
! Research !! Base Game !! {{SA}} Space Age !! Unlocks
|-
| {{icontech|Quality module (research)|}} [[Quality module (research)]]
| {{icon|Time|60}}{{icon|Automation science pack}}{{icon|Logistic science pack}}{{icon|Chemical science pack}}{{icon|Production science pack}} x 300
| {{icon|Time|30}}{{icon|Automation science pack}}{{icon|Logistic science pack}} x 500
| [[File:quality_uncommon.png|32px]] [[File:quality_rare.png|32px]]
|-
| {{icontech|Epic quality (research)|}} [[Epic quality (research)]]
| {{icon|Time|60}}{{icon|Automation science pack}}{{icon|Logistic science pack}}{{icon|Chemical science pack}}{{icon|Production science pack}}{{icon|Utility science pack}} x 5000
| {{icon|Time|60}}{{icon|Automation science pack}}{{icon|Logistic science pack}}{{icon|Chemical science pack}}{{icon|Utility science pack}}{{icon|Space science pack}}{{icon|Agricultural science pack}} x 5000
| [[File:quality_epic.png|32px]]
|-
| {{icontech|Legendary quality (research)|}} [[Legendary quality (research)]]
| {{icon|Time|60}}{{icon|Automation science pack}}{{icon|Logistic science pack}}{{icon|Chemical science pack}}{{icon|Production science pack}}{{icon|Utility science pack}}{{icon|Space science pack}} x 5000
| {{icon|Time|60}}{{icon|Automation science pack}}{{icon|Logistic science pack}}{{icon|Chemical science pack}}{{icon|Production science pack}}{{icon|Utility science pack}}{{icon|Space science pack}}{{icon|Metallurgic science pack}}{{icon|Electromagnetic science pack}}{{icon|Agricultural science pack}}{{icon|Cryogenic science pack}} x 5000
| [[File:quality_legendary.png|32px]]
|-
|}
== Quality effects ==
The currently known effects of each level of quality are as follows:
* +30% health
* +30% crafting speed
* +30% robot limit (rounded down)
* +30% robot recharge rate (both number and speed, rounded down)
* +30% positive module effects (rounded down for at least quality modules)
* +10% turret range
* +10% weapon range
* +1 tile reach and +2 wire reach on power poles
* +1 equipment grid size (both dimensions)
* +30% chest inventory size (rounded down)
* +30% increased ammo damage
* +30% inserter rotation speed
* -16.67% (1/6) resource drain on miners.
** This is multiplicative with productivity
* +100% (+5 MJ) capacity on accumulators
* +30% output rate on [[boiler]]s, [[steam engine]]s, [[steam turbine]]s, [[accumulator]]s (also affects input rate), and [[nuclear reactor]]s
** Note that consumption and pollution are also increased at the same rate
* −16% power consumption on beacons
* +1 to both continuous coverage distance and exploration coverage distance in [[radar]]s
* +100% durability on consumable items ([[repair pack]]s, [[science pack]]s)
* +5% fork chance on the [[tesla turret]] and tesla ammo for the tesla gun
These effects are per quality strength and additive: a Legendary (5 tier-levels) [[Productivity module 3]] (base +10% productivity) would grant 25% productivity.
Some buildings, such as [[Transport belt]]s and [[Wall]]s, only gain increased health.
== Creating high-quality items ==
There are two ways to create an item with above normal quality: The player must either use ingredient items of the same quality, or use quality modules for a random chance of a higher-quality item.
=== Quality ingredients ===
Recipes that create items have variations for each quality that the item might take. When setting such a recipe in a production unit, an ingredient quality must be selected. For these variations, the set of ingredients required is the same, except that all item ingredients must have the specified quality.
Item ingredient quality requirements are exact, not minimum. For example, one can not combine uncommon [[iron plate]]s with rare [[battery|batteries]] to make an [[accumulator]] of any quality. One must therefore ensure that high-quality items do not clog up belts and starve production units of lower-quality items.
As fluids do not possess any quality, they are exempt from ingredient quality requirements; the same [[lubricant]] can be used to create [[electric engine unit]]s of any quality.
=== Quality modules ===
{{Main|Quality module}}
[[File:quality_module_animated.png|64px|right]]'''Quality modules''' allow crafting machines to produce items of a higher quality than their ingredients. Each module adds a quality chance to a machine, depending on its tier and quality. See the following table for all quality chances:
{|class="wikitable" style="text-align: center;"
! {{Diagonal split header|Module|Quality}} !! [[File:quality_normal.png|Normal|32px]] !! [[File:quality_uncommon.png|Uncommon|32px]] !! [[File:quality_rare.png|Rare|32px]] !! [[File:quality_epic.png|Epic|32px]] !! [[File:quality_legendary.png|Legendary|32px]]
|-
! {{Icon|quality_module}}
| +1% || +1.3% || +1.6% || +1.9% || +2.5%
|-
! {{Icon|quality_module_2}}
| +2% || +2.6% || +3.2% || +3.8% || +5%
|-
! {{Icon|quality_module_3}}
| +2.5% || +3.2% || +4% || +4.7% || +6.2%
|}
When working out the odds of improving quality, a machine starts with the sum of the quality chance of all its modules. When the machine produces an item, it performs a random roll with that chance to succeed. If it succeeds, the product is upgraded 1 level from its ingredients. If the product was upgraded, the machine repeats this process, now with a constant 10% chance of passing, rolling and upgrading until a roll fails.
When using quality ingredients as an input, the base quality is the quality of the recipe. You can only use items with the same quality as input.
Quality modules are only required to ''improve'' quality, crafting will always give the base quality of the used items. Additionally, the odds of improving from a given base quality is the same as improving the same number of tiers from Normal quality.
Where Q is quality chance in decimal format, for each level of research these are the expected outputs.
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
{| class="wikitable" style="text-align:center; vertical-align:middle;"
|+ {{icontech|Quality module (research)|}} [[Quality module (research)]]
!{{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]]
|-
! [[File:quality_normal.png|Normal|16px]]
| 1 - Q || Q * 9/10|| Q * 1/10
|-
! [[File:quality_uncommon.png|Uncommon|16px]]
| - || 1 - Q || Q
|-
! [[File:quality_rare.png|Rare|16px]]
| - || - || 1
|}
</div>
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
{| class="wikitable" style="text-align:center; vertical-align:middle;"
|+ {{icontech|Epic quality (research)|}} [[Epic quality (research)]]
!{{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]]
|-
! [[File:quality_normal.png|Normal|16px]]
| 1 - Q || Q * 9/10|| Q * 9/100 ||Q * 1/100
|-
! [[File:quality_uncommon.png|Uncommon|16px]]
| - || 1 - Q || Q * 9/10|| Q * 1/10
|-
! [[File:quality_rare.png|Rare|16px]]
| - || - || 1 - Q || Q
|-
! [[File:quality_epic.png|Epic|16px]]
| - || - || - || 1
|}
</div>
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
{| class="wikitable" style="text-align:center; vertical-align:middle;"
|+ {{icontech|Legendary quality (research)|}} [[Legendary quality (research)]]
!{{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
|-
! [[File:quality_normal.png|Normal|16px]]
| 1 - Q || Q * 9/10|| Q * 9/100 ||Q * 9/1000 || Q * 1/1000
|-
! [[File:quality_uncommon.png|Uncommon|16px]]
| - || 1 - Q || Q * 9/10|| Q * 9/100 || Q * 1/100
|-
! [[File:quality_rare.png|Rare|16px]]
| - || - || 1 - Q || Q * 9/10|| Q * 1/10
|-
! [[File:quality_epic.png|Epic|16px]]
| - || - || - || 1 - Q || Q
|-
! [[File:quality_legendary.png|Legendary|16px]]
| - || - || - || - || 1
|}
</div>
==== Examples ====
<div style="display:inline-block; margin-right:20px; vertical-align:top;">
{|class="wikitable" style="text-align: center;"
|+ 2× {{Icon|quality_module_2|[[File:quality_normal.png|Normal|16px]]}} → Q = 4%
! {{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|32px]] !! [[File:quality_uncommon.png|Uncommon|32px]] !! [[File:quality_rare.png|Rare|32px]]
|-
! [[File:quality_normal.png|Normal|32px]]
| 96% || 3.6% || 0.4%
|-
! [[File:quality_uncommon.png|Uncommon|32px]]
| - || 96% || 4%
|-
! [[File:quality_rare.png|Rare|32px]]
| - || - || 100%
|}
</div><div style="display:inline-block; margin-right:20px;">
{|class="wikitable" style="text-align: center;"
|+ 4× {{Icon|quality_module_3|[[File:quality_normal.png|Normal|16px]]}} → Q = 10%
! {{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|32px]] !! [[File:quality_uncommon.png|Uncommon|32px]] !! [[File:quality_rare.png|Rare|32px]] !! [[File:quality_epic.png|Epic|32px]] !! [[File:quality_legendary.png|Legendary|32px]]
|-
! [[File:quality_normal.png|Normal|32px]]
| 90% || 9% || 0.9% || 0.09% || 0.01%
|-
! [[File:quality_uncommon.png|Uncommon|32px]]
| - || 90% || 9% || 0.9% || 0.1%
|-
! [[File:quality_rare.png|Rare|32px]]
| - || - || 90% || 9% || 1%
|-
! [[File:quality_epic.png|Epic|32px]]
| - || - || - || 90% || 10%
|-
! [[File:quality_legendary.png|Legendary|32px]]
| - || - || - || - || 100%
|}
</div><div style="display:inline-block; margin-right:20px;">
{|class="wikitable" style="text-align: center;"
! {{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|32px]] !! [[File:quality_uncommon.png|Uncommon|32px]] !! [[File:quality_rare.png|Rare|32px]] !! [[File:quality_epic.png|Epic|32px]] !! [[File:quality_legendary.png|Legendary|32px]]
|+ 4× {{Icon|quality_module_3|[[File:quality_legendary.png|Legendary|16px]]}} → Q = 24.8%
|-
! [[File:quality_normal.png|Normal|32px]]
| 75.2% || 22.32% || 2.232% || 0.2232% || 0.0248%
|-
! [[File:quality_uncommon.png|Uncommon|32px]]
| - || 75.2% || 22.32% || 2.232% || 0.248%
|-
! [[File:quality_rare.png|Rare|32px]]
| - || - || 75.2% || 22.32% || 2.48%
|-
! [[File:quality_epic.png|Epic|32px]]
| - || - || - || 75.2% || 24.8%
|-
! [[File:quality_legendary.png|Legendary|32px]]
| - || - || - || - || 100%
|}
</div>
==== Optimal module usage ====
==== Optimal module usage ====


It is optimal to improve quality on the lead-up to the target output item due to the recycler only giving back 25% of the input items, except for cases where the chosen item has a productivity research available, in which case looping through a recycler is optimal and has no added material cost (ignoring fluids).
It is optimal to improve quality on the lead-up to the target output item due to the recycler only giving back 25% of the input items, except for cases where the chosen item has a productivity research available, in which case looping through a recycler is optimal and has no added material cost (ignoring fluids).


The following tables summarize the ideal number of normal crafts (rounded up) needed to produce 1 legendary output(s) using Rare, Epic, and Legendary Quality module 3s and Productivity module 3s, respectively, with 4 matching Quality module 3 in the recycler.
The following tables summarize the number of normal crafts (rounded up) needed to produce 1 legendary output using ideal ratios of Quality module 3s to Productivity module 3s, with 4 matching Quality module 3 in the recycler.
 
It is important to emphasize that these ratios maximize return per input material. If input capacity isn't a concern and the goal is speed rather than material efficiency, then switch out productivity modules for quality modules as needed. Beware, however, that in many cases material inefficiency nearly keeps pace with the legendary output rate.


<div style="display:inline-block; vertical-align:top; margin-right:20px;">
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
Line 278: Line 60:
| 8 || 0% || 8 || 0 || 7
| 8 || 0% || 8 || 0 || 7
|}
|}
</div>
<div style="white-space: nowrap;">
For example, suppose the goal is to produce{{Icon|Processing_unit|[[File:quality_legendary.png|Legendary|16px]]}}and legendary T3 modules are available. If each electromagnetic plant producing epic quality or below has '''1'''{{Icon|quality_module_3|[[File:quality_legendary.png|Legendary|16px]]}}and '''4'''{{Icon|productivity_module_3|[[File:quality_legendary.png|Legendary|16px]]}}, and the electromagnetic plant with the legendary recipe has '''5'''{{Icon|productivity_module_3|[[File:quality_legendary.png|Legendary|16px]]}}, then on average we expect '''280'''{{Icon|Electronic_circuit|[[File:quality_normal.png|Normal|16px]]}}and '''28'''{{Icon|Advanced_circuit|[[File:quality_normal.png|Normal|16px]]}}to produce '''1'''{{Icon|Processing_unit|[[File:quality_legendary.png|Legendary|16px]]}}.
</div>


</div>


;Derivation
;Derivation
Line 293: Line 78:
| (1 + P) * (1 - Q) || (1 + P) * Q * 9/10|| (1 + P) * Q * 9/100  || (1 + P) * Q * 9/1000  || (1 + P) * Q * 1/1000
| (1 + P) * (1 - Q) || (1 + P) * Q * 9/10|| (1 + P) * Q * 9/100  || (1 + P) * Q * 9/1000  || (1 + P) * Q * 1/1000
|}
|}
For example, with no productivity bonus and a Q of 5%:
{| class="wikitable" style="text-align:center; vertical-align:middle;"
|+
!{{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
|-
|style="background:#424242"| [[File:quality_normal.png|Normal|16px]] || 0.95 || 0.045 || 0.0045  || 0.00045  || 0.00005
|}
Similar tables can be derived for higher quality starting ingredients.


In a similar vein, the same calculations can be done for recycling products, except that there is, in effect, -75% productivity bonus, where only a quarter of the items are returned.
In a similar vein, the same calculations can be done for recycling products, except that there is, in effect, -75% productivity bonus, where only a quarter of the items are returned.
Line 314: Line 90:
|}
|}


For example, recycling with a Q of 25%:
For example, recycling an uncommon ingredient with a Q of 25%:
{| class="wikitable" style="text-align:center; vertical-align:middle;"
{| class="wikitable" style="text-align:center; vertical-align:middle;"
|+
|+
!{{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
!{{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
|-
|-
|style="background:#424242"| [[File:quality_normal.png|Normal|16px]] || 0.1875 || 0.05625 || 0.005625 || 0.0005625 || 0.0000625
|style="background:#424242"| [[File:quality_uncommon.png|Uncommon|16px]] || - || 0.1875 || 0.05625 || 0.005625 || 0.000625
|}
|}


Combining these results allows a 'Transition Matrix' to be developed (see Stochastic Matrix on wikipedia) which after iteration can generate the expected number of legendary products from 1 set of common ingredients via matrix multiplication. An example matrix for P of 50% and Q of 25% for both recycling and assembly is copied below. Note that since legendary products are the goal, they are not recycled.<br>
Combining these results allows a 'Transition Matrix' to be developed (see Stochastic Matrix on wikipedia) which after iteration can generate the expected number of legendary products from 1 set of common ingredients via matrix multiplication. An example matrix for P of 50% and Q of 25% for both recycling and assembly is copied below. Note that since legendary products are the goal, they are not recycled.
 
{| class="wikitable" style="border:2px solid; text-align:center;"
{| class="wikitable" style="border:2px solid; text-align:center;"
!  !!style="border-left:2px solid"| I<sub>[[File:quality_normal.png|Normal|10px]]</sub> !! I<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub> !! I<sub>[[File:quality_rare.png|Rare|10px]]</sub> !! I<sub>[[File:quality_epic.png|Epic|10px]]</sub> !! I<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
!  !!style="border-left:2px solid"| I<sub>[[File:quality_normal.png|Normal|10px]]</sub> !! I<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub> !! I<sub>[[File:quality_rare.png|Rare|10px]]</sub> !! I<sub>[[File:quality_epic.png|Epic|10px]]</sub> !! I<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
Line 367: Line 144:
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 1
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 1
|}
|}
<!--[[File:Quality_Transition_Matrix.png]]-->


== Usage tips ==
To iterate this matrix (M) apply the matrix to itself. For example, M<sup>6</sup> would indicate 6 iterations, corresponding to 3 crafting steps and 3 recycling steps. To see how much 1 ingredient set produces after a given iteration, x, multiply an input vector by M<sup>x</sup>.  The vector format follows that of the matrix labels, so with the table arranged as above, left multiply a row vector of ingredient(s) by the matrix. If you want to see the product of 1 set of normal ingredients, then the vector will have '1' in the first column. Likewise, a set of uncommon ingredients will correspond to '1' in the second column of the vector.
=== Using quality to increase production ===
There are four ways in which quality can increase the output of a single production machine:
* Increasing the quality of the machine itself will improve its base crafting speed.
* Increasing the quality of [[speed module]]s will increase the effect of their speed improvements.
* Increasing the quality of [[productivity module]]s will increase their productivity bonus without reducing crafting speed. Since extra items obtained from the productivity bonus do not take extra time to produce, this will also increase the number of items produced over time.
* Increasing the quality of [[beacon]]s will increase their transmission efficiency. If they contain speed modules, then the effect of these modules is increased.


These four options share a powerful synergy, as they react multiplicatively with one another. This makes it possible to achieve very high production rates with very few machines when compared to only using normal quality items. For example, imagine a setup where [[electronic circuit]]s are made using one [[electromagnetic plant]] with five [[productivity module 3]]s, which is surrounded by 12 [[beacon]]s with two [[speed module 3]]s, each. With normal quality, this will achieve an output rate of almost 45 items per second (almost enough to saturate one non-layered [[express transport belt]]). However, if the electromagnetic plant and all beacons and modules have legendary quality, the output rate becomes slightly more than 600 items per second (enough to saturate two and a half [[turbo transport belt]]s with four layers of items). This is more than 13 times as many items as without quality.
It is important to note that since the recycling step has a material loss of 75% most recycling loops will be well behaved and converge quickly.<br>
 
Extreme productivity from research breaks this pattern and will prevent convergence, but all this means is that there is a positive material cycle, so 1 set of ingredients will produce infinite legendary crafts, on average.  The closer the total productivity is to 400%, the slower the convergence of the matrix iteration and the higher you need to calculate x in M<sup>x</sup>.
It should be noted that quality beacons are the only one of these factors that may increase energy consumption over time, as the transmission effect is also applied to the energy cost of speed modules. However, this is offset or even negated by the reduced energy consumption of the beacons themselves (which is also affected by quality), especially with high beacon counts wherein the transmission effect is subject to diminishing returns. For speed modules, productivity modules, and the machine itself, only the speed increase, productivity bonus, and base crafting speed are affected, respectively.
<!--[[File:Quality_Transition_Matrix.png]]-->
 
The increased transmission effect of high-quality beacons is also notable because unlike when increasing the number of beacons, there are no diminishing returns for increasing their quality (aside from the exponentially increasing cost of producing those higher-quality beacons in the first place). This means that, despite a legendary beacon only being 1.66 times as powerful as a normal-quality beacon, one would need 0.36 times as many legendary beacons as normal ones to achieve the same effect. Aside from making more powerful beacon setups, this can also be used to save space by achieving the same effect with fewer beacons, thereby leaving more room for machines and belts.
 
Higher-quality machines are also particularly useful for producing quality items as, unlike speed modules, machine quality does not reduce the chance of increasing a product's quality.
 
=== Using quality to save space ===
Another use for quality is decreasing the amount of buildings needed to perform the same production. This is particularly useful in a [[space platform]], where small, compact designs are rewarded with increased speed, as well as needing fewer rockets to build the platform.
 
== Relevant Factorio Friday Facts ==
* [https://www.factorio.com/blog/post/fff-375 FFF 375 - Quality]
* [https://www.factorio.com/blog/post/fff-376 FFF 376 - Research and Technology]
 
== Trivia ==
* Quality is not technically exclusive to player-made entities; Though this does not occur naturally, quality is also allowed on enemies, asteroids, and even the [[player]] character.
** Some enemies with qualities above normal can even be created in regular sandbox gameplay: Big biters, behemoth biters, and big premature wriggler pentapods born from spoiled [[biter egg]]s, [[captive biter spawner]]s, and [[pentapod egg]]s inherit the quality of the spoiled items, with the latter two being possible to craft with quality modules. Furthermore, a starved captured biter spawner will retain its quality upon converting into a hostile biter spawner, with said quality even being inherited by the biters that it will spawn. Should these biters chose to expand, they may also create quality spitters and worms.
 
== History ==
{{history|2.0.7|
* Introduced in [[Space Age]]{{SA}} expansion.
}}
 
{{C|Main}}

Revision as of 08:56, 9 December 2024

Optimal module usage

It is optimal to improve quality on the lead-up to the target output item due to the recycler only giving back 25% of the input items, except for cases where the chosen item has a productivity research available, in which case looping through a recycler is optimal and has no added material cost (ignoring fluids).

The following tables summarize the number of normal crafts (rounded up) needed to produce 1 legendary output using ideal ratios of Quality module 3s to Productivity module 3s, with 4 matching Quality module 3 in the recycler.

It is important to emphasize that these ratios maximize return per input material. If input capacity isn't a concern and the goal is speed rather than material efficiency, then switch out productivity modules for quality modules as needed. Beware, however, that in many cases material inefficiency nearly keeps pace with the legendary output rate.

Max Modules Base Prod. No. of
Productivity module 3.png
Rare
No. of
Quality module 3.png
Rare
Crafts
2 0% 0 2 891
3 0% 0 3 533
4 0% 1 3 342
4 50% 0 4 97
5 50% 1 4 67
8 0% 4 4 70
Max Modules Base Prod. No. of
Productivity module 3.png
Epic
No. of
Quality module 3.png
Epic
Crafts
2 0% 0 2 608
3 0% 1 2 356
4 0% 1 3 212
4 50% 1 3 62
5 50% 2 3 40
8 0% 5 3 34
Max Modules Base Prod. No. of
Productivity module 3.png
Legendary
No. of
Quality module 3.png
Legendary
Crafts
2 0% 0 2 309
3 0% 1 2 153
4 0% 2 2 80
4 50% 3 1 25
5 50% 4 1 14
8 0% 8 0 7
For example, suppose the goal is to produce
Processing unit.png
Legendary
and legendary T3 modules are available. If each electromagnetic plant producing epic quality or below has 1
Quality module 3.png
Legendary
and 4
Productivity module 3.png
Legendary
, and the electromagnetic plant with the legendary recipe has 5
Productivity module 3.png
Legendary
, then on average we expect 280
Electronic circuit.png
Normal
and 28
Advanced circuit.png
Normal
to produce 1
Processing unit.png
Legendary
.


Derivation

Derivation of the tables above was as follows: Starting with 1 set of common ingredients, with an assembly quality chance of Q and total productivity bonus of P, the statistical expected number of product is as follows:

Normal Uncommon Rare Epic Legendary
(1 + P) * (1 - Q) (1 + P) * (Q * (100 - 10-1)) (1 + P) * (Q * (10-1 - 10-2)) (1 + P) * (Q * (10-2 - 10-3)) (1 + P) * (Q * 10-3)
(1 + P) * (1 - Q) (1 + P) * Q * 9/10 (1 + P) * Q * 9/100 (1 + P) * Q * 9/1000 (1 + P) * Q * 1/1000

In a similar vein, the same calculations can be done for recycling products, except that there is, in effect, -75% productivity bonus, where only a quarter of the items are returned.

Normal Uncommon Rare Epic Legendary
(1 + -0.75) * (1-Q) (1 + -0.75) * (Q * (100 - 10-1)) (1 + -0.75) * (Q * (10-1 - 10-2)) (1 + -0.75) * (Q * (10-2 - 10-3)) (1 + -0.75) * (Q * 10-3)
0.25 * (1-Q) 0.25 * Q * 9/10 0.25 * Q * 9/100 0.25 * Q * 9/1000 0.25 * Q * 1/1000

For example, recycling an uncommon ingredient with a Q of 25%:

Output
Input
Normal Uncommon Rare Epic Legendary
Uncommon - 0.1875 0.05625 0.005625 0.000625

Combining these results allows a 'Transition Matrix' to be developed (see Stochastic Matrix on wikipedia) which after iteration can generate the expected number of legendary products from 1 set of common ingredients via matrix multiplication. An example matrix for P of 50% and Q of 25% for both recycling and assembly is copied below. Note that since legendary products are the goal, they are not recycled.

INormal IUncommon IRare IEpic ILegendary PNormal PUncommon PRare PEpic PLegendary
INormal 0 0 0 0 0 1.125 0.3375 0.03375 0.003375 0.000375
IUncommon 0 0 0 0 0 0 1.125 0.3375 0.03375 0.00375
IRare 0 0 0 0 0 0 0 1.125 0.3375 0.0375
IEpic 0 0 0 0 0 0 0 0 1.125 0.375
ILegendary 0 0 0 0 0 0 0 0 0 1.5
PNormal 0.1875 0.5625 0.005625 0.0005625 0.0000625 0 0 0 0 0
PUncommon 0 0.1875 0.05625 0.005625 0.000625 0 0 0 0 0
PRare 0 0 0.1875 0.05625 0.00625 0 0 0 0 0
PEpic 0 0 0 0.1875 0.0625 0 0 0 0 0
PLegendary 0 0 0 0 0 0 0 0 0 1

To iterate this matrix (M) apply the matrix to itself. For example, M6 would indicate 6 iterations, corresponding to 3 crafting steps and 3 recycling steps. To see how much 1 ingredient set produces after a given iteration, x, multiply an input vector by Mx. The vector format follows that of the matrix labels, so with the table arranged as above, left multiply a row vector of ingredient(s) by the matrix. If you want to see the product of 1 set of normal ingredients, then the vector will have '1' in the first column. Likewise, a set of uncommon ingredients will correspond to '1' in the second column of the vector.

It is important to note that since the recycling step has a material loss of 75% most recycling loops will be well behaved and converge quickly.
Extreme productivity from research breaks this pattern and will prevent convergence, but all this means is that there is a positive material cycle, so 1 set of ingredients will produce infinite legendary crafts, on average. The closer the total productivity is to 400%, the slower the convergence of the matrix iteration and the higher you need to calculate x in Mx.