Orion
Yarema said: Btw how does this work with double attributes? Like Jum^. If the model uses adjusted values then squaring the full number seems odd and potentially overshadowing everything else.

In linear regression you basically check every single feature and select the one that fits to the data the most. Then you exclude that one and check the model with this first feature + the second one.
In polynomial regression you allow model to look for 'single' feature but also combination like feature1 x feature2 or feature1 x feature1. If it fits the data better than 'single' feature it will pick that feature. If 'single' feature fits the data better than 'combined features' it will keep the single one.
In this model I allowed searching for quadratic equations. And for some cases it turned out that at some point, like for the Forward, Jum x Jum fits the data better than any single feature that was left in the pool. But for example Jum x Jum gives worse fit that just Jum.
CBP87 said: @Orion Are you saying if a FB has 15 pace, then the way to work out the rating is 15 x 15 x 0.018991???

To get player rating/score you use all the coefficients so you make a sum
Pac x 0,018991 + Jum x 0,014582 + Acc x 0,012670 + Ant x 0,012269 + Cnt x 0,009911 + Dri x 0,008246 + Cmp x 0,007720 + Cro x 0,006812. And then you can compare this 'sum' between the players. In theory the higher the sum the better the player should be.
Additionally when you take into consideration this test you can include in your filter out players with 6+ or 10+ Work Rate since very low Work Rate results in extreme decrease in players performance.
Middleweight165 said: Can you say the same thing again but pretend you are explaining it to a 5 year old? :D

The training data was transformed to show player attributes not as 1-20 but I calculated average value for each attribute for every league. Then for every player I changed his attribute value as (actual_attribute_value - average_attribute_value_in_player_league). This way attributes can also be negative - if player has lower attribute value than average for his league. And that was the data that I used to training the model. So model says 'hey, take this 'new attribute value' for the player and multiply it by his coefficient'.
Because of this in theory we should check in what league you are playing, check average attributes values for the players in that league, calculated this new 'difference' attribute and then use coefficient to calculate player 'rating'.
To make it easier, and because we compare players that will play in the same league, we will just use original attribute values of players. This may introduce some additional error in the rating calculation, but since this makes calculation so much easier we accept this flaw of the method.
kvasir said: You can fix the first issue by adjusting the weight when editing ratings — it’s in the bottom right corner of the editing ratings window. Try tweaking it to see which settings give you the best balance across positions. I have mine set to 115 for GK and 110 for all other positions, so the best players are all around or above 90%, with Haaland as the only major outlier at 99%.

As for your ST ratings showing 0%, that’s because the rating file was created by @Bafici using the Target Striker (TS) position instead of Fast Striker (FS). Just switch the layout to TS, and it should display correctly.


Please also keep in mind that coefficients where set for 'normalized' data, so players attributes in relation to average attributes in the league they are playing. Here we use 'absolute' values of the attributes. This obviously brings some uncertainty but I believe for simplification it should work. As you said we should introduce some correcting factor for the 'score'.
FREVKY said: That's what I thought, so I created pretty simple excel spreadsheet that make mass player comparison possible and easy.

Here's how it works:
First, you need to import specified views. I created two sets of these: one for your team (for squad view) and one for scouting tab - both with CA & PA hidden - and another set with CA & PA visible for those who like to spoil the fun a little bit. Download and paste them into "views" folder in your Documents (C:\Users\your_name\Documents\Sports Interactive\Football Manager 2024\views is the default path).

When you load the view, you need to select every player, so click on one player and than ctrl+a to select everyone in the team or in the scouting range. Just bear in mind the more players you select, the more time it takes, so if you're about to select over 1000 players, give it a few seconds to work.
Then, press cltr+p to "print" the selection into HTML file. Save it wherever you want, name it whatever you want.
Then, you need the spreadsheet (MS Excel file). Open it and then in the Excel go to to File->Open and select the html file with your set of players. Copy it's whole contents (ctrl+a, then ctrl+c) and paste them into my spreadsheet in the blank sheet called "IMPORT" then switch the sheet to the one called "CALCULATION" and it should automatically calculate values for every player for each position using coefficients from this thread. Additionalli I added sections with CA, PA and difference between them (it will work only when you used views with PA and CA obviously).

