Predicting Football Manager Player Trajectories
Now, with the FMDataLab Role Scores Table, you can view a player's potential trajectory role scores for each of their playable roles, throughout their career.There are four potential trajectories that you can use to predict a player's future role scores.
What are the 4 potential trajectories?
There are four potential trajectories designed to cover all projections for a player, based on their current score in a role and their current age:
Upper Trajectory:
For players that may have very high potential ability and expect rapid growth year-on-year.
Above Average Trajectory:
For players that may have a high potential ability and expect an above average score increase year-on-year.
Median Trajectory:
For players that have an average potential ability and expect average progress year-on-year. (Most players are likely to fall into this category, with their projected score either just above or below the Median Trajectory.)
Lower Trajectory:
For players that have a low potential ability or those failing to meet the criteria required for growth, such as, limited playing time, serious injury or poor training facilities.
Why 4 potential trajectories?
Several factors can influence a player's career progression.
If you take 4 players that are all the same age & also have identical scores for a particular role, you can find that each of those four players peak scores could vary significantly due to factors such as, but not limited to:
- Potential Ability Value.
- Training/Youth Facilities.
- Coaches Ability.
- Training & Development tailored to facilitate a role.
- Appropriate playing time relative to the player's age.
- Injury History/Proneness.
- Mentoring.
- Level of competition.
- Hidden Attributes.
- Personality.
The line chart below illustrates the trajectories of four different players, all aged 15, for the same Central Midfielder (At) role, with all four players starting with the same score. However, as you can see in the line chart below, as their careers progress, their scores diverge, as they approach the peak age for the Central Midfielder (At) role at 26 years oldhighlighting the importance of considering trajectory ranges.

How are the trajectories calculated?
Based on a dataset of circa 15,000 youth players from various Youth Intake years, and tracking the progress of each player's role scores year-on-year, we can effectively use a simple algorithm to calculate the trajectories for each role, from one age to another.
For each youth intake dataset, an export is created for each year that still has players from that youth intake actively still playing, then from each export, for each player, role scores are calculated for all the roles that, that player can play.
(The rationale behind calculating role scores only for the roles a player can play is that, for instance, when we consider a dataset of strikers, the average increase in role score from one year to another for a wing-back role might be around 0.4. However, when we analyse a dataset of wing-backs within the same age range, the average increase for the wing-back role could be as high as 1. This demonstrates that players tend to improve at a faster rate in roles they are suited for. So, including players who cannot play in a specific role can distort the projected trajectory and reduce accuracy.)Then, for each player, we calculate the year-on-year role score difference for each year they are actively playing.

With this data, we proceed to iterate through each role and, within each role, through all age ranges (e.g. from 15-16, all the way up to 38-39) we compile a list of role score differences between each age from all players.

Now that we have the total role score difference from one year to another for every role at every age, we can utilise this dataset to calculate potential trajectories.
This is accomplished by iterating through each role, then within each role, iterating through all age ranges. For each range, we compile a list of numbers representing the difference from the selected age to the following year. These numbers are then sorted in descending order.

The Upper Trajectory is the median number of the top ⅓ of the list of numbers.
The Above Average Trajectory is the median number of the top ½ of the list of numbers.
The Median Trajectory is the median number of all of the list of numbers.
The Lower Trajectory is the median number of the bottom ⅓ of the list of numbers.
This approach allows us to assess, for any given player, the trajectories for a role that the player can play. This can be achieved by using a players current score for that role and their current age. To find the trajectories for that role at that age, we add each of the four trajectory figures for the role and age, to their current score to predict their score in that role for the following year. This process is repeated for subsequent years, adding the projected accumulated score for each trajectory to the following year's projected trajectory for that role.

Let's use an example to easily visualise this trajectory calculation;
Player A is a Striker, aged 18. Their current score for a Deep Lying Forward role in the Support duty is 10.89.

The code then searches the trajectory data generated from the algorithm for the Deep Lying Forward role in the Support duty, examining the trajectories for an 18 year-old, for when they turn 19.

In this case, the Upper Trajectory is a +0.58 change, so it is predicted, with the Upper Trajectory that they may rise to 11.47 (10.89 + 0.58 = 11.47)
The Above Average Trajectory is a +0.47 change, so it is predicted, with the Above Average Trajectory that they may rise to 11.36 (10.89 + 0.47 = 11.36)
The Median Trajectory is a +0.26 change, so it is predicted, with the Median Trajectory that they may rise to 11.15 (10.89 + 0.26 = 11.15)
The Lower Trajectory is a +0.07 change, so it is predicted, with the Lower Trajectory that they may rise to 10.96 (10.89 + 0.07 = 10.96)

