Got some new data for you guys regarding "Progress" from Synthesis actions. NOTE: I have had somewhat limited time, so this data is a little low on samples, which means for some parts of it I have not entirely nailed the formulas to my satisfaction. They should at least be generally accurate until I can improve on them though.
Pulling from my findings on quality, I decided to start with the assumption that Progress is equal level synths (ie. the crafter level and synthesis level are the same) is a linear function. As with quality, I predicted the results is then multiplier by some modifier for any level difference. Unlike quality, there is some sort of boost at play for recipes below your level as well as a penalty, so I looked at both.
What I've found so far is that for equal level synths, the progress equation best fits a linear model with the following formula:
Code:
y = 0.2097 * x + 1.6203
R-squared = 0.9994 (base on 20 samples)
On visual inspection though, using this exact formula did not coincide with 2 of my results, based on rounding (IE. the predicted progress was 20.513 but in game it was 20). When I modify the linear regression to the following, all the data points I found coincide with rounded expected values:
Code:
Base.Progress = 0.21 * (Craftsmanship) + 1.6
Additional data points will be helpful to refine the formula (especially more data points between 150 and 275 craftsmanship), but I believe this is at least a good fit for now. It's difficult to get exact figures because the game rounds progress and we only have 2 digits to work with, but adding more samples at different crafting levels should help further.
As far as the level difference multiplier, it appears to be a piecewise function with linear parts that are approximately as follows:
Code:
Level.Corrected.Progress = Base.Progress * (1 + Level.Correction.Factor)
Level.Difference = Crafter.Level - Synth.Level
For -5 <= Level.Difference <= 0,
Level.Correction.Factor = 0.10 * Level.Difference
For 0 < Level.Difference <= 5,
Level.Correction.Factor = 0.05 * Level.Difference
For 5 < Level.Difference <=15,
Level.Correction.Factor = (0.022 * Level.Difference) + 0.15
I am fairly confident that formulas for -5 to +5 level differences are accurate, but the area after +5 levels is sketchy and I'll need to get more data to refine the functions.
After level 15, it levels off even more, reaching Level.Correction.Factor of 0.50 at +20 levels and eventually capping at about 0.55 at a point 25-30 levels below you. I did not test many recipes this far below because finishing them or HQing them is not challenging, though I suppose I could go back and test some more for the sake of completion.
So, what does the piecewise correction factor mean in simple terms? Here's a summary:
- For every level a recipe is above you, up to 5 above, you take a 10% penalty to progress.
- For every level a recipe is below you, up to 5 below, you gain a 5% bonus to progress.
- For every addition level greater than 5 level below you, you gain another 2-2.5% (needs refinement) bonus to progress, until 15 levels below you.
- After 15 levels, it continues to gradually increase until around 55% bonus, but I did not get enough data to find a true formula.
Coincidentally, this means that for level 55 recipes, Ingenuity II is a 130% bonus to progress, since it moves you from a 50% penalty (0.5 factor) to a 15% bonus (1.15 factor) and Ingenuity I is a 100% bonus (50% penalty to neutral). Both are also a 33% boost to quality gains, since in my last set of testing I found that quality has a 5% penalty per level for recipes above you but you do not get a bonus for being higher level than the synth (1/0.75 = 1.333).
Again, let me know if anything seems way off and I'll check it out further. One thing I'm looking into doing is gradually adding crafting materia I to figure out some more specific cutoffs and reduce the effect of rounding, but that'll have to be a little while.