Player xG Instructions

The player xG tool will

  • Return the xG of football players in all primary and secondary football leagues
  • Monitor the price movement after Team News, and report on % change (> 100% = steamer, < 100% = drifter)
  • From player xG – return 2+ and 3+ goals for all players based on an inhouse probability distribution constructed through an assessment of 20 years of Premier League multiple-goal scorers.
  • From player xG and match xG – First Goalscorer Fair Odds (as calculated by bookiebashing. This may be different to the exchange when there is bias or efficiency on the exchange, alloowing for an exploit).
  • Return the BFx First Goalscorer Fair Odds and the EV compared the the bookiebashing price. We have begun an exercise to monitor the ROI of these exchange bets. 
  • Double Delight and Hattrick Heaven back odds and EV  (calculation can be toggled by BB FGS or BFx FGS)
  • Player to score first half, second half, both half, any custom time (via the betbuilder)
  • Scorecast Model – Fair odds for Scorecast, Wincast, Anytime Scorecast and Anytime Wincast
  • Team News – Team news will arrive approximately 1 hour before kick off. Players that do not start will have 0 xG assigned and will drop off the trackers. Players that do start will have their xG normalised to equal the Team xG.
  • Team news is not available for every competition, but it is available for the EPL, Championship, Serie A, Bundesliga, Ligue 1, La Liga, Eredivisie, Brazil Serie A, Champions League and Euros.  
  • The user can define how many goals are scored by substitues.
  • Labels on the main page of the player xG tool will allow the user to see which games have lines for Scorecast models, DDHH, Inplay DDHH and whether team news has been received.

The BookieBashing Player xG Calculation

  1. As with all tools and trackers we benchmark from live markets. We don’t price up Player xG ourselves.
  2. The tool takes the “Fair Odds” of Anytime Goalscorer and uses a reverse poisson distribution to determine the Player xG.
  3. The “Fair Odds” will be the traded exchange price (if there has been any trading) or the best bookie price with appropriate margin markup (if there has been no trading). However if the Available Back Price on the exchange is higher than the BBP price then this will be used instead.
  4. The “Fair Odds” will switch automatically from Best Bookie Price (BBP) to the exchange odds once exchange liquidity comes available.
  5. 2+ and hattrick is calculated by an in-house probability distribution using the players mean expected goals (xG).
  6. A player to score by time period is calculated using the goal time distribution available in the Sports Strategies.
  7. The scorecast model considers the player xG and the probability of the correct score from the Game Centre.
  8. After team news, the xG of each player is normalised to equal the Team xG. The xG of substitutes is user defined in a field at the top of the page. The default xG assigned to subsitutes is 9.5%, an estimation determined by the goals scored by substitutes in a dataset of large number of games where 5 substitutes were allowed.


We want to take advantage of:

  1. 2+ and 3+ in primary and less looked at secondary games
  2. FGS, 2+ and 3+ goals in games without exchange markets
  3. Formalise DDHH EV bets
  4. Search for value on the exchange in biased and/or inefficient markets.
  5. Quickly identify steamers for those that like to bet on such a strategy.
  6. Scorecast, Anytime scorecast, Wincast and Anytime wincast at both the bookmaker and the exchange.
  7. Anytime goalscorer edges at the bookmaker and the exchange after team news has been announced.


  • The Alpha release tool is limited to the Premier League, Championship, League 1, League 2, Serie A, La Liga, Bundesliga and Ligue 1. This will be extended in the near future
  • Errant lays are set to be captured by using a rule that will dismiss any exchange trade that is more than 50% above or below the best bookmaker price. However if there are two or more trades at this level then the price will switch to the exchange price.
  • Player data is taken from numerous data sources. Data sources can have different spellings for the same player. It is possible that a player appears twice in the tool with two different numbers as a result of this. We will attempt to catch each of these incidents as they happen but this is a manual process and so some may slip through. The higher xG will be the reliable figure.
  • The betbuilder does not have any inclusivity co-efficients built in to it. The fair odds of two players scoring in a single game is not simply the product of the odds of both individual players, but the betbuilder may return this calculation.
  • After team news Price Movement will be identified on the game page of the tool. A player starts at 100%. At 110% the players price has steamed by 10%. At 90% a players price has drifted by 10%. Betting on steamers is a strategy for some who follow the logic that smart money is shaping the market as a result of an unexpected formation or lineup, and a player that starts to steam in may be a value bet that beats the closing line.

Risk of Player Not Starting

Pre team news every player has a risk of not starting. This risk carries a tangible threat to the value of any bet you place before team news. Many people (including this author) accept this risk and for the most part ignore it, however it is important you understand the risk involved with “Player scoring” bets.

  • Team news occurs 1 hour before kick off.
  • Before team news a player may be 99.9% certain to be in a lineup, 0% certain to be in a lineup or anywhere in between.
  • If a player starts on the bench and comes on at any point his Anytime Goalscorer bet will be live. If a goal has been scored, his First Goalscorer bet will be Void.
  • If a player plays no part of the match, the bet will be void.
  • The bookmaker price contains no consideration of the risk of a player not starting.
  • If a players xG at the bookmaker is 0.2 but he is only expected to come on as a late substitute then the exchange player xG could be 0.05.
  • The exchange price will contain consideration of the risk of a player not starting.
  • At the moment the player xG tool does not consider this risk. The risk can be mitigated (1) by only betting after team news, (2) only betting on players with an very high certainty of being in the starting lineup.
  • Players that do not start after the lineup is announced will be allocated 0 xG, regardless of the likelihood of them being substituted on.