Of course you can use whatever filters you want on the scouting section to narrow down the amount of players to whatever you really need.

At first glance it may sound complicated a bit but it's pretty easy to use. If you find any trouble using it, I'll try to help.

Spreadsheet link: https://www.mediafire.com/file/huj2qrmavoqnd6x/meta.xlsx/file

The spreadsheet is editable so do whatever you want with it, if you find any room for improvements, go for it.


That's a great job! Of course I know how to make views and export data through printing - that's how the training data was extracted. But your comprehensive comment will be a great help for others who might be not familiar with those methods.
On top of that I can add that you can use in-game sorting to speed up things.
Just click on the attribute to sort the players by it. And then shift click another attribute so you sort by first attribute and then also by the second attribute. You can do this with all the attributes.

It's also a good idea to make a benchmark 'score' from your current players or even top player to see if the players you are checking will improve your team.
RFC said: Just about to try out this method, would it be possible to confirm the ST coefficients, is it correct to have Jumping as the first and last of the eight attributes? I just can't quite work out how to apply it to to overall calculations

The second one - as said in disclaimer - uses Jumping Reach to power of two. So just take Jumping Reach x Jumping Reach x the last coefficient.
Polynomial regression can show features 'synergie' that is represented as two features multiplication - or one feature multiplied by itself.
kvasir said: Got it now! The original post said you excluded crossing, but then showed "cro," so I assumed it meant corners. Now that you clarified it actually excludes corners, it makes sense. I already used Claude to generate Genie Scout ratings and will try it in a new save. Thanks for your work!

No worries. I couldn't reply earlier. As others assumed it was a typo/mistake. There should be Crossing. Corners and other set pieces were ruled out from the model since they affected the results - mostly penalties.
As said in the post, at this scale it can only be anecdotal evidence but it worked with replacing my main goalkeeper so I hope it will also work for other positions.

If I could change anything I'd redo the experiment with only newgens since we know there are issues with for example Fullbacks/Wingbacks lacking decent Crossing attributes. It would be interesting to see how the model behave on the completely 'new' data regarding players. But in the end I think most players don't go over 10 years with their saves so this model should be good enough.
kvasir said: Damn. How come the difference is so big between this test and the FM-Arena one when it comes to corners?

We use vastly different method.
As far as I understand FM Arena attribute test has a testing league where they change certain attribute for every player in one team in that league and check the difference it makes.
It's overall very good method.
I think mine could be called closer to 'real' game environment - since I use data from 'real' leagues. So very simplified explanation is that players in certain position that have high Crossing attribute have high ratings. That's basically it.
So the model pick that attribute as the one that correlates in those positions with player rating - so according to the model the higher the crossing the better player rating.
If we give high crossing to every player it's kind of useless because a lot of position/roles do not utilize this.
FM Arena attribute test looks for attributes that have highest impact on 'universal' level so they look for attributes that will benefit for the whole team, not just single player or single position.
FREVKY said: I believe there is a typo in DC coefficient:

It should be 0,015882, right?

Also you said:

But I can see that crossing is still a valid coefficient in your lists on a number of positions. Did you mean corners by any chance?


Indeed. Thank you for noticing this. This should be with additional 0. Fixed in the main post.
Second one also yes. I meant corners not crossing.
Bafici said: Maybe we can makea genie scout ratings file again based on this :D

I don't see why not. It looks like an easiest application of this coefficients.
I used just a spreadsheet but I understand how slow it can be to read and write each players attributes. I'm using only in-game scouting to look for players and made a preselection before I calculated their 'score'. So when I ended up with like 5-6 GKs and my current one as a benchmark it wasn't that much of a work.
Cptbull said: So key_headers (headers that become goals?) the attributes used by the engine is Positioning and Jumping Reach only? I guess bounce I just a bad translation.

Frankly at this point I wouldn't be surprised. That would also explain why it's always the CBs that are scoring headers from corners and not for example forwards.
Zippo said: QUESTION: Does the Preferred Foot matter for Inside Forwards in FM24?
ANSWER: No, it seems doesn't matter.


