<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Multi-stream Data Analytics for Enhanced Performance Prediction in Fantasy Football</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nicholas Bonello</string-name>
          <email>bonellon@tcd.ie</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Joeran Beel</string-name>
          <email>beelj@scss.tcd.ie</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Seamus Lawless</string-name>
          <email>seamus.lawless@scss.tcd.ie</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jeremy Debattista</string-name>
          <email>jeremy.debattista@adaptcentre.ie</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science and Statistics, Trinity College Dublin</institution>
          ,
          <country country="IE">Ireland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Fantasy Premier League (FPL) performance predictors tend to base their algorithms purely on historical statistical data. The main problems with this approach is that external factors such as injuries, managerial decisions and other tournament match statistics can never be factored into the nal predictions. In this paper, we present a new method for predicting future player performances by automatically incorporating human feedback into our model. Through statistical data analysis such as previous performances, upcoming xture di culty ratings, betting market analysis, opinions of the general-public and experts alike via social media and web articles, we can improve our understanding of who is likely to perform well in upcoming matches. When tested on the English Premier League 2018/19 season, the model outperformed regular statistical predictors by over 300 points, an average of 11 points per week, ranking within the top 0.5% of players - rank 30,000 out of over 6.5 million players.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Fantasy premier League (FPL) 1 is the o cial fantasy football browser game
for the English premier league, with over 6.5 million players actively
competing against each other every season aiming to accumulate the highest number
of points. Fantasy sports are continuously becoming more popular, with
Fantasy Premier League leading the way in terms of number of players per season.
Because of this rise in popularity, achieving a respectable rank is becoming
increasingly di cult, much less trying to win on either the o cial or paid leagues.</p>
      <p>In this paper we present a novel approach for recommending FPL player
