More attribute weight findings through data mining [FM26]

by skawkclsrn, 1 day, 2 hours ago

TL;DR: I randomised all 60 attributes of every player in a 20-club league every 75 seconds and let the game holiday through ~16,000 full-engine matches.
Pace and Acceleration are worth ~3x anything else.
Everything technical measured at or below zero.
According to these resutls no attribute has a threshold, they pay linearly 1-20.
Once you divide by what a point costs in CA, the best buys are Work Rate, Jumping Reach and the hidden personality attributes, which are (mostly) free.

Method
FM's engine is C++ with MSVC RTTI, so every object carries its class name behind the vtable pointer, so you can find every player and scoreline by name instead of hunting offsets.
Loop: write a random attribute vector into every squad, sleep 75s while the game holidays, read back and harvest scorelines, repeat every 75s to take into account promoted teams.

Warning that cost me 120,000 matches
Match Detail Level decides which simulator runs.
On None everything resolves through the Quick Match Engine and effects come out 10x too small in the wrong order. Set the competition to All Competitive Matches.
The quick path has its own QME_STAT_MANAGER sitting beside Poisson and Normal distribution objects, so it samples statistics rather than simulating football.

Dataset
15,951 full-engine matches.
47 visible + 5 hidden + 8 personality attributes randomised.
CA and PA pinned at 150, morale pinned at 15.
Attributes are stored 1-100 and displayed /5;
personality attributes sit on a different record at plain 1-20.

Reading the numbers
CA is pinned, so ability is a fixed budget and every weight answers "given fixed ability, where is it best spent?"
Positioning at -9.6 does not mean Positioning harms you, rather it means CA spent there is not spent on Pace, and that trade costs about 10 points a season.

Validation
Fitted on 5,011 matches, tested on 5,011 never used for fitting.
Correlation with actual goal difference:
Measured weights 0.392; Pace+Acceleration only 0.365; per-position 0.329; CA only 0.318; everything except the speed pair -0.043
Favourable quarter of the test set averages +1.79 goal difference, unfavourable -0.73.
A two-segment fit searching every knee from 6 to 16 found no thresholds anywhere.

Global weights, CA cost and value
Format: attribute, points per season, (CA cost of one point, points per CA point).
CA cost measured separately by ramping a single attribute on an isolated player, R2=0.93.
Hidden and personality attributes cost no CA at all.
Ratios for near-free attributes are huge because the denominator is tiny, and read those as "free", not as literal multiples.

Work Rate is the standout: nearly as valuable as Pace per point of ability, at a third of the cost. Decisions is the worst buy in the game, while the second most expensive attribute and negative.
Pressure is worth 14.9 points a season and costs nothing.

Positional weights (0-20 within each group)

Acceleration outranks Pace for CB and FB and the order flips further forward which seems plausible.
The positional tables predicted worse out of sample than the pooled one (0.329 vs 0.392).

For goalkeepers, read the top two or three only.
Reflexes and Agility separate cleanly; below that it is noise, and Handling ranking under Corners is not a finding.
One keeper per match against ten outfielders means that column has about a tenth of the statistical power.

Shout out
to mavarobli / mavali / mark17072
@https://fm-arena.com/thread/20087-fmsuperscout-free-open-source-scouting-tool-for-fm26-with-a-meta-score-built-on-fm-arena-attribute-testing/

6

I've had a quick look on the result and it's inline with the FM-Arena Attribute testing for FM24 - https://fm-arena.com/thread/14009-attribute-testing-football-manager-24/

0

Lapidus said: I've had a quick look on the result and it's inline with the FM-Arena Attribute testing for FM24 - https://fm-arena.com/thread/14009-attribute-testing-football-manager-24/

Yes, that seems to be my conclusion on it as well.
With this method of reading out data through the code however it's just easier to get a bigger data set.
This data set was from an about 8-hour overnight session, but since the output was pretty much in line with the rest of the findings published before, I didn't even bother to let it run for more to be honest.

One thing that my research contradicts though is that I didnt't seem to find any 'knee' for attributes.
Where a certain attribute would perform much better than just 1 point lower.
I've read some other threads and research that suggest for several attributes a 8 minimum, or you get much less results.
Not saying that's not valid, but that type of result didn't really show up for me.

0

Does your simulation engine has any way of randomizing positional proficiency? (like having your ST being somewhere between ineffective and natural ST)

We have an early view of how it has an impact, but your simulation engine seems very efficient so we might be able to properly (finally!) isolate that.

Amazing work buddy.

0

Also, positionning having such a bad influence on results points toward a problem with the ME. It might try to "position" players in a way it thinks helps, but it makes them play worst. That way, players who are out-of-position are often in an actual better spot than their "better" counterparts. Interesting result to be further investigated.

0

Panneton0 said: Does your simulation engine has any way of randomizing positional proficiency? (like having your ST being somewhere between ineffective and natural ST)