No data to prove this but I had the same feeling while starting my Inside Forwards where some of them can play both wings but are proficient with only one foot. I didn't feel any drop off in their ratings/results.
Great job for providing an evidence for this.
​Introduction

Hello everyone. We're back again with a new experiment regarding most important attributes for each respective position in FM24. It's based on the same methodology as in these two topics regarding Outfield players in FM23 and Goalkeepers in FM24. The difference is this time we'll get most important attributes for all positions in the game and their coefficients.

Game setup and testing environment

Game setup and testing environment is exactly the same as in the Goalkeepers in FM24 topic. Just this time we've selected only the players for each respective position.

Results

Instead of using all 3 models, due to their similarities, I decided to use only polynomial regression to get 8 key attributes for each position. The number of attributes was selected arbitrary so the number is not too high, since most of attributes will have very minor coefficients, and not to small, so we have more attributes to compare our players.

The attributes that were excluded from the model are - Corners, Free Kick Taking, Penalty Taking, Long Throws. It was decided due to those attributes affecting the outcome. Penalty takers, no matter the position, are expected to get higher ratings due to their goalscoring potential. The same applies to other set pieces that allow players to get more goals or assist, hence higher ratings, no matter their respective position.

The 'side' positions, like ML and MR were merged since the side aspect should not affect player ratings.

The results are listed below:

GK   
Attribute    Coefficient
Agi        0,014640
Ref        0,012837
Aer        0,011812
Thr        0,007465
Com        0,007436
Han        0,006255
Dec        0,005089
TRO        -0,003310

DLR   
Attribute    Coefficient
Pac        0,018991
Jum        0,014582
Acc        0,012670
Ant        0,012269
Cnt        0,009911
Dri        0,008246
Cmp        0,007720
Cro        0,006812

DC   
Attribute    Coefficient
Jum        0,022608
Pac        0,0158820
Acc        0,013536
Wor        0,010819
Ant        0,010326
Pos_x        0,008864
Pas        0,008826
Cnt        0,008358

WBLR   
Attribute    Coefficient
Pac        0,019196
Acc        0,018585
Jum        0,013761
Cmp        0,011762
Vis        0,010025
Cro        0,009596
Wor        0,008166
Det        0,005121

DMC   
Attribute    Coefficient
Acc        0,020572
Ant        0,013047
Sta            0,010352
Jum        0,009796
Cmp        0,009470
Pas        0,009114
Lon        0,007952
Dri        0,007338

MLR OLD VALUES 
Attribute    Coefficient
Pac        0,022852
Acc        0,018679
Dri        0,016960
Tec        0,013665
Jum        0,010993
Vis        0,010804
Cnt        0,009576
Acc Agi        0,003329

MLR NEW VALUES
Attribute Coefficient
Pac    0,020497
Dri    0,014018
Acc    0,012883
Cmp    0,012072
Vis    0,011542
Jum    0,011150
Cro    0,010598
Sta    0,009658


MC   
Attribute    Coefficient
Ant        0,014011
Acc        0,012595
Cmp        0,012589
Pac        0,012156
Cro        0,010100
Dri        0,008134
Jum        0,007918
Str        0,006528

AMLR   
Attribute    Coefficient
Pac        0,023458
Acc        0,019640
Ant        0,015160
Cro        0,014857
Dri        0,013533
Jum        0,013029
Tec        0,012662
Cmp        0,012295

AMC   
Attribute    Coefficient
Pac        0,016763
Acc        0,016348
Cnt        0,013697
Cmp        0,012813
Tec        0,011647
Lon        0,009914
Jum        0,009524
Dri        0,008679

STC OLD VALUES   
Attribute    Coefficient
Jum        0,024768
Pac        0,021030
Acc        0,015754
Cnt        0,014398
Dri        0,012353
Vis        0,011814
Bal        0,010338
Jum^          0,002953

STC NEW VALUES
Attribute Coefficient
Jum    0,020557
Pac    0,020096
Acc    0,014496
Cnt    0,013675
Bal    0,012043
Dri    0,010739
Vis    0,009392
Cmp    0,009161


How to use it?

This attributes coefficients regards difference between players actual attributes and their league average - but since we are comparing players that will potentially play in the same league we don't have to care about it. The results will be a little bit skewed towards attributes with higher coefficients but for our purpose it's acceptable.