Additionally, each of these accumulated values for each trajectory is utilised to predict to their role score at 20 years old, by applying the same logic to the accumulated values for each trajectory at 19 years old.
So, again, the code searches the trajectory data for the Deep Lying Forward role in the Support duty, examining the trajectories for a 19 year-old, for when they turn 20.
In this case, the Upper Trajectory is a +0.45 change, so it is predicted, with the Upper Trajectory that they may rise to 11.92 (11.47 + 0.45 = 11.92)
The Above Average Trajectory is a +0.36 change, so it is predicted, with the Above Average Trajectory that they may rise to 11.72 (11.36 + 0.36 = 11.72)
The Median Trajectory is a +0.19 change, so it is predicted, with the Median Trajectory that they may rise to 11.34 (11.15 + 0.19 = 11.34)
The Lower Trajectory is a +0.06 change, so it is predicted, with the Lower Trajectory that they may rise to 11.02 (10.96 + 0.06 = 11.02)

The same logic is applied for each age, continuing until the prediction for age 38 transitioning to the age of 39.
From the dataset used, there is a player who, at 18 years old, has a Deep Lying Forward role in the Support duty score of 10.89. Thus, we can observe their career trajectory with the chart below.

Initially starting at age 15, all trajectory projections are based on their score at 15, not 18. However, it's evident that they mostly follow the Above Average Trajectory until they reach 20 years old, after which they follow more of a Median/Lower Trajectory year-on-year. At their peak (24), they align closer to the Above Average Trajectory, but at the peak age for a Deep Lying Forward in the Support duty (26), they are closer to the Median Trajectory.
This highlights that players typically won't adhere strictly to a single trajectory throughout their career; they will fluctuate or fall somewhere in between two different trajectories. Thus, it emphasises the importance of having more than one trajectory line.
How are the peak ages calculated for each role?
From the algorithm, the peak age for all roles can also be determined.
For each role, it assesses when the role score for the median trajectory would reach its highest point.

For all Goalkeeper roles, the peak age is 28 years old & for the majority of outfield roles, the peak age is 26 years old. This implies that for most outfield players, the last significant progression in a role occurs at age 25, and in many instances, players maintain a stable role score for 2-3 years before experiencing a decline.
How are the competition benchmarks calculated?
The Role Score Trajectories chart, displays several reference lines representing Competition Benchmarks.
These benchmarks aid in understanding a player's current competition level and their potential future competition level.
For each competition, role scores are determined from the Competition Benchmarks Dataset
More information on the Competition Benchmarks dataset can be found in the Competition Benchmarks Tutorial.
Do players follow these projected trajectories through their careers?
Yes...but...most players do end up close to either side of a trajectory line.
Below are some examples of players that follow each trajectory line;




Do the trajectories use the hidden 'Potential Ability Value'?
No!
Although this would give more accurate trajectories, I believe that the ambiguity of not knowing a player's potential ability adds to the fun of finding a star player with the resources you're given by the base game.
How do I view a player's potential trajectories from the table view?
When viewing any of your files, navigate to the table view. By default, player trajectories are not displayed to reduce clutter in the table view.
A new button will appear above the table, initially labelled Show Trajectories.
Clicking this button will reveal all peak Upper Trajectory scores on roles alongside the base role score for players capable of playing that role and who have not reached the peak age for that role.
Hovering over a trajectory role score will display the other potential peak role scores from the other trajectories.

If we are unable to calculate a player's role score, a icon will appear to provide details on why this is the case.
If you have custom weights for a particular role, a icon will appear to indicate that trajectory scores may not be as accurate.
Sorting and filtering on a role when trajectories are shown will use the upper trajectory role score as the value to sort/filter on, if available, otherwise, it will use the player's current score.
How do I view a player's potential trajectories chart?
While on the table view, clicking on a player's name will open the player's panel, which includes the trajectories chart.
Within the player details panel, above the chart, there is a role selection dropdown menu where you can select all the roles that the player can play. Choosing a role from the dropdown will display the player's trajectory for the selected role. By default, the role with the highest current role score is selected.
On the chart, the x-axis represents ages, starting at the player's current age and ending at 39. The y-axis indicates the role score.
The line chart consists of four lines, each representing one of the four trajectories.
Additionally, a vertical reference line appears on an x-axis tick marking the role's peak age.
Horizontal reference lines that indicate the average role score for starters across various competitions for the selected role.

Below the chart you can also view the specific benchmark scores.

Why do some players not have trajectory scores for some roles in the table view?
If the player cannot play in the position assigned to the role, their role score cannot be accurately predicted. As mentioned earlier, players typically improve at a faster rate in roles they are suited for.
The player is at the role peak age or older.
What are some of the caveats?
The trajectories are based on the default Attribute Weights. Therefore, if you have custom attribute weights, the scores may not be as accurate.
Predicting which trajectory a player will follow can be challenging, especially when assessing a player at the beginning of their career or lacking data on their previous role scores to determine their historical trajectory.
It's unlikely that a player will adhere perfectly to a single trajectory line throughout their career, but you may observe them closely following one of trajectory lines from one year to the other.
Furthermore, the trajectories do not consider a player's date of birth in relation to the in-game date of your exported data. For instance, a 20-year-old who has just turned 20 may progress differently from a 20-year-old who turns 21 the following day. The trajectories only utilise a player's current age and does not account for this variation.