selections for upcoming gameweeks that automatically incorporates human feedback
into the model through publicly available online data such as blogs written by
domain experts (Fig. 1. By considering news articles, fantasy-football
prediction blogs and even tweets using fantasy premier league speci c hashtags, our
recommender system is able to consider feedback from experts and fans alike.
These are used as additional parameters in our predictive model that enables
our model to automatically incorporate external factors such as midweek game
lineups and performances, managerial decisions, rotations and injuries together
with unexpectedly good or bad performances in previous weeks. We found that
incorporating di erent data sources signi cantly improved our various models
nal rank. The statistical model placed within the top 30% of players, improving
to top 0.5% overall rank (within top 30,000 out of 6.5 million players) when
incorporating data from betting markets and blog posts. Our recommender system
is the rst of its kind to quantify the added value of incorporating public textual
data into our predictions.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        The general inclination observed in previous works has been to use purely
historical statistical data in combination with Naive-Bayes, SVMs, Random Forests
and other ensemble methods to predict future player performances. Using strictly
historical statistical data to train a Gaussian Naive Bayes algorithm, Thapliya
was able to predict future player performances with a reported accuracy of 81%
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Using similar training data, Raghunandh found that using ensemble methods
such as Gradient Boosting Machines (GBM) could help, reporting an average
precision of 86% across the duration of an entire season when predicting player
performances [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Bonomo et. Al derived a mathematical model attempting to
predict ideal line-ups per gameweek in the Argentinian rst division [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Very
similar to our goal of predicting the optimal weekly line-ups by incorporating
previous information with knowledge gained from press-reports and manager
updates before games. The aim of this model is to build an index that can
produce reasonable representations of what will happen in future gameweeks. In
more sophisticated models, Matthews presented an innovative fantasy football
predictor that consisted of belief-state MDP models combined with Bayesian
Q-Learning algorithms to train models on the past ve years of football data [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Their most successful model used a state of the art Bayesian Q-learning model to
handle the uncertainty, placing the machine within the top 500 players out of the
2.5million participants (0.01%). The original model was naive; acting myopically
- only considering the single next gameweek. Even with all these restrictions, this
model still achieved a very respectable rank of 113,921. By extending this model
to also look back on data from the previous season, the model leaves out all the
players who did not appear but still improved performance slightly, upping the
rank to 60,633.
      </p>
    </sec>
    <sec id="sec-3">
      <title>Methods</title>
      <sec id="sec-3-1">
        <title>Gradient Boosting Machines</title>
        <p>
          Raghunandh reported that while the di erent tree models all proved to be
effective, gradient-boosting machines (GBM) proved to be the most optimal for
fantasy sport predictions [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. We report similar results, with ensemble methods
showing far higher suitability to the task when compared with alternate
supervised learning approaches such as SVMs. We found that GBMs are the most
e ective in this case, particularly due to the unbalanced data we deal with (Fig.
2).
As shown by the predictive model architectural diagram shown in Fig. 1, the
dataset we created is a combination of all the statistical data available from the
FPL API 2, betting odds retrieved through football-api 3, tweets scraped using
the tweepy library 4 and English blog-post sentiment scores for the top 100 search
results per query through the Aylien API 5 for each player, per previous match in
the current football season. The dataset is publicly available and updated weekly
6. The application automatically scrapes all the latest available data from the
di erent data sources whenever a new gameweek starts, removing all injured
players and players who did not make an appearance in the previous week. An
additional binary valued column - "isCaptain" is added, having a value of '1'
for all players having more than 6 points in the current gameweek, and '0' for
all other players. This column is the predictor variable that we attempt to
predict for upcoming gameweeks. The dataset is then split according to the player
positions; goalkeeper, defender, mid elder or forward. Depending on this role,
di erent factors will determine whether a player is in good form. For example,
defensive odd statistics are important for defenders while useless for forwards.
By visualising the importance of variables from previous model training (Fig.
2 https://fantasy.premierleague.com/
3 https://rapidapi.com/api-sports/api/api-football
4 https://www.tweepy.org/
5 https://aylien.com/text-api/
6 Anonymous
5), the most important factors can be identi ed. Once training is complete, all
the statistical, betting, and textual data for the upcoming gameweek xtures
are retrieved and passed on to the model for predictions.
3.3
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Implementation</title>
        <p>
          Multiple di erent approaches were considered and tested. Most notably di
erent machine learning algorithms including SVMs, Random Forests and GBMs
showed the most promise. However, GBMs were nally picked due to their
robustness, adaptability and proven success when predicting future FPL scores as
recommended by Raghunandh [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Models were then tested using di erent data
sources to evaluate how signi cant combining di erent data sources can be.
Ultimately we found that including tweets was not viable due to standard sentiment
analysis methods having low performance accuracy, not being able to properly
evaluate the sentiment due to spelling mistakes, emoji usages and less focus on
correct grammar (e.g. Fig. 4). Even when tweets were grammatically correct,
the football language could not be correctly understood by standard sentiment
analysis libraries. On the other hand, blogs and news articles could be more
accurately understood, likely because of their length, correct usage of grammar
and signi cantly less frequent spelling mistakes. Through named entity
extraction (NEE) we could identify the players being mentioned in these blogs and
calculate the authors sentiment on the topic (Entity based sentiment analysis)
using the Aylien API 7 [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. A web scraper with prede ned FPL speci c queries
is run and the top 100 results are analyzed. We found that considering more
blogs does not add any further value to the model and even begins to decrease
accuracy due to excess noise. This technique will be repeated every week of the
season, with the aim of predicting the best possible lineup per gameweek.The
models will be tested by running them on all the gameweeks in the Premier
League 2018/19 season, with all previous gameweek data made available to each
instance.
        </p>
        <p>The upcoming xtures market odds are then scraped and the odds converted
to likelihood probabilities. Player speci c markets such as "player to score" were
not available but could have helped in identifying the individual probabilities
rather than the entire team scoring probability.</p>
        <p>It is important to note that the rules followed by the models di ered slightly
from the real game. Since we present a recommender system, our model selects
what it believes to be the optimal lineup every week, but real FPL players are
restricted and can only transfer one new player per week without any point
penalties. This di erence means that our recommender system should be used
as an assistant providing accurate recommendations per week.</p>
        <sec id="sec-3-2-1">
          <title>7 https://aylien.com/text-api/</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Results</title>
      <p>The nal GBM was evaluated by comparing the number of points it could achieve
in individual gameweeks to purely statistical models - representing the baseline.
As shown in Fig. 6, the model that considers all the di erent data sources
outperforms the statistical model. Starting out more or less similarly, the model
bene ts from signi cant improvements as the season continues on, achieving an
average score of 63 points per gameweek while the baseline (statistical) model
only scored 52 points. Our model achieved 2314 points during testing, placing
it within the top 30,000 players out of over 6 million players this season (top
0.5%). The baseline model reached 1994 points ranking it just below the 800,000
mark (top 13%).</p>
      <p>Both models perform weakest when picking goalkeepers, with the statistical
model performing slightly better having an overall precision of 82% against the
multi-stream models 79%. This is likely because goalkeepers tend to be very
consistent and heavily reliant on the team's overall form. This is shown in Fig.
5 which highlights the most important variables during goalkeeper predictions.
On the contrary, when looking at forward predictions, both models perform
exceptionally well, with the baseline predictor achieving a precision of 88% and the
multi-stream predictor a precision of 92% when tested on individual gameweeks.</p>
      <p>We found that standard NLP libraries could not properly identify
footballrelated sentiment in tweets. A corpus built using all the previous seasons FPL
related tweets could have been one possibility to solve this issue, allowing us
to incorporate tweets into our di erent models. Overall, we have observed
signi cant improvements in this approach when compared to the baseline models,
especially further into the season when more data is available. By properly
understanding the strengths and weaknesses of each of the di erent data sources,
the recommender system can be ne tuned to surpass the baseline models in all
the positions. We now understand that statistics are much more important for
goalkeeper selection than article recommendations, so a higher weighting should
be applied in this scenario. In this research we show that Multi-stream data
analytics is a viable concept and can be expanded to work not only for fantasy
sports predictions but also for all other areas in which both statistics and human
feedback are important factors; such as for example in stock markets or election
voting predictions.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>The primary research aim of this work was to investigate whether combining
data from di erent data sources would help in increasing the accuracy and
overall performance of predictions. Ultimately, we found that while the accuracy
of predictions su ers slightly (from 91% to 89%), we found that the average
points achieved per gameweek increases signi cantly from 54 to 64 points per
gameweek. This is a signi cant points-increase, resulting in a rise in FPL leader
board rankings from rank 800,000 (top 13%) to rank 30,000 (top 0.5%) out of the
6.5million total players. By properly understanding the strengths and weaknesses
of each data-source, it becomes easy to solve such issues by simply applying more
weight importance to statistical parameters when considering goalkeepers.</p>
      <p>In this paper we aimed to combine statistical metrics with betting odds,
news-articles &amp; blogs, and Twitter data to improve FPL recommender services.
We found that the inclusion of both betting data and news-articles &amp; blogs
individually, signi cantly improves on the power of predictions made by statistical
predictors. However, by including both sets of data simultaneously, the
predictions become considerably more powerful than their individual counterparts.
This indicates that the incorporation of any relevant additional data would have
positive e ects on the predictive power of such recommender systems. While we
also investigated adding social media data through Twitter, we faced many
challenges leading to inaccurate predictions a ecting the overall predictive power for
the worse (Fig. 4. By creating a custom corpus based on the previous years of
FPL data, FPL-speci c social media could have a signi cantly bene cial impact
on our model. This is because of the vast amount of discussions and independent
opinions that are spread through such sites. Another alternative could have also
been the FPL-speci c Reddit discussion board 8.</p>
      <p>Naturally, while this work was focused on fantasy football predictions, the
methods described could be used in any domain that relies on statistics but also</p>
      <sec id="sec-5-1">
        <title>8 https://www.reddit.com/r/FantasyPL/</title>
        <p>on human feedback; for example stock-markets or even political campaigns
both of which bring about lots of social-media data.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Bonomo</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Duran</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marenco</surname>
          </string-name>
          , J.:
          <article-title>Mathematical programming as a tool for virtual soccer coaches: a case study of a fantasy sport game</article-title>
          .
          <source>International Transactions in Operational Research</source>
          <volume>21</volume>
          (
          <issue>3</issue>
          ),
          <volume>399</volume>
          {414 (may
          <year>2014</year>
          ), http://doi.wiley.
          <source>com/ 10</source>
          .1111/itor.12068
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Brownlee</surname>
          </string-name>
          , J.:
          <article-title>How to Con gure the Gradient Boosting Algorithm (</article-title>
          <year>2016</year>
          ), https: //machinelearningmastery.com/configure-gradient
          <string-name>
            <surname>-</surname>
          </string-name>
          boosting-algorithm/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Matthews</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramchurn</surname>
            ,
            <given-names>S.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chalkiadakis</surname>
          </string-name>
          , G.:
          <article-title>Competing with Humans at Fantasy Football: Team Formation in Large PartiallyObservable Domains</article-title>
          .
          <source>AAAI</source>
          (
          <year>2012</year>
          ), https://www.semanticscholar. org/paper/Competing-with
          <article-title>-</article-title>
          <string-name>
            <surname>Humans-</surname>
          </string-name>
          at-Fantasy-Football{
          <article-title>\% }3A-Team-in-Matthews-Ramchurn/5aaaa7c18b7703021ed959dbe4dba15b35fd0d8a</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Poibeau</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>The Multilingual Named Entity Recognition Framework</article-title>
          .
          <source>Tech. rep.</source>
          , https://www.aclweb.org/anthology/E03-1082
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Raghunandh</surname>
          </string-name>
          , G.:
          <article-title>Building an FPL Captain Classi er (</article-title>
          <year>2018</year>
          ), https://medium.com/ datacomics/building
          <article-title>-an-fpl-captain-classifier-cf4ee343ebcc</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Thapaliya</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>Using Machine Learning to Predict high- performing Players in Fantasy Premier League (</article-title>
          <year>2017</year>
          ), https://medium.com/@277roshan/
          <article-title>machine-learning-to-predict-high-performing-players-in-fantasy-premier-league-3c0de546b251</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>