Take any position - for example GK. Take given attribute value and multiply it by coefficient - for example 10 Agi * 0,014640 = 0,14640. Do the same for all other attributes listed. Sum the results. This is your player 'score'. You can use your existing player as a benchmark. Look for other players in your scouting view and calculate score for every one of them. Pick a player that has the highest score.

Disclaimer

If there are 2 attributes listed, like for example 'Acc Agi' for the MLR multiply those by themselves, then square it and then use coefficient ( SQR(Acc * Agi) * Coeff). Jum^ is the power of two (so SQR(Jum * Jum) * Coeff).

Attributes names are corresponding with their English naming.

Pos_x is Positioning.

TRO is 'Rushing out (Tendency) - it's just how FM names that attribute when exporting.

Example of usage

I've use this method recently to find a replacement for the goalkeeper that wanted to leave. I've found one that had little bit higher 'score' than my current goalkeeper so in theory should be proper replacement. This is the result.

Old goalkeeper that I had to sell at the beginning of the season:



And his replacement results



Keep in mind that we had a recent promotion so previous goalkeeper rating of 6,91 was in 'weaker' environment while our current goalkeeper rating of 6,95 is in higher division.


I hope you had a good reading and will find this method useful for finding a proper replacements for your other players.

[edit]

Just out of curiosity - since I have quite limited time to play the game - if you use this method please share some results if you'll find them interesting - not matter if it proves the model or negates it. Feedback about model not being right is also important for model evaluation.

[edit2]

Recalculated results for STC and MLR to use only linear coefficients to remove the issue with double attributes being used in the model.

[edit3]

NEW MATCH ENGINES UPDATE!

I've made similar simulations for the new match engines.
Method was the same like for the original model. 11 season were simulated for each match engine using exactly the same setup as original project - it was actually simulating further in the game (from year 2033 to 2044).
Methodology is also the same. I calculated 8 attributes for each position with their respective coefficients ranked descending.
The list of engines and their respective results are listed below:

Asian Fusion

GK
Attribute    Coefficient
Agi    0,013862
Ref    0,01223
Aer    0,011153
Dec    0,007721
Com    0,006883
Thr    0,005364
TRO    -0,004394
Wor    0,003918

DLR
Attribute    Coefficient
Acc    0,014419
Pac    0,01425
Jum    0,012579
Ant    0,011949
Cmp    0,010953
Cnt    0,010615
Agi    0,00894
Cro    0,006053

DC
Jum    0,020336
Acc    0,013794
Cnt    0,012809
Ant    0,012786
Pac    0,011036
Agi    0,007869
Dri    0,007604
Vis    0,007175

WBLR
Pac    0,020999
Acc    0,01613
Ant    0,014263
Cmp    0,01227
Jum    0,011309
Cro    0,009785
Nat    0,00598
Bal    0,005673

DMC
Attribute    Coefficient
Pac    0,015115
Acc    0,014695
Ant    0,009336
Jum    0,008994
Cnt    0,008862
Pas    0,008854
Dri    0,008205
OtB    0,007905

MLR
Attribute    Coefficient
Pac    0,020733
Acc    0,017484
Ant    0,014751
Dri    0,011262
Vis    0,010851
Cro    0,009974
OtB    0,009782
Jum    0,009303

MC
Attribute    Coefficient
Pac    0,015818
Acc    0,013322
Dri    0,010707
Cmp    0,010609
Cnt    0,009394
Ant    0,009217
Lon    0,008809
Jum    0,006312

AMLR
Attribute    Coefficient
Pac    0,023192
Acc    0,020691
Ant    0,015043
Dri    0,013602
Cro    0,012183
Vis    0,012012
Tec    0,011933
Jum    0,011169

AMC
Attribute    Coefficient
Pac    0,0202
Acc    0,014382
Cnt    0,011833
Ant    0,011825
Fla    0,011125
Dri    0,010094
Lon    0,010083
Jum    0,007762

STC
Attribute    Coefficient
Pac    0,021063
Ant    0,015483
Acc    0,015151
Jum    0,014779
Fla    0,013387
Cnt    0,012599
Dri    0,01092
Cro    0,009355

