bf3metro
GeorgeFloydOverdosed said: 214 = (((10x1115.573) + 805.20) / ((10x33.83) + 39.33)) / 1 = 31.6737
211 = (((10x1182.2185) + 1000.59) / ((10x37.75) + 43.25)) / 0.977272 = 31.1847
331 = (((10x1202.567) + 1000) / ((10x39.62) + 43)) / 1.05 = 28.2454
260 = (((10x1156.35) + 965.23) / ((10x38.98) + 43.00)) / 1.05 = 27.5696
142 = (((10x1135.2835) + 1048.42) / ((10x36.43) + 42.33)) / 1.25 = 24.3981

So here I am trying to take into account outfield + GK + CA efficiency + intensity.

HarvestGreen didn't include the GK stats for 331 as far as I can see, so I've just inserted a high value of 1000. Even with this high value for GK, it doesn't seem as quite as good overall as 214 or 211, though it does have the highest absolute gain in its favor.

There is one more thing to add into the assessment, which is the effect on other various in-game factors:

214 [Physical]x2[Attacking]x2[Quickness Focus]


331 [Physical][Match Practice][Attacking][Defending][Quickness Focus]


211 [Handling][Shot Stopping][Attacking][Physical][Chance Conversion][Aerial Defence][Ground Defence] [Distribution][Quickness Focus]


331 has a slight edge over 214 due to the better balancing of match sharpness.

211 is much better for match sharpness, but is probably going to wear down condition too much during the competitive season, especially if you have weeks with 2 matches. The main problem with 211 is that it would be so finicky to implement that in all likelihood you're not going to implement it properly every week, and the careful handling of condition would add to this. 211 is nonetheless very good for GK and absolute gain, both of which 214 falls a bit short on.

One more thing to say about 214 is that its what I found to be best using a different method previously. So where things are roughly equal, I'm inclined to lean towards it anyway. And in HarvestGreen's assessment, 214 also scores higher on his 'quality' index than these other 2.

So overall I will still be recommending 214. I just realized that 331 was actually my 2nd recommendation before, I didn't realize until now that that was HarvestGreen's recommendation.

It might be worth setting up 211 for your u21s/u18s, especially if they have no competitive league or cup and you can set and forget it with weekly friendlies for the whole season. Reason is, u21s/u18s easily end up in match sharpness ruts they never get out of, and low match sharpness is a big influence on injury rate, and more injuries = less development.

It's splitting hairs between 214 and 331, so if you feel more comfortable going with 331, that's perfectly fine.

One thing left unaddressed is GK focus. HarvestGreen's data used 'Agility and Balance' as GK focus, so we can't be sure of the effect of any others. But it seems to be the case that Agility isn't as critical as a few others: Determination, Reflexes, Concentration. Personally I've started favoring 'GK reactions' because it focuses on two of those (Reflexes, Concentration). But there's no data on this.


I think I understand the trade-off now:

214 = best overall balance once you include outfield + GK + CA efficiency + workload, and also the safer/easier option over a full competitive season.
331 = highest absolute gain and slightly better match sharpness, but less efficient overall.
211 = very strong, especially for GK and sharpness, but probably too awkward/heavy to use properly with a first team playing 2 matches a week.
260 / 142 = still elite, but not quite as attractive once workload and efficiency are included.
GeorgeFloydOverdosed said: Actually 211 surprisingly has a low workload despite the number of modules. And it scores highly for GK too.

142 GK - 1048.42 / 42.33 = 24.76643
211 GK - 1000.59 / 43.25 = 23.14023
260 GK - 965.23 / 43.00 = 22.44721
212 GK - 868.76 / 41.00 = 21.18927
214 GK - 805.20 / 39.33 = 20.45888

211 = 130% GK, 100% Def, 90% Att
214 = 100% GK, 100% Def, 100% Att
260 = 105% GK, 105% Def, 105% Att
142 = 160% GK, 160% Def, 160% Att

..and now, as I was examining HarvestGreen's own rankings, I gradually cottoned to the fact that there's a huge standout error in my data.

214, 211, 142 and 260 are all at the top of his rankings just like mine.. yet he has 331 as the best. I figured there has to be something amiss here, and sure enough, getting ChatGPT to recalculate it gives 1202.567.

That means HarvestGreen's recommendation of 331, would in fact be the best schedule for outfield.

I could have sworn I verified it with ChatGPT as 1020.63 three times just to be sure at the time. So I went back to check, since I still had the convo open:




Fuckin' ChatGPT man..


I presume it got at least most of them right, but now I can't be certain some weren't miscalculated by ChatGPT.

Anyway, at least we know from the backing of HarvestGreen's rankings that 331, 260, 211, 214 and 142 are the top ones and that the numbers are most likely correct for at least those.

You should be aware also this mirroring of HarvestGreen's data is a pleasant unexpected surprise. I did have HarvestGreen's weights as a starting or reference point for Premier League 2.1, but as you can see with Rain's comparison test of HarvestGreen's weights vs. Premier League 2.1, things should have changed substantially in the end. So it's surprising that the favored training schedules nonetheless align.


I'll get back to you in a day or two, as things are still evolving right now, as you can see from my words above


Got it, thanks — that clears things up a lot.

For now I’m testing 331 (Physical + Match Practice + Attacking + Defending, with Quickness focus) in my save and I’ll compare the actual CA gains against what I was getting with 214.

Since you said you’ll come back with more in 1–2 days, I’ll wait for that before drawing any final conclusions.
GeorgeFloydOverdosed said: ZaZ Growth 2 would be 1064.2675-1115.573

Oddly enough the 2-match Physicalx2 Attackingx2 scores better than the Physicalx5 Attackingx5 and results in higher CA gain too.

[Physical]x2[Attacking]x2 = 1115.573 / 33.83 = 32.976
[Physical]x5[Attacking]x5 = 1064.2675 / 27.85 = 38.214

Both of these are very close to the best.

