FBref Scouting Report

Scouting Reports compare a player's statistics to other players at their position over a specific amount of time. Each statistic is ranked as a percentile based on how it compares to other players. Any player who has reached a minimum amount of playing time in a competition with Opta data receives a scouting report.

On a player's main page, we show a summary of the player's scouting report. This includes about 20 statistics we chose based on feedback from users and industry experts. We decided to show the same set of statistics for all outfield players regardless of their position for a few reasons. First, we felt this set of statistics covers all aspects of play (attacking, ball progression, possession, defense, etc) and can be applied to all outfield players. We also felt that keeping the statistics consistent from position to position allows users to become familiar with the scouting report layout, leading to less confusion.

For leagues that play end of the competition playoffs, we have excluded those statistics from these calculations.

FBref.com Logo Kylian Mbappé Scouting Report

Scouting Report Types and Competitions

FBref includes scouting reports based on the last 365 days and each individual domestic league season. We also separate "last 365 days" scouting reports into three competition groups. Players are only compared to other players in their competition group. These groups are:

We felt that using the last 365 days is a good amount of time to determine the quality of a player. One issue that comes with using a specific season is that samples are too small to have a reliable measurement early in a season. Using the last 365 days provides built-in weighting, so that as the current season progresses, the sample relies more on the current season and less on the previous season. We understand that many users would like to look at a specific season, which is why we also include scouting reports for individual domestic league seasons. These scouting reports can be found by clicking on the "Complete Scouting Report" link.

There are some players whose clubs are currently participating in competitions from multiple groups. For example, a player in the Dutch Eredivisie may also be in the UEFA Champions League, meaning they could have a scouting report from multiple groups. There are also players who have switched clubs during the last 365 days, which may lead to them having played games from competitions in multiple groups. In this case, we prefer to display the scouting report from the group of their current club. To account for these situations, we determine which scouting report to display on a player's main page by using this prioritization:

Position Sets

Players are grouped into six position sets:

Comparison Pools

Comparison pools are groups of players in each position set who are used when calculating percentiles. To be included in a comparison pool, players need to reach a minimum number of minutes played at that position. These minimums have been set to balance the need to ensure that only players with an adequate amount of playing time are included, but also so that there are enough qualified players in the pool.

Our goal was to be as granular as possible with the positions, while also making sure each position includes an adequate number of players in the comparison pool. For example, separating Midfielders into Defensive, Central, Attacking and Wide Midfielders caused each comparison pool to include too few players. Instead, we combined Defensive, Central and Wide Midfielders into "Midfielders" and Attacking Midfielders and Wingers to another position set. Similarly, Wingbacks are included in the Fullbacks position set.


Percentiles are calculated by comparing a player's statistics to the players in the comparison pool. For example, when calculating the Goals percentile for Kylian Mbappé, we find the percentage of Forwards whose goals are lower than his, and the percentage of Forwards whose goals are lower than or equal to his. The average of these two percentages is his Goals percentile.

To be considered for a scouting report at each position, a player needs to reach a minimum number of minutes played at that position. Some players may meet the mimimum to have a scouting report, but don't have enough minutes to be in the comparison pool. This is done so that more players have scouting reports, but also so that players that do not meet the pool minimum do not affect the comparison pool.

Note: Minutes at a position are calculated using Opta formation data, which includes starting XI formations and formations from in-game tactical changes.

There are some statistics where a lower value is considered better, such as goals allowed for Goalkeepers. In these cases, the lower value is given a high percentile and vice versa.

Possession Adjustments

The statistics used in scouting reports are not currenlty adjusted for possession. However, we do have plans to implement a possession adjustment in the future.

Complete Scouting Report

In addition to the scouting report summary on the main player pages, we also include complete scouting reports, which include percentiles for all statistics. These statistics are grouped and ordered as you would normally see them on our statistic tables.

Similar Players

For each player with a scouting report, we provide a list of up to 10 players who display similarities in their statistical profile. The calculation to determine similarities uses the statistics in the scouting report summary on each player's main page. The players who have the smallest differences in percentiles are considered the most similar. Currently, all statistics are treated equally in the similarity calculation with no statistic weighted more heavily or given more importance than another.

Minimum Minutes

Minimum Minutes Table
Time Frame Comp Report Pool
Last 365 DaysWomen's Top 9 Competitions4501350
Last 365 DaysMen's Big 5 Leagues, UCL, UEL4501350
Last 365 DaysMen's Next 14 Competitions4501350
SeasonSérie A450450
SeasonMajor League Soccer450450
SeasonChampions League180180
SeasonEuropa League180180
SeasonEuropean Championship180180
SeasonCopa América180180
SeasonPremier League450450
SeasonSerie A450450
SeasonLa Liga450450
SeasonLigue 1450450
SeasonSegunda División450450
SeasonSerie B450450
SeasonLiga Profesional Argentina450450
SeasonLiga MX450450
SeasonPrimeira Liga450450
Season2. Bundesliga450450
SeasonBelgian First Division A450450
SeasonLigue 2450450
SeasonWomen's Super League450450
SeasonSerie A450450
SeasonNWSL Challenge Cup450450
SeasonNWSL Fall Series180180
SeasonCopa Libertadores180180
SeasonChampions League180180
SeasonDivision 1 Féminine450450
SeasonEuropa Conference League180180
SeasonWomen's World Cup180180
SeasonCopa de la Liga Profesional180180
SeasonLiga F450450
SeasonWorld Cup180180
SeasonUEFA Women's Euro180180