ALL (model including outfield players from all positions)
Attribute    Coefficient
Ant    0,014785
Pac    0,013272
Acc    0,01191
Jum    0,011831
Agi    0,009973
Lon    0,007401
Cmp    0,006749
Dri    0,006559

FMTweak

GK
Attribute    Coefficient
Agi    0,012505
Aer    0,011164
Ref    0,010801
Com    0,006723
Han    0,00641
Thr    0,006367
TRO    -0,006245
Pac    0,004643

DLR
Attribute    Coefficient
Acc    0,013597
Jum    0,01306
Pac    0,012236
Ant    0,011565
Agi    0,009327
Fir    0,008223
Cmp    0,007745
Cnt    0,007133

DC
Attribute    Coefficient
Jum    0,01907
Acc    0,015935
Agi    0,012246
Pos_x    0,010717
Cnt    0,01056
Ant    0,008858
Vis    0,008293
Fla    0,007868

WBLR
Attribute    Coefficient
Pac    0,017325
Ant    0,012306
Jum    0,011456
Cmp    0,011074
Agi    0,01054
Tec    0,009274
Acc    0,008873
Dri    0,008574

DMC
Attribute    Coefficient
Pac    0,014999
Acc    0,013865
OtB    0,012342
Ant    0,010224
Jum    0,00853
Pas    0,00806
Vis    0,007703
Wor    0,007163

MLR
Attribute    Coefficient
Pac    0,021969
Acc    0,016877
Ant    0,016714
OtB    0,015771
Pas    0,013718
Dri    0,010168
Cro    0,008961
Jum    0,008427

MC
Attribute    Coefficient
Pac    0,01696
Dri    0,01232
Acc    0,010894
Cmp    0,010411
Ant    0,010086
Vis    0,009814
Cro    0,009064
Jum    0,006533

AMLR
Attribute    Coefficient
Pac    0,025619
Acc    0,017786
Vis    0,015335
Tec    0,014416
Dri    0,014384
Cro    0,010459
Jum    0,009989
Cnt    0,009832

AMC
Attribute    Coefficient
Pac    0,019289
Acc    0,018151
Ant    0,015457
Tec    0,015131
Pas    0,012255
Cnt    0,009733
Lon    0,009488
Jum    0,007665

STC
Attribute    Coefficient
Pac    0,021277
Ant    0,013547
Jum    0,013172
Agi    0,011111
Dri    0,010546
Cro    0,009884
Cnt    0,009881
Bal    0,007499

ALL
Attribute    Coefficient
Agi    0,015292
Acc    0,014105
Vis    0,012979
Jum    0,010721
Pas    0,009205
Dri    0,007296
Lon    0,007237
Fla    0,005854

FM Genie Scout

I've also prepared Genie Scout ratings for all 3 models (Google Drive Link).
Disclaimer:
- negative attributes like Rushing Out (Tendency) are not included since Genie Scout does not support negative coefficients
- GK is GK, there is no Sweeper
- MLR is Winger
- AMLR is Fast Striker
- STC is Target Striker
- ALL is not included

Excel sheet with all the coefficients and calculated Weights
Interesting finding especially since it's very different from results of my test - while for the outfield players in general the results with that method were similar.

Tl;dr in my test the most important attributes were Agility, Reflex, Aerial Reach, Composure and Decision. Maybe the target variable is the difference here since as far as I remember you use goal difference while I used average rating.

[edit]
Ok, nvm. I don't know how I misread your post and didn't noticed Reflex and Agility. I might've focused on Pace/Vision/Technique and that's where I misread things.

[edit2]
One interesting thing that I'd like to add. According to correlation matrix there is negative correlation between GK's height and acceleration, agility and pace so on one hand we want a GK that is not that tall, to have those higer but also high enough to have high aerial reach. That would be interesting where is the best height (statistically) to balance those things.
What do you think about Team Cohesion?
Asking because I've played a whole season with almost the same players and yet we have like 'neutral' for team cohesion. Would adding a 1 team bonding session to the training schedule mess up with the things?
In my FM23 experiment Flair also had a little negative correlation with player rating while Technique was the lowest coefficient non-hidden attribute (except Flair).