Because CA-PA gap is a critical accelerant to growth, you actually want the lowest overall CA growth possible - while highest in the CA growth where it matters. There is a hard cap on CA per season anyway, which is ~20-25 (someone has reported ~30 i think). If your players aren't developing much, it's more likely that they're over 18 and not getting enough match experience. No match experience for older players can reduce growth to ~1 CA/season.


This is how I’m understanding the schedules from everything you’ve posted:

214 — Physical x2 + Attacking x2 + Quickness focus — 100/100

Best universal choice for me
Very strong weighted development: 1115.573
You specifically said it produced higher CA gain than the much heavier Physical x5 + Attacking x5 schedule
Moderate workload: ~105%
Seems suitable whether the player is 16, 20 or 27, provided older players get enough match experience

260 — Physical + Match Practice + Attacking x2 + Quickness focus — 98/100

Best when players have a large CA–PA gap
Highest weighted improvement of the tested schedules: 1156.35
Slightly more aggressive CA usage than 214
Seems particularly strong for young players / wonderkids with lots of PA still available

156 — Physical + Quickness + Transition Restrict + Quickness focus — 92/100

Best once players are closer to PA
Lower CA cost: 24.20
Still very strong weighted improvement: 1026.72
Seems useful for preserving the CA–PA gap while still improving valuable attributes

So I’d currently summarize them as:

214 = universal GOAT
260 = big CA–PA gap GOAT
156 = near-PA GOAT

Or another way:

260 = high CA–PA gap / maximum useful development
214 = phenomenal development, very efficient, and apparently strong actual CA gain
156 = once players are getting close to PA

My main goal is simply to get CA increasing as much as possible across the whole squad, roughly ages 16–29.

So between 214 (Physical x2 + Attacking x2) and 260 (Physical + Match Practice + Attacking x2), which one would you personally use as the main schedule?

I understand now that preserving the CA–PA gap matters, and that match experience becomes crucial after 18, so I’m not necessarily looking for the schedule with the highest CA cost.

What I’m really looking for is the one that gives the best actual CA progression over time, while still developing the important weighted attributes well.

If you had to pick only one between 214 and 260 for the entire squad, which one would you use?
GeorgeFloydOverdosed said: I've re-examined training according to what matters in the Premier League 2.1 weights, for both outfield and GK.

This time I was able to calculate everything quickly and comprehensively utilizing ChatGPT with HarvestGreen's excel sheets.

I haven't calculated every schedule exhaustively, just the ones you see here, most of which were the most promising previously.

Overall I recommend either 260 [Physical][Match Practice][Attacking]x2[Quickness Focus] for squad with high CA-PA gap or 156 [Physical][Quickness][Transition Restrict][Quickness Focus] with low CA-PA gap. Or 214 [Physical]x2[Attacking]x2[Quickness Focus] for something inbetween.

Weighted attribute improvement:

260: [Physical][Match Practice][Attacking]x2 = 1156.35
142: [Physical][Quickness][Attacking]x3 = 1135.2835
212: 2x Physical + 2x Match Practice + Attack + Defend + Set Pieces = 1126.97
338: [Physical][Match Practice][Attacking][Defending][Recovery]x7[Quickness Focus] = 1117.508
214: [Physical]x2[Attacking]x2[Quickness Focus] = 1115.573
149: [Match Practice][Attacking][Match Tactics]x2[Tactical]x2 = 1101.13
139: [Physical][Quickness][Resistance][Defending] = 1091.794
339: [Quickness][Attacking][Match Practice] = 1086.43
243: [Quickness][Match Practice[Attackingx2][Quickness focus] = 1079.689
150: [Attackingx6][Quickness focus] = 1079.6675
334: [Physical]x2[Aerial Defence][Attacking] = 1078.23
90: [Attacking]x3 = 1061.16
466: [Quickness][Physical][Attacking] Additional focus: Ball Control = 1056.47
147: [Attacking][Match Tactics]x3 = 1046.77
164: [Physical][Quickness][Aerial Defence]x2[Match Review] = 1039.84
97: [Chance creation][Attacking][Aerial Defense][Handling][Defending from front][Quickness][Quick focus] = 1039.29
166: [Resistance][Quickness][Chance Conversion] = 1028.64
156: [Physical][Quickness][Transition Restrict] = 1026.7215
331: [Physical][Match Practice][Attacking][Defending] = 1020.63
160: [Physical][Quickness][Resistance][Transition Restrict]x2 = 1018.89
148: [Attacking][Match Tactics]x3[Tactical]x2 = 1011.46
327: [Quickness][Match Practice][Attacking]x2[Strength Focus] = 1005.93
116: [Physical]x2[Chance Conversion] = 1001.58
65: [Chance Creation] = 1000.90
53: [Match Practice] = 992.97
170: [Endurance][Quickness][Chance Conversion] = 962.78
123: [Quickness][Attacking][Transition Restrict] = 958.12
106: [Quickness][Attacking][Overall] = 948.62
83: [Community Outreach] = 940.47
113: [Quickness][Match Practice][Chance Conversion][Quickness focus] = 927.185
161: [Physical][Quickness][Aerial Defence][Recovery]x7 = 916.81
75: [One on Ones] = 910.01
54: [Attacking Wings] = 907.79
55: [Attacking Patient] = 891.86
99: [Chance Conversion][Match Review] = 848.14
168: [Quickness]x2[Chance Conversion] = 838.56
86: [Rest]Quickness Focus] = 792.26
43: [Rest][No Focus] = 735.1305

Weighted attribute improvement divided by CA cost:

86: [Rest]Quickness Focus] = 792.26 / 17.53 = 45.194
43: [Rest][No Focus] = 735.1305 / 16.85 = 43.628
156: [Physical][Quickness][Transition Restrict] =  1026.7215 / 24.20 = 42.42
166: [Resistance][Quickness][Chance Conversion] = 1028.64 / 25.71 = 40.010
65: [Chance Creation] = 1000.90 / 25.80 = 38.794
139: [Physical][Quickness][Resistance][Defending] = 1091.794 / 28.71 = 38.027
466: [Quickness][Physical][Attacking] Additional focus: Ball Control = 1056.47 / 29.00 = 36.430
334: [Physical]x2[Aerial Defence][Attacking] = 1078.23 / 31.21 = 34.545
214: [Physical]x2[Attacking]x2[Quickness Focus] = 1115.573 / 33.83 = 32.973
338: [Physical][Match Practice][Attacking][Defending][Recovery]x7[Quickness Focus] = 1117.508 / 34.99 = 31.939
212: 2x Physical + 2x Match Practice + Attack + Defend + Set Pieces = 1126.97 / 35.78 = 31.495
142: [Physical][Quickness][Attacking]x3 = 1135.2835 / 36.43 = 31.164
149: [Match Practice][Attacking][Match Tactics]x2[Tactical]x2 = 1101.13 / 35.50 = 31.017
339: [Quickness][Attacking][Match Practice] = 1086.43 / 35.72 = 30.416
90: [Attacking]x3 = 1061.16 / 34.98 = 30.335
150: [Attackingx6][Quickness focus] = 1079.6675 / 36.20 = 29.825
260: [Physical][Match Practice][Attacking]x2 = 1156.35 / 38.98 = 29.664
243: [Quickness][Match Practice[Attackingx2][Quickness focus] = 1079.689 / 37.93 = 28.460
331: [Physical][Match Practice][Attacking][Defending] = 1020.63 / 39.62 = 25.759

GK:

142: [Physical][Quickness][Attacking]x3 = 1048.42
260: [Physical][Match Practice][Attacking]x2 = 965.23
214: [Physical]x2[Attacking]x2[Quickness Focus] = 805.20
156: [Physical][Quickness][Transition Restrict] = 717.03
139: [Physical][Quickness][Resistance][Defending] = 662.44
243: [Quickness][Match Practice[Attackingx2][Quickness focus] = 614.57
86: [Rest][Quickness Focus] = 310.616
43: [Rest][No Focus] = 282.70

10x outfield + 1x GK:

260: [Physical][Match Practice][Attacking]x2 = 1138.975
142: [Physical][Quickness][Attacking]x3 = 1127.386
214: [Physical]x2[Attacking]x2[Quickness Focus] = 1087.357
139: [Physical][Quickness][Resistance][Defending] = 1052.762
243: [Quickness][Match Practice[Attackingx2][Quickness focus] = 1037.405
156: [Physical][Quickness][Transition Restrict] = 998.567
86: [Rest][Quickness Focus] = 748.474
43: [Rest][No Focus] = 694.000

Workload:

156: [Physical][Quickness][Transition Restrict] = 95%
260: [Physical][Match Practice][Attacking]x2 = 100%
214: [Physical]x2[Attacking]x2 = 105%
243: [Quickness][Match Practice[Attackingx2][Quickness focus] = 120%
142: [Physical][Quickness][Attacking]x3 = 125%
139: [Physical][Quickness][Resistance][Defending] = 135%

Notes:

Green = The new best training schedules, in my opinion
Light blue = The two schedules I have last recommended. They're both still worth considering.
Deep blue = ZaZ's recommended schedule
Pink = A long time popular meta
Purple = HarvestGreen's last recommendation

Where no focus is listed, it's Quickness Focus.

Workload will be a little inaccurate, as I eyeballed the intensity bars rather than calculated it.


Hey, based on all the testing you’ve done here, do you have what you’d consider an optimal schedule to actually use week-to-week over a full season?

I’ve been using ZaZ’s Growth 2, but in my save it really isn’t delivering the development I expected.

What I’m mainly looking for is a schedule that pushes CA growth as fast as possible so players reach their PA quickly, rather than just maximizing CA efficiency.

Would you recommend switching fully to something like 260 / 214 / 156 depending on the players’ CA–PA gap, or do you have a specific weekly/monthly rotation you think is optimal in practice?
GeorgeFloydOverdosed said: I figured it could be this. I'm using the latest version I believe. I'll try doing a reinstall later on.

You've got it working, and anyone who uses FMSS can use your weights.

Trying to debug code frustrates the hell out of me. I don't know how people willingly do it every day for a living. I've also found it tedious translating the FMST26 weights to GS.

I'm not quite satisfied with the GS weights, especially in light of Rain's recent test, and the 15% discrepancy rate between the FMST26 and GS weights. I want my weights to perform at least slightly better in every respect than anything else ideally. I give 8/10 now though.

I guess Rain's finding that there isn't too much difference overall between different weightings makes sense when you do the math on it.

5/11 players @ +2% = +10% for +2.75 position = +0.55 position per player @ +2%
Maeda (83%) 3.0 vs. Dybala (69%) 6.4 = +14% for +3.4 position

+10% for +2.75 position = +3.63% for +1 position
+14% for +3.4 position = +4.11% for +1 position

Could be just a coincidental correlation, but I reckon it's probably reflecting a consistent effect. The 80%/78%/76%/74% team test does suggest that the % differences can be simplified to addition, as there were strong distinctions in the results.

I'm putting my comparison test of keithb's biggest discrepancies with Premier League 2.1 on hold for now, but if we just take Maeda vs. Heung-Min Son for a quick picture, there's a ~8.9% discrepancy. Let's say in a worst case scenario you sign 4 of your starting 11 as these discrepancies:

8.9% x 4 = 35.6%
If ~4% ≈ 1 position, then 35.6% = 8.9 position

So the most difference you could get from keithb or GS default weights say and mine, or whatever is best, is probably 9th vs 18th.

If we suppose the chance of a Maeda-like discrepancy (+ the curve leading up to Maeda) is ~8% total, then:

1/11 discrepancy ≈ 39.4% chance of -2.22 position
2/11 discrepancy ≈ 17.3% chance of -4.45 position
3/11 discrepancy ≈ 4.6% chance of -6.67 position
4/11 discrepancy ≈ 0.82% chance of -8.9 position

That is to be added on top of the common ~2% difference in ratings.

So let's say its a realistic worst case scenario where its 2x Maeda + 3x identical + 6x the typical ~2% difference:

~15% chance, with result of -7.45 position (i.e. 9 vs 16.45 position)


I really like the work you’ve done with all of this. You’re basically the pivotal part of it — I’ve only translated/adapted what you already built into FMST. The testing, comparisons and all the work you’ve put into the weights are the reason there’s something solid to translate in the first place.

I’m really looking forward to whatever updates you make next, especially if you keep refining the GS weights after Rain’s latest testing. And I genuinely hope you’ll still be around doing this for FM27 as well — it would feel weird going into a new FM without your testing and weight work to build from 😅

On the differences between weighting systems, what you’re saying makes sense to me. The average difference might be relatively small, but I think the important cases are the outliers where one system values a player very differently from another.

If Maeda-type discrepancies are relatively rare, most squads probably won’t be massively affected, but getting even 2–3 of those decisions wrong in the same XI could still create a pretty meaningful performance difference.

The ~4% ≈ 1 league position relationship looks surprisingly consistent from the examples you’ve got. I’d probably still treat it as an empirical approximation rather than something perfectly linear, but there definitely seems to be something there.

And yeah, the FMSS translation seems completely fine on my side now. I stress-tested the full weights across my database and it runs with no missing attributes or calculation errors, so if you or anyone else wants to use/share the FMSS weights, absolutely feel free.
FMLeandro said: I cannot copy paste this format in FMST, can you help me with that?

that's FMSS.
bf3metro said: That makes sense if you actually ran into a limitation in your build.

From the app.js I’m using though, GPT-5.6 checked the scoring path and there doesn’t seem to be a hard attribute-count limit there — it just loops through the weights that are defined and skips values that aren’t available. So the issue you ran into might be somewhere else in the FMSS pipeline/version rather than the Meta calculation itself.

Looking at our two versions side by side, I also think the main difference isn’t really 4.7 vs 5. For the attributes we both include, the relative weighting is basically the same — yours is normalized so Pace = 20, while mine uses ÷5 so the final FMST score translates consistently onto FMSS’s 1–20 scale.

The bigger difference is completeness. Mine keeps more of the original FMST formula wherever FMSS exposes the data: Consistency, Important Matches, Professionalism, Natural Fitness, Aggression, etc. It also keeps the original Injury Proneness and Dirtiness interactions rather than simplifying them into fixed weights.

So I’d describe yours as a more compact/simplified FMST implementation, while mine is trying to be a more literal port of the full formula.

If the full version really does cause problems in certain FMSS builds, then your reduced version obviously makes sense for robustness. Mine is currently running fine with the full set though, so if you want I can send you my app.js and maybe you can spot what caused the limitation on your side.


const META_W = {
  Acceleration: 18.1, Pace: 18.8, JumpingReach: 8.6, Pressure: 3.4, Dribbling: 2.86,
  WorkRate: 13.3, Agility: 3.2, Anticipation: 8, Composure: 5.2, Stamina: 10,
  Consistency: 2.81, Determination: 8.7, Balance: 2.85, Strength: 1,
  Concentration: 9, Finishing: 0.4, ImportantMatches: 2.02, NaturalFitness: 1.29,
  Professionalism: 3, Ambition: 0.4, Loyalty: 0.2, Aggression: 2, Vision: 0.1,
};

const META_GK_W = {
  AerialReach: 5.736, CommandOfArea: 3.138, FirstTouch: 3.398, Passing: 2.092,
  Reflexes: 17.2, Concentration: 16.47, Determination: 17.778, WorkRate: 7.736,
  Acceleration: 3.006, Balance: 2.092, Agility: 6.536, JumpingReach: 2.86,
  NaturalFitness: 2.092, Pace: 5.66, Stamina: 6.536, Strength: 2.092,
  Technique: 3.138, Pressure: 3.006, Professionalism: 1.96, Flair: 9.804,
  Vision: 5,
};

edit: I tested it properly on my current build. I ran the full weightedMeta() directly, uncached, across 94,111 players using all 23 outfield weights and 21 GK weights. It completed in ~74 ms with 0 errors and 0 invalid scores. I also checked for missing attributes and got none, and PA-Meta passed all 94,111 players too. So whatever attribute-count limitation you ran into doesn’t seem to reproduce on my current FMSS version. Maybe it was related to an older build/plugin or a different part of the data pipeline.
GeorgeFloydOverdosed said: With your formula, the problem is that it uses too many attributes. For some reason, FMSS will fail with all of them included. At least it did for me.

Normalizing them however you like is fine though


That makes sense if you actually ran into a limitation in your build.

From the app.js I’m using though, GPT-5.6 checked the scoring path and there doesn’t seem to be a hard attribute-count limit there — it just loops through the weights that are defined and skips values that aren’t available. So the issue you ran into might be somewhere else in the FMSS pipeline/version rather than the Meta calculation itself.

Looking at our two versions side by side, I also think the main difference isn’t really 4.7 vs 5. For the attributes we both include, the relative weighting is basically the same — yours is normalized so Pace = 20, while mine uses ÷5 so the final FMST score translates consistently onto FMSS’s 1–20 scale.

The bigger difference is completeness. Mine keeps more of the original FMST formula wherever FMSS exposes the data: Consistency, Important Matches, Professionalism, Natural Fitness, Aggression, etc. It also keeps the original Injury Proneness and Dirtiness interactions rather than simplifying them into fixed weights.

So I’d describe yours as a more compact/simplified FMST implementation, while mine is trying to be a more literal port of the full formula.

If the full version really does cause problems in certain FMSS builds, then your reduced version obviously makes sense for robustness. Mine is currently running fine with the full set though, so if you want I can send you my app.js and maybe you can spot what caused the limitation on your side.
bf3metro said: Acceleration: 18.1, Pace: 18.8, JumpingReach: 8.6, Pressure: 3.4, Dribbling: 2.86, WorkRate: 13.3, Agility: 3.2, Anticipation: 8, Composure: 5.2, Stamina: 10, Consistency: 2.81, Determination: 8.7, Balance: 2.85, Strength: 1, Concentration: 9, Finishing: 0.4, ImportantMatches: 2.02, NaturalFitness: 1.29, Professionalism: 3, Ambition: 0.4, Loyalty: 0.2, Aggression: 2, Vision: 0.1,

AerialReach: 5.736, CommandOfArea: 3.138, FirstTouch: 3.398, Passing: 2.092, Reflexes: 17.2, Concentration: 16.47, Determination: 17.778, WorkRate: 7.736, Acceleration: 3.006, Balance: 2.092, Agility: 6.536, JumpingReach: 2.86, NaturalFitness: 2.092, Pace: 5.66, Stamina: 6.536, Strength: 2.092, Technique: 3.138, Pressure: 3.006, Professionalism: 1.96, Flair: 9.804, Vision: 5,

what do you think of that? i think it translates better FMST to FMSS.


@GeorgeFloydOverdosed

Your translation isn’t wrong at all — I think we’re just optimizing for two slightly different things.

Your method normalizes the coefficients so the strongest attribute weight becomes 20, which makes a lot of sense if the goal is to express the weights themselves on an FM-style 1–20 scale.

For mine, I used GPT-5.6’s reasoning to preserve the full FMST formula as literally as possible and translate the final FMST score onto FMSS’s 1–20 scale.

The main difference is that I use the same ÷5 conversion for both outfield and GK, because that gives:

FMSS Meta = FMST score ÷ 5

So 100 → 20, 90 → 18, 75 → 15, etc.

That also means GK and outfield remain on exactly the same scale. With the “highest coefficient = 20” approach, outfield ends up using roughly ÷4.7 while GK uses roughly ÷4.4445, so the two formulas are normalized slightly differently.

I also kept every FMST term that FMSS can access, including hidden/personality attributes, the CA penalty for GKs, and the original nonlinear Injury Proneness and Dirtiness calculations rather than simplifying them into fixed weights.

So I definitely wouldn’t call your version wrong — it’s a good normalized/simplified implementation. I just think the GPT-5.6 version is more faithful if the objective is specifically to port the complete FMST calculation into FMSS while keeping the output on a consistent 1–20 scale.

If you want, I can send/upload the exact code I’m using so you can compare the implementations directly.
GeorgeFloydOverdosed said: FMSS Premier League 2.1 weights

Outfield:

const META_W = {
  Pace: 20, Acceleration: 19.26, JumpingReach: 9.15, Dribbling: 3.04, Balance: 3.03,
  Concentration: 9.57, Anticipation: 8.51, Determination: 9.25, Agility: 3.40, Stamina: 10.64,
  Dirtiness: 6.8, Composure: 5.53, WorkRate: 14.15, Pressure: 3.62, InjuryProneness: -4.8,
};


GK:

const META_GK_W = { Determination: 20, Concentration: 18.53, Reflexes: 19.35, AerialReach: 6.45, Agility: 7.35, Pace: 6.37, Acceleration: 3.38, InjuryProneness: -11.03, Dirtiness: -3.68, FirstTouch: 3.83, WorkRate: 8.7, JumpingReach: 3.22, Stamina: 7.35, Technique: 3.53, Flair: 11.03, CommandOfArea: 3.53, Pressure: 3.38, Professionalism: 2.2, NaturalFitness: 2.35, };

I couldn't include every attribute, there's some limit occurring in FMSS, but it'll only be a few minor ones missing. I had to take off professionalism from outfield though. You could swap 'Balance: 3.03' for 'Professionalism: 3.19' if you like.

I've simplified dirtiness & injury proneness. I also can't verify the accuracy at all because it's FM26 only.


Acceleration: 18.1, Pace: 18.8, JumpingReach: 8.6, Pressure: 3.4, Dribbling: 2.86, WorkRate: 13.3, Agility: 3.2, Anticipation: 8, Composure: 5.2, Stamina: 10, Consistency: 2.81, Determination: 8.7, Balance: 2.85, Strength: 1, Concentration: 9, Finishing: 0.4, ImportantMatches: 2.02, NaturalFitness: 1.29, Professionalism: 3, Ambition: 0.4, Loyalty: 0.2, Aggression: 2, Vision: 0.1,

AerialReach: 5.736, CommandOfArea: 3.138, FirstTouch: 3.398, Passing: 2.092, Reflexes: 17.2, Concentration: 16.47, Determination: 17.778, WorkRate: 7.736, Acceleration: 3.006, Balance: 2.092, Agility: 6.536, JumpingReach: 2.86, NaturalFitness: 2.092, Pace: 5.66, Stamina: 6.536, Strength: 2.092, Technique: 3.138, Pressure: 3.006, Professionalism: 1.96, Flair: 9.804, Vision: 5,

what do you think of that? i think it translates better FMST to FMSS.
GeorgeFloydOverdosed said: Busy in life for a few days right now, but I'll get round to it probably after that

can’t wait for it, mate! good luck in life too!!
GeorgeFloydOverdosed said: Premier League 2.1 weights

FMST26 weights (copy paste this into statistics > custom metrics (advanced)):

Outfield:

(acceleration * 90.5 + pace * 94 + jumping_reach * 43 + pressure * 17 + dribbling * 14.3 + work_rate * 66.5 + agility * 16.0 + anticipation * 40 + composure * 26 + stamina * 50 + consistency * 14.05 + determination * 43.5 + balance * 14.25 + strength * 5.0 + concentration * 45 + finishing * 2.0 + important_matches * 10.1 + natural_fitness * 6.45 + professionalism * 15.0 + ambition * 2.0 + loyalty * 1.0 + aggression * 10 + vision * 0.5 + left_foot * 6 + right_foot * 5 - (injury_proneness * (48 / (natural_fitness * 0.75))) - (dirtiness * 32 * (aggression * 0.1))) / 113.2

GK:

((aerial_reach * 28.68 + command_of_area * 15.69 + first_touch * 16.99 + passing * 10.46 + reflexes * 86 + concentration * 82.35 + determination * 88.89 + work_rate * 38.68 + acceleration * 15.03 + balance * 10.46 + agility * 32.68 + jumping_reach * 14.30 + natural_fitness * 10.46 + pace * 28.30 + stamina * 32.68 + strength * 10.46 + technique * 15.69 + pressure * 15.03 + professionalism * 9.80 + flair * 49.02 - injury_proneness * 49.02 + vision * 25 - dirtiness * 16.34 - ca * 9.80)) / 84.5

Genie Scout file: https://files.catbox.moe/9n18q0.grf

I translated it to GS as best I could.

Outfield:

90% | Erling Haaland - 1st, 1st, 4th, 1st, 2nd, 1st = 1.666 position
88% | Kylian Mbappe - 2nd, 3rd, 3rd, 3rd, 5th, 2nd, 1st, 1st = 2.5 position
87% | Mohamed Salah* - 1st, 3rd, 5th, 3rd, 3rd, 2nd, 1st = 2.571 position
88% | Kylian Mbappe (AML) - 1st, 2nd, 3rd, 5th = 2.75 position
82% | Bukayo Saka (AMR) - 2nd, 3rd, 3rd, 3rd = 2.75 position
82% | Heung-Min Son - 3rd, 2nd, 2nd, 2nd, 2nd, 6th, 4th = 3 position
83% | Daizen Maeda - 2nd, 3rd, 4th, 4th, 2nd, 3rd, 3rd = 3 position
80% | Kyogo Furuhashi - 4th, 2nd, 3rd, 5th, 3rd, 2nd, 2nd = 3 position
82% | Vinicius Junior - 5th, 4th, 1st, 3rd = 3.25 position
83% | Eduardo Camavinga (DM) = 3rd, 5th, 2nd, 3rd, 4th = 3.4 position
82% | Harry Kane - 5th, 2nd, 3rd, 3rd, 1st, 7th = 3.5 position
83% | Robert Lewandowski - 2nd, 2nd, 2nd, 3rd, 5th, 2nd, 8th, 5th, 3rd = 3.555 position
77% | Dusan Vlahovic - 1st, 4th, 4th, 5th, 1st, 6th, 4th, 4th = 3.625
82% | Lautaro Martinez - 7th, 3rd, 1st, 5th, 2nd, 5th, 2nd, 5th = 3.75 position
80% | Victor Osimhen - 3rd, 3rd, 7th, 3rd, 3rd, 4th, 3rd, 4th = 3.833 position
78% | Lionel Messi - 4th, 2nd, 1st, 5th, 9th, 3rd = 4 position
79% | Viktor Gyokeres - 6th, 4th, 3rd, 4th, 5th, 5th, 2nd, 5th, 2nd = 4 position
81% | Giovanni Di Lorenzo (DR) - 3rd, 3rd, 2nd, 9th, 2nd, 5th, 5th = 4.143 position
82% | Kim Min Jae (DC) - 3rd, 3rd, 6th, 6th, 3rd, 4th, 5th = 4.286 position
82% | Ronald Araujo (DR) - 4th, 8th, 3rd, 1st, 7th = 4.6 position
73% | Donyell Malen - 2nd, 2nd, 7th, 5th, 5th, 7th = 4.666 position
78% | Jules Kounde (DR) - 5th, 4th, 7th 5th, 3rd = 4.8 position
75% | Kurt Zouma (DC) - 7th, 5th, 6th, 3rd = 5.6 position
72% | Robert Glatzel - 5th, 7th, 6th, 3rd, 12th, 6th, 2nd, 6th, 8th = 6.111 position
81% | Raheem Sterling (AMR) - 6th, 7th, 7th, 7th, 6th, 6th, 6th, 6th = 6.375 position
69% | Paulo Dybala - 5th, 5th, 6th, 10th, 3rd, 12th, 6th, 5th, 6th, 6th = 6.4 position
72% | Andrian Kraev (DM) = 9th, 8th, 5th, 5th = 6.75 position
62% | Adam Le Fondre - 8th, 11th (sacked), 5th, 7th (sacked), 6th (sacked), 8th (sacked) = 7.5 position
66% | Kingsley Schindler (DR) - 4th, 11th, 6th, 11th = 8 position
63% | Luis Suarez - 7th, 9th, 10th, 8th, 8th = 8.4 position
71% | Sean Goldberg (DC) - 5th, 16th (sacked), 8th (sacked), 5th = 8.5 position
77% | Sacha Boey (DR) - 7th (sacked), 12th (sacked), 12th (sacked) = 10.333 position

Error rate = 4/32 = 12.5%

Vlahovic = 6.5% off
Malen = 6.8% off
Sterling = 12.3% off
Boey = 22.1% off

GK:

90% | Alisson - 6th, 3rd, 4th, 4th, 3rd = 4 position
84% | Thibaut Courtois - 3rd, 7th, 2nd, 5th, 8th = 5 position
82% | Jan Oblak - 5th, 8th, 6th, 4th, 3rd = 5.2 position
82% | Walter Benitez - 4th, 9th, 4th, 6th, 5th = 5.6 position
82% | Ugurcan Cakir - 7th, 9th, 2nd = 6 position
79% | Ederson  - 6th, 6th, 4th, 8th, 7th, 7th = 6.333 position
81% | Marc-Andre ter Stegen - 10th, 11th, 4th, 4th, 3rd = 6.4 position
84% | Gregor Kobel - 4th, 12th, 2nd, 10th (sacked), 3rd, 10th (sacked), 5th = 6.571 position
78% | Anatolii Trubin - 15th (sacked), 6th, 4th (sacked), 5th = 7.5 position
70% | Davy Roef - 13th (sacked), 4th, 14th (sacked), 6th (sacked), 1st = 7.6 position
61% | Jack Stevens - 13th (sacked), 4th, 9th (sacked), 8th (sacked), 8th (sacked) = 8.4 position
75% | Sinan Bolat - 4th, 2nd, 19th (sacked), 5th, 14th (sacked), 9th (sacked), 12th (sacked), 5th = 8.75 position
67% | Ben Winterbottom - 10th (sacked), 5th (sacked), 12th (sacked), 18th (sacked) = 11.25 position

Harder to tell who is inaccurate and who is error for GK..

Error rate = 3/13 = 23.1%

Kobel = 7.1% off
Roef = 7.1%(?) off
Stevens = 18.0%(?) off


any FMSS update? please, thanks mate!
GeorgeFloydOverdosed said: I don't have an opinion of which is better, but I'm using FMST right now because I can put in more sophisticated weighting formulas easier

FMST more accurate or just simpler for you?
Hey @GeorgeFloydOverdosed! I’m messaging you again to ask for your opinion, sorry to bother you.

I wanted to know if you’ve had the chance to form a strong opinion on FMST vs FMSS. Which one seems more accurate to you, and generally speaking, which one do you think is the better tool to use?

Personally, I’m using FMSS, which is why I wanted to get your comparative opinion. Since we know GS is bugged, I’m not including it anymore because I’ve stopped using it.

I’m currently using your new ratings on FMSS as well. Thanks for all the research you’ve been doing, by the way, you’re doing a great job. Keep it up, man! :devil:
@mavali

Hi! I noticed an issue with FMSS in multiplayer saves.
When I load my save, FMSS seems to identify my friend as the active human manager instead of me. Because of that, “My Club” points to his club, so I can’t properly filter players from my own club.

Would it be possible to make FMSS detect the correct human manager in multiplayer saves, or maybe add an option to manually select which club should be considered “My Club”?
GeorgeFloydOverdosed said: Finishing, strength, and vision were technically in the previous weights. I dropped them from the file because the attributes that are adequate you are bound to get at the required levels most of the time anyway:

Strength - 8
Vision - 7
Finishing - 7

I played around a fair bit with strength in particular in these new weights. I thought maybe it's around 10-20, but turned not to be the case. Vision is 20 on Messi which was food for thought, but it didn't seem to affect ranking alignment for the better.

Actually teamwork is the one I most wonder about.. players like Maeda have high teamwork, and there's some mathematical study on FM24 on github that a guy did for university work that found teamwork was a key correlate of performance.. but I read through it, and overall I think its just full of mistaken findings. My own testing and HarvestGreen's found teamwork doesn't matter, so at the moment I don't see a valid reason to include it.

Loyalty I included as '1' at the last moment pretty much symbolically. It would have some very minor to minor effect via morale, so i felt justified giving it a little '1'. But obviously loyalty deserves some weight for gameplay reasons.


Just one small thing I noticed: you said you included Loyalty as “1” at the last moment, but in the weights you posted, Loyalty is 0.2. Is 0.2 the intended final value, or was Loyalty supposed to be 1?

Also, given what you said about Strength, Vision, Finishing, Teamwork and Loyalty, would you say these are attributes we should actually pay attention to when evaluating a player, or are they basically not worth considering unless the value is particularly low/high?

I’m especially wondering about Teamwork since you still seem a bit uncertain about it.

And one last thing: have you also updated the goalkeeper weights, or are these still the current ones?

Reflexes: 12.8, Agility: 8.0, Acceleration: 4.7, Pressure: 4.1, Pace: 3.5, AerialReach: 3.4

PS: What is the correct way to write it?

GeorgeFloydOverdosed said: The main thing would be the non-linearity of attributes, which the testing did show, but can't be reflected in linear weightings.

HarvestGreen did do some theorizing on attribute interactions, and I've dug up quotes from the Collyer brothers and in-game tips and whatnot which describe attribute interactions as well. I found that those latter things turn out to be generally untrue, or at least outdated.

I reckon there are attribute interactions though, and HarvestGreen's ideas on it are interesting.. just lack the solid data on it at the moment though.

I don't really have solid data to back it, but I'm personally convinced that aggression x dirtiness is an interaction, it just seems logical and seemed to solve something insoluble with the ratings at one point too.

This is partly why I decided to release it as is now with mostly linear weights, because one could go down the rabbit role of trying out all these different attribute combos and either getting nowhere or being mislead into seeing something that isn't there, while also spending a lot of time doing so. It remains difficult to test attribute combinations, but I'm sure there's some method to bear it out properly.


Probably a formatting issue


The FMSS weights I gave before simply reflect the minimum set of attribute values to attain 5th in the Premier League. They represent the best 'bang-for-buck' relative ratio of attributes.

I guess the question that the objective ranking raises in relation to that is, if work rate supposedly caps out at 13, why is it so critical for Maeda, and important in general? And if dribbling isn't so essential, is it really necessary to include it high - even if it does actually have significant benefits. So it does shine a new light on certain things. Personally I strongly favor what is true in realistic testing (the player rankings derived from the team positions), rather than what the isolated or constrained testing shows (including my own).


I also noticed that you added 5 attributes that weren’t in the previous set: Strength, Finishing, Ambition, Loyalty and Vision.

Was that intentional as part of the new weighting method?
GeorgeFloydOverdosed said: Yes, that is precisely the correct summary of it, and I daresay a better explanation than I did.

I'm glad you immediately understand, because I think it's easy to misinterpret this latest thing I'm doing with the weights.


I started with the presumption that finishing is almost completely unnecessary, but ChatGPT independently came to the conclusion that finishing should be removed too when I fed it all the player's attributes and asked it to come up a set of weights to fit the rankings.

It was surprising how strongly weighted anticipation and work rate seems to be. Maeda is still down a bit, so work rate could in fact do with being a bit higher perhaps. It's strange to me, because I know that (and you can see HarvestGreen's data to verify this) that work rate almost caps out at 13. But that is when work rate has been tested in isolation or partial isolation. Perhaps there is something like 'determination x work rate x stamina' going on. I couldn't find a way of getting around weighting work rate highly.

Anticipation in my observations did continue to scale, but had diminishing returns. But putting that aside for now, it makes sense that it would be a key attribute because ostensibly it's the movement ('off the ball' as speed?) to the area before possessing the ball. So it sounds like it cuts down on the pace/acc requirement to me, because once they have the ball, they have less distance to travel. Concentration would be a similar kind of effect, where low concentration leads to a delay in getting into position to receive or stop a ball (the latter offset by 'positioning' perhaps).

Consistency, Important Matches, and Natural fitness has not been incorporated with much accuracy. They are kind of afterthoughts, as I know they will matter somewhat, but not sure to what degree. I've used HarvestGreen's data to set them, and so long as they're not interfering with the ranking, I generally leave them alone. Same with pressure, professionalism, etc.

Dribbling I've been in two minds about. Most of the time I had it set pretty high at ~40, sometimes as high as 60. I ended up reducing it to 15. ChatGPT actually said early on to do this too. Both were equally functional. From testing, we know dribbling is a very strong attribute that scales well.. I suspect it's not needed much to match the rankings, because hardly any players have high dribbling anyway. It's the hardest attribute to get high in the game I believe.


Yes, that is how they have to be written for FMSuperScout, otherwise the program won't work. That is how labels the attributes internally.

I would add the comma.


That makes a lot of sense, especially the distinction between an attribute being strong in isolation and actually being necessary to reproduce the player rankings.

The WorkRate interaction theory is probably the most interesting part to me. If something like Determination × WorkRate × Stamina is happening, it could explain why isolated attribute testing and the ranking weights seem to tell slightly different stories.

Same for Dribbling — it can still be a very strong attribute without needing a high weight here if the players in the ranking simply don't have enough variance in it.

I think that's probably the most important thing for people to understand with these weights: they aren't necessarily a pure "attribute strength" ranking, they're the weights that best reproduce the objective player rankings.

Also, I noticed there are some strange extra spaces between a few attributes in the list. Is that intentional, or just a formatting issue?

One other thing I'm wondering: is it possible that some of your original FMSS weights were simply set too low at the beginning, which would also partly explain why a few attributes have increased so dramatically now?

For example:

Stamina: +13.58
Pace: +11.36
Acceleration: +11.24
WorkRate: +8.20
Anticipation: +6.44
Concentration: +4.26
JumpingReach: +4.04

Do you think these huge increases are entirely a consequence of the different methodology, or could your original FMSS weights also have been underestimating some of these attributes from the start?
GeorgeFloydOverdosed said: Actually this is proving more difficult than I thought it would be

I'm not a programmer, so I don't know how to implement the injury proneness & dirtiness weights. I thought, maybe I'll just add them as simple negatives, like for the GS weights, and adjust it until it matches the rankings, but then I realized it doesn't do FM24 db, only FM26.

Here's the weights at least that will work:

Pace: 17.36, Acceleration: 17.24, JumpingReach: 9.24, Dribbling: 2.92, Pressure: 3.34, Balance: 2.7, Concentration: 9.46, Anticipation: 11.64, Determination: 6, Agility: 3.4, Stamina: 18.78, Strength: 0.2, Composure: 5.12, WorkRate: 12.6, Finishing: 0.4, Aggression: 1.26, Professionalism: 3, Ambition: 0.4, Loyalty: 0.2, Vision: 0.1, ImportantMatches: 2.04, NaturalFitness: 1.58, Consistency: 2.82

Replace the weights in the app.js file with those (search for 'FM-Arena' ).

For adding injury proneness & dirtiness, which are in fact crucial (but I guess you could also just check players manually to have low inj and dirt values), we're going to need someone like Panneton0 or perhaps the creator of FMSuperScout itself to help out. Could probably do it myself, but can't be bothered doing an hour of research honestly.


I compared the new weights with the previous ones, and some of the changes are huge:

Stamina: 5.2 → 18.78 (+13.58)
Pace: 6 → 17.36 (+11.36)
Acceleration: 6 → 17.24 (+11.24)
Work Rate: 4.4 → 12.6 (+8.2)
Anticipation: 5.2 → 11.64 (+6.44)
Concentration: 5.2 → 9.46 (+4.26)
Jumping Reach: 5.2 → 9.24 (+4.04)

While on the other side:

Natural Fitness: 4.8 → 1.58 (-3.22)
Important Matches: 5.2 → 2.04 (-3.16)
Aggression: 4.4 → 1.26 (-3.14)
Consistency: 5.2 → 2.82 (-2.38)
Dribbling: 5.2 → 2.92 (-2.28)
Professionalism: 5.2 → 3 (-2.2)

The biggest question for me is: why such massive changes?

From what I understand, the old weights were based on finding the cheapest/minimum attribute balance capable of achieving around 5th in the Premier League, whereas the new weights are being fitted to a much larger set of objective player rankings.

So it makes sense that the result could be very different: instead of asking “what minimum combination of attributes gets results?”, you're now asking “which attributes best explain the actual ranking of players?”

Still, the scale of the change is fascinating.

The new model seems to put an enormous premium on Pace, Acceleration, Stamina, Work Rate and Anticipation, while attributes such as Dribbling, Consistency, Important Matches or Natural Fitness become much less influential.

And then you have Finishing at only 0.4, which is pretty wild too.

Curious to hear what people think, especially about Stamina becoming #1 and the huge gap that now exists between the top attributes and everything else.

PS: Quick question: why are attributes like WorkRate, ImportantMatches, and NaturalFitness written without spaces? Is that just the naming format, and do they need to be written exactly like that in app.js as well? Also, should I add a comma after the final value, Consistency: 2.82, or should the last entry be left without one?
GeorgeFloydOverdosed said: Yeah, I left it out because I have to work out how to best translate it from the FMST26 weights first. I'll do that now.

Legend!