We have an early view of how it has an impact, but your simulation engine seems very efficient so we might be able to properly (finally!) isolate that.

Amazing work buddy.


Proficiencies are a 15-byte block on the player record (GK, SW, DL, DC, DR, DM, ML, MC, MR, AML, AMC, AMR, ST, WBL, WBR) and I used it to force every club into one formation. (Since the FM26 top tactic table is all the same formation)

The engine does model this explicitly: there's a MATCH_OOP_SCORING_PROVIDER containing OOP_ATTRIBUTE and PITCH_PROXIMITY_SCORE. So the question is magnitude, and worthy of further testing.
There are no named entries for in position, so that means that is the baseline or default for ME, and raises the question how important a seperate OOP formation is.

Proficiency only matters via which slot the AI managers actually uses players in.
Randomise it without pinning the formation and you measure the penalty plus the AI manager's reaction to a squad of weird random position players.
So for efficiency sake, that's why I pinned down the formation first.

Panneton0 said: Also, positionning having such a bad influence on results points toward a problem with the ME. It might try to "position" players in a way it thinks helps, but it makes them play worst. That way, players who are out-of-position are often in an actual better spot than their "better" counterparts. Interesting result to be further investigated.
I'd hold off on the ME conclusion just yet, this is again worthy of some more testing.
In my test CA is pinned at 150, so every coefficient is opportunity cost, not absolute effect.
-9.6 means "CA spent there isn't spent on Pace, and that trade costs ~10 pts/season".
It didn't not show that raising Positioning on an unchanged player hurts him.
Since I'm not testing on potential, rather current ability in the ME.

Your hypothesis is testable though: let CA float, raise Positioning alone, add nothing back.
If it's still negative you're onto something.
I'll try run it and report back.

Worth noting Positioning costs 0.71 CA/point, near the top of the cost table.
Corners is only -2.6 raw but costs 0.12/point, so it's -22 per CA point vs Positioning's -13.
Some of the apparent harm is just an expensive attribute, and if that's at the cost of other less worthy attributes, I doubt it matters a lot for ME outcome calculations.

2

Great info, that clarifies the test. I'm usually judging attributes without considering the "CA cost". While weird, this is mainly because, when trying to find out what player would be the most efficient in your squad, CA is of no interest.

It is very useful when trying to "buy players", where a badly distributed CA inflates its price. Or for training purposes where the CA-PA gap dictates the progression. But on a matchday, CA is of no importance, only the player effectiveness, which is related to meta attributes, not CA.

So that's why I misunderstood your results. It all makes sense now. Thanks again.

0

I think the indisputable contribution of this data is that it tells us what matters in FM26, and it seems like there's not much difference to FM24.

I don't know why you're finding every attribute effect to be linear, I think something going wrong somewhere in regards to that. I suspect it could be that you're randomizing attributes of every player at every club in the league, so that there's no longer set levels to compete against (i.e. in a real league, most players will have ~14 pace for example, or most GKs will have ~14 aerial reach, producing thresholds - it's not necessarily innate to the attribute itself, but a product of the relative competition. So 13 > 14 pace isn't a threshold in Vanarama South, but it is in Premier League). It's not entirely clear though if you're randomizing every player at every club, or just one club.

The part that intrigues me the most are the position weights. Have you simply divided the general results by the CA costs for each position, or have you done comparative testing for each position here?

0

Here is a GS files.

I've shared a file like this weeks ago, it's near the old file, but your work is more precise. Hope the file will share more accurate things.

Important to note: ratings and position are made for Zaz 4.5 Autumn, no ratings for libero or defensive mid for example.

With the old file, won everything each season with underdog or top club. With this new file, let's play and test !

https://limewire.com/d/CCdE4#9Z2IjDC1iF

1

GeorgeFloydOverdosed said: I think the indisputable contribution of this data is that it tells us what matters in FM26, and it seems like there's not much difference to FM24.

I don't know why you're finding every attribute effect to be linear, I think something going wrong somewhere in regards to that. I suspect it could be that you're randomizing attributes of every player at every club in the league, so that there's no longer set levels to compete against (i.e. in a real league, most players will have ~14 pace for example, or most GKs will have ~14 aerial reach, producing thresholds - it's not necessarily innate to the attribute itself, but a product of the relative competition. So 13 > 14 pace isn't a threshold in Vanarama South, but it is in Premier League). It's not entirely clear though if you're randomizing every player at every club, or just one club.

The part that intrigues me the most are the position weights. Have you simply divided the general results by the CA costs for each position, or have you done comparative testing for each position here?

I think FM-Arena attribute tests for the past few editions show linear effect for pretty much all of the attributes.

1

Yarema said: I think FM-Arena attribute tests for the past few editions show linear effect for pretty much all of the attributes.

The difference of someone with 20 jumping reach at corners is pretty big.

0
Create an account or log in to leave a comment