Season Highlights
A brief look to your entire season stats per player
Loading the data can take a few seconds.
Predicted / Realized Performance
Decision making quality compared to actual outcome
Predicted
Realized
In the tables below, it is assumed that the FPLReview predicted values are true expectations.
Therefore, any outcome up to the predictions is measured as "skill" and remaining difference (above or below) is measured as "luck" even though this might not be actually true.
The aim here is to evaluate decision making quality, and see how much unpredicted outcomes have affected your season, either good or bad.
"Diff" refers to point difference between you and the tier average you have selected.
Even if GW ends up with more or less points than predicted, we expect difference to be around the pre-GW prediction.
GW-by-GW values
GW | Pred. Pts | Real. Pts | Pred. Diff | Real. Diff | GW Luck | GW Rank |
---|---|---|---|---|---|---|
{{ v.gw }} | {{ rounded(v.xp) }} | {{ (v.rp) }} | {{ rounded(v.exp_diff) }} | {{ rounded(v.real_diff) }} | {{ rounded(v.luck) }} | {{ team_data[v.gw].entry_history.rank }} |
GW | Pred. Pts | Real. Pts | Pred. Diff | Real. Diff | GW Luck | GW Rank |
Total values
GW | Pred. Pts | Real. Pts | Pred. Diff | Real. Diff | Luck | OR |
---|---|---|---|---|---|---|
{{ v.gw }} | {{ rounded(v.total_xp) }} | {{ (v.total_rp) }} | {{ rounded(v.total_exp_diff) }} | {{ rounded(v.total_real_diff) }} | {{ rounded(v.total_exp_real_diff) }} | {{ team_data[v.gw].entry_history.overall_rank }} |
GW | Pred. Pts | Real. Pts | Pred. Diff | Real. Diff | Luck | OR |
Skill/Luck Magnitude Proportion
GW | GW Skill | GW Luck | Total Skill | Total Luck |
---|---|---|---|---|
{{ v.gw }} | (-) {{ Math.abs(v.skill_ratio) }}% | (-) {{ Math.abs(v.luck_ratio) }}% | (-) {{ Math.abs(v.total_skill_ratio) }}% | (-) {{ Math.abs(v.total_luck_ratio) }}% |
GW | GW Skill | GW Luck | Total Skill | Total Luck |
Team of the Year
Your top scoring players of the season
All squad players and their point returns
ID | Name | Pos | Lineup | Bench | Capt | Points | Gain Pts |
---|---|---|---|---|---|---|---|
{{ p.id }} | {{ p.name }} | {{ element_type[p.position].short }} | {{ p.lineup_count }} | {{ p.squad_count - p.lineup_count }} | {{ p.cap_count }} | {{ p.points_total }} | {{ p.points_total_rel }} |
Points Analysis per Player
Impact of each player on your season - realized and predicted
The prediction values are courtesy of FPLReview Free Model
Total realized gain / loss per player
Name | Team | Pos | Pts | Gain | Loss | Net | Impact |
---|---|---|---|---|---|---|---|
{{ fpl_element[p.id].web_name }} | {{ team_codes[fpl_element[p.id].team_code].short }} | {{ element_type[fpl_element[p.id].element_type].short }} | {{ p.points }} | {{ rounded(p.gain) }} | {{ rounded(p.loss) }} | {{ rounded(p.net) }} | {{ rounded(p.impact) }}% |
Total predicted gain / loss per player
Name | Team | Pos | xPts | xGain | xLoss | xNet | xImpact |
---|---|---|---|---|---|---|---|
{{ fpl_element[p.id].web_name }} | {{ team_codes[fpl_element[p.id].team_code].short }} | {{ element_type[fpl_element[p.id].element_type].short }} | {{ rounded(p.xpoints) }} | {{ rounded(p.xgain) }} | {{ rounded(p.xloss) }} | {{ rounded(p.xnet) }} | {{ rounded(p.ximpact) }}% |
Total luck per player
Name | Team | Pos | Net | xNet | Luck | Impact |
---|---|---|---|---|---|---|
{{ fpl_element[p.id].web_name }} | {{ team_codes[fpl_element[p.id].team_code].short }} | {{ element_type[fpl_element[p.id].element_type].short }} | {{ rounded(p.net) }} | {{ rounded(p.xnet) }} | {{ getWithSign(p.luck) }} | {{ rounded(p.luckimpact) }}% |
Team Picks over Season
A visualization of your picks per position
Points by Acquisition Type and Decision Age
Details about where points originated with decision age details
Point Distribution
Distribution of your points from each type
Total counts of key events per GW
GW | Clean Sheet | Goal | Assist | Bonus | Hits | Points |
---|---|---|---|---|---|---|
{{ p.gw }} | {{ p.info.type_sums['clean_sheets'] || 0 }} {{ p.info.type_names['clean_sheets'] || '' }} | {{ p.info.type_sums['goals_scored'] || 0 }} {{ p.info.type_names['goals_scored'] || '' }} | {{ p.info.type_sums['assists'] || 0 }} {{ p.info.type_names['assists'] || '' }} | {{ p.info.type_sums['bonus'] || 0 }} {{ p.info.type_names['bonus'] || '' }} | {{ p.hit_pts/4 }} | {{ p.net_pts }} |
Point distribution per event type
Type | Count | Total | Per Player | Points | Percentage |
---|---|---|---|---|---|
{{ player_stat_types[key].name }} | {{ player_stat_types[key].pp ? value.length : "-" }} | {{ getSum(value.map(i => parseInt(i.value))) }} | {{ player_stat_types[key].pp ? rounded(getSum(value.map(i => parseInt(i.value))) / user_stats_per_gw.total_picks,2) : "-" }} | {{ getSum(value.map( i=> parseInt(i.points * i.multiplier))) }} | {{ rounded(getSum(value.map( i=> parseInt(i.points * i.multiplier))) / user_stats_per_gw.overall_total * 100, 1) }}% |
Hits | {{ user_stats_per_gw.points?.filter(i => i.hit_pts > 0)?.length || '' }} | {{ (getSum(user_stats_per_gw?.points?.map(i => i.hit_pts) || [0]))/4 }} | {{ -getSum(user_stats_per_gw?.points?.map(i => i.hit_pts) || [0]) }} | {{ rounded(-getSum((user_stats_per_gw?.points?.map(i => i.hit_pts)) || [0]) / (user_stats_per_gw?.overall_total || 1) * 100, 1) }}% | |
Total | {{ user_stats_per_gw?.overall_total || 0 }} |
Detailed points returns per event type and GW
Target Event Ratios
Success ratio on defense/attack picks
Target | Success | Picks | Success Ratio | Info |
---|---|---|---|---|
{{ key }} | {{ v.count }} | {{ v.total }} | {{ rounded(v.count / v.total * 100, 2) }}% | {{ v.info }} |
Enter a team ID to compare
Success and returns out of key stats
GID | GW | Player | Pos | Stat | Pts | Success |
---|---|---|---|---|---|---|
{{ p.fixture }} | {{ p.gw }} | {{ p.name }} | {{ element_type[p.eltype].short }} | {{ key }} | {{ p.returns }} | {{ p.success ? "True" : "False"}} |
GID | GW | Player | Pos | Stat | Pts | Success |
Timings of ownership
Time periods of owning your key players
Ownership / Differential Analysis
Gains and losses from key players
GW
GW Gain
GW Loss
Top Gains
Top Losses
Gain Analysis
GW | Player | Points | Mult | EO% | Net Effect |
---|---|---|---|---|---|
{{ pair.gw }} | {{ fpl_element[pair.id].web_name }} | {{ pair.pts }} | {{ pair.multiplier }} | {{ pair.eo }}% | {{ rounded(pair.net,2) }} |
GW | Player | Points | Mult | EO% | Net Effect |
This table shows your lineup picks, their corresponding points per week and your relative gain. Gain is equal to points multiplied with your ownership rate (Multiplier * 100 - EO), which shows you the relative gain compared to field average.
Loss Analysis (Key Players)
GW | Player | Points | EO% | Net Effect |
---|---|---|---|---|
{{ pair.gw }} | {{ fpl_element[pair.id].web_name }} | {{ pair.pts }} | {{ pair.eo }}% | {{ rounded(pair.net,2) }} |
GW | Player | Points | EO% | Net Effect |
This table shows players you haven't picked, their corresponding points per week and your relative loss. Loss is equal to points multiplied with effective ownership rate (EO), which shows you the relative loss compared to field average.
Risk Analysis
GW
Differential Rate
Change
Top Bets For
Top Bets Against
This scatter plot shows your relative change to average and your differential (risk) percentage. This value is calculated based on how different your lineup compared to tier effective ownership. It is a measure of how much you are betting against the template.
Transfer Quality Analysis
A review of transfers with hindsight/foresight analysis
Comparison of predicted/realized points in following 5 GWs (excluding hits)
Hindsight Optimal Ratio
{{ transfer_analysis.hs_ratio }}
{{ transfer_analysis.hs_ratio }}
Foresight Optimal Ratio
{{ transfer_analysis.fs_ratio }}
{{ transfer_analysis.fs_ratio }}
Avg. Transfer xP Optimality
{{ rounded(transfer_analysis.tr_optimality,1) }}%
{{ rounded(transfer_analysis.tr_optimality,1) }}%
GW | Range | Sold | Bought | rP Diff | xP Diff | Hindsight Optimal | Foresight Optimal | xP Optimality |
---|---|---|---|---|---|---|---|---|
{{ entry.gw }} | {{ entry.gw_list }} | {{ fpl_element[entry.sold].web_name }} |
{{ fpl_element[entry.bought].web_name }}
{{ entry.bought == entry.best_xp.id ? "FS Optimal" : "" }}
{{ entry.bought == entry.best_rp.id ? "HS Optimal" : "" }}
|
{{ getWithSign(entry.rp_diff,0) }} | {{ getWithSign(entry.xp_diff,1) }} |
{{ entry.best_rp.web_name }}
rp Diff: {{ getWithSign(entry.best_rp.rp_diff, 0) }}
xP Diff: {{ getWithSign(entry.best_rp.xp_diff, 1) }}
|
{{ entry.best_xp.web_name }}
rp Diff: {{ getWithSign(entry.best_xp.rp_diff, 0) }}
xP Diff: {{ getWithSign(entry.best_xp.xp_diff, 1) }}
|
{{ entry.xp_ratio }} |
Team / Opposition Analysis
Stats about players picked from teams and played against opposition
Team | Played For | Points For | For Percentage | Played Against | Points Against | Against Percentage | |
---|---|---|---|---|---|---|---|
Position / Price Category Analysis
Total points per position and price category
Price categories (Budget, Mid-Price, Premieum) are as follows: GK Below 5, 5-5.5, Above 5.5 - DF Below 5, 5-6, Above 6 - MD Below 7.5, 7.5-10, Above 10 - FW Below 7.5, 7.5-10, Above 10
Point Distribution Treemap (Gain)
Gain is equal to points multiplied with your ownership rate (Multiplier * 100 - EO), which shows you the relative gain compared to field average.
Point Distribution Treemap (Effective Loss)
Loss is equal to points against multiplied with effective ownership rate, which shows you the relative loss compared to field average.
Formation Analysis
Chosen formations and returns
Position | Picked (GW) | Games | Points | Points per pick (GW) | Points per game | Average pick |
---|---|---|---|---|---|---|
{{ element_type[key].name }} | {{ value.picked }} | {{ value.games }} | {{ value.points }} | {{ rounded(value.ppp,2) }} | {{ rounded(value.ppg,2) }} | {{ rounded(value.avg_pick,2) }} |
Average Formation:
{{ rounded(value.avg_pick,2) }} -
Performance per formation type (after auto-sub)
Formation | Picked | Points | Average Pts |
---|---|---|---|
{{ value.formation }} | {{ value.count }} | {{ value.points }} | {{ rounded(value.avg, 2) }} |