forked from andrewbanchich/future-imperfect-jekyll-theme
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGME_EA.html
366 lines (329 loc) · 21 KB
/
GME_EA.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
<html>
<head>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-121888276-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-121888276-1');
</script>
<title>Gamestop vs. Electronic Arts</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!--[if lte IE 8]><script src="assets/js/ie/html5shiv.js"></script><![endif]-->
<link rel="stylesheet" href="assets/css/main.css" />
<!--[if lte IE 9]><link rel="stylesheet" href="assets/css/ie9.css" /><![endif]-->
<!--[if lte IE 8]><link rel="stylesheet" href="assets/css/ie8.css" /><![endif]-->
</head>
<body class="single">
<!-- facebook comments script -->
<div id="fb-root"></div>
<script>(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.1';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<!-- twitter initialization script -->
<script>window.twttr = (function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0],
t = window.twttr || {};
if (d.getElementById(id)) return t;
js = d.createElement(s);
js.id = id;
js.src = "https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
t._e = [];
t.ready = function (f) {
t._e.push(f);
};
return t;
}(document, "script", "twitter-wjs"));</script>
<!-- Wrapper -->
<div id="wrapper">
<!-- Header -->
<header id="header">
<h1><a href="https://clarencestephen.github.io/">Clarence Stephen</a></h1>
<nav class="links">
<ul>
<li><a href="about.html">About Me</a></li>
<li><a href="resume.html">Resume</a></li>
<li><a href="projects.html">Projects</a></li>
<li><a href="archive.html">Blog Archive</a></li>
<li><a href="/links.html">Links</a></li>
</ul>
</nav>
<nav class="main">
<ul>
<li class="search">
<a class="fa-search" href="#search">Search</a>
<form id="search" method="get" action="#">
<input type="text" name="query" placeholder="Search" />
</form>
</li>
<li class="menu">
<a class="fa-bars" href="#menu">Menu</a>
</li>
</ul>
</nav>
</header>
<!-- Menu -->
<section id="menu">
<!-- Search -->
<section>
<form class="search" method="get" action="#">
<input type="text" name="query" placeholder="Search" />
</form>
</section>
<!-- Links -->
<section>
<ul class="links">
<li>
<a href="https://clarencestephen.github.io/">
<h3>Home</h3>
<p>Main page</p>
</a>
</li>
<li>
<a href="resume.html">
<h3>Resume</h3>
<p>Data Scientist & Investment Professional</p>
</a>
</li>
<li>
<a href="about.html">
<h3>About Me</h3>
<p> A few more details...</p>
</a>
</li>
<li>
<a href="archive.html">
<h3>Archive</h3>
<p>Prior blog posts</p>
</a>
</li>
<li>
<a href="projects.html">
<h3>Projects</h3>
<p>Archival of projects</p>
</a>
</li>
<li>
<a href="/links.html">
<h3>Links</h3>
<p>Other sites of interest</p>
</a>
</li>
</ul>
</section>
<!-- Actions -->
<section>
<ul class="actions vertical">
<li><a href="#" class="button big fit">Log In</a></li>
</ul>
</section>
</section>
<!-- Main -->
<div id="main">
<!-- Post -->
<article class="post" style="text-align:center; width:100%">
<header>
<div class="title">
<hr width="100%">
<h2><a>GameStop vs. Electronic Arts</a></h2>
<p>Regression Modeling</p>
<img src="images/GME_EA/samus.png" alt="" style="width:100%" />
</div>
<div class="meta">
<time class="published" datetime="2018-10-01">October 12, 2018</time>
<a href="about.html" class="author"><span class="name">Clarence Stephen</span><img src="images/avatar.jpg"
alt="" /></a>
<!------------------Social share buttons-------------->
<div class="fb-like" data-width="100" data-layout="button_count" data-action="like" data-size="small"
data-show-faces="true" data-share="false">
</div>
<div class="fb-share-button" data-layout="button_count" data-size="small" data-mobile-iframe="true"><a
target="_blank" href="https://www.facebook.com/sharer/sharer.php?u&src=sdkpreparse"
class="fb-xfbml-parse-ignore">Share</a>
</div>
<br>
<a href="https://twitter.com/share?re f_src=twsrc%5Etfw" class="twitter-share-button" data-text="Check out Clarence's newest post!"
data-via="clarencestephen" data-hashtags="DataScience, Finance, BigData, Stocks, MachineLearning"
data-related="clarencestephen" data-lang="en" data-dnt="true" data-show-count="false" align='center'>Tweet
</a>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<br>
<script src="//platform.linkedin.com/in.js" type="text/javascript"> lang: en_US</script>
<script type="IN/Share"></script>
<br>
<form action="https://getsimpleform.com/messages?form_api_token=76db078bca99f64a035e0d2d06de6932"
method="post">
<!-- the redirect_to is optional, the form will redirect to the referrer on submission -->
<!--<input type='hidden' name='redirect_to' value='' /> -->
<!-- all your input fields here.... -->
<input type='text' name='email' />
<input type='submit' value='Subscribe via Email' />
</form>
</div>
</header>
<div style="width:70%; margin-left:15%; text-align:justify">
<p><i>
Analyzed influence of GameStop's review scores on EA stock performance using a polynomial
regression
model and obtained R^2 value of 0.976. (BeautifulSoup, Selenium, StatsModels, Scikit-Learn)
</i></p>
<p>For GameStop…the struggle is real. Leadership issues, the growth of mobile and social gaming ,
online-shopping, and the rising popularity of digital downloads and DLCs (downloadable content)
have proved to be heavy headwinds for this struggling retailer whose linchpin is selling
physical, used-games. In contrast, EA has been a tremendous success story <a href=https://www.nasdaq.com/article/electronic-arts-and-the-star-wars-in-game-purchase-fiasco-cm880866>
<font style='color:red'>(in-game purchases aside)</font></a> riding the eSports waves to
the very top and delivering
consistent success with their franchise titles (Madden, FIFA, Mass Effect, Battlefield, et
al.).</p>
<p><img src="images/GME_EA/4.png" alt="" style="width:100%" /></p>
<p>This year has been tough for GameStop…In May, Former CEO Michael Mauler
resigned after only 3 months on the job (he replaced J. Paul Raines who had served as CEO
since 2010 and passed away in March). A few days after naming Mauler as CEO, GameStop fired
its COO and its executive VP of strategic business and brand development. Never a good
sign…</p>
<p>If you’ve ever been inside a GameStop, you are probably well aware of Game Informer, a gaming
publication with total circulation of ~7m and over 300 issues across almost 30 years—indeed,
their influence is apparent. But there is a somewhat subtle issue at hand: <i><b> the retailer
and the publisher are one and the same! </b></i> And unfortunately, GameStop
desperately needs to sell games, which creates a rather obvious conflict-of-interests…</p>
<p>Game Informer provides its readers with a reliable source of hype—ahem—I mean previews, reviews,
industry rumors, and news. The real issue lies in the review scores:</p>
<p><img src="images/GME_EA/1.png" alt="" style="width:100%" /></p>
<p>The chart above shows the distribution of all Game Informer review scores since 1994. The scores
are clustered
around 8 and skewed highly to the left. The kernel density estimation (KDE) line suggest all
games are likely to be highly rated. Are all games that good? Perhaps, this score-inflation is
a result of the technological and artistic
advancement of the gaming industry and the current state of high-quality of games?</p>
<p><img src="images/GME_EA/2.png" alt="" style="width:100%" /></p>
<p>The dot-plot above shows how consistent this heavy skew towards high scores has been since 1994.
If anything the
variance of scores has tightened more recently (fewer dots in lower right-hand region),
exacerbating any bias. To be clear: GameStop’s ultimate goal is to sell video
games; if they tell you every game is great, perhaps the assumption is that you’ll be more
likely to buy a video
game from them.</p>
<p>Is this really where you should be go for game reviews? Is Game Informer a reliable source for
honest, unbiased
reviews or is it just a proxy for Gamestop's advertising?
This consistent skew towards high review scores over 25 years should give us a reason to be
suspicious. And EA's review
scores appear to be no exception to the trend:</p>
<p><img src="images/GME_EA/3.png" alt="" style="width:100%" /></p>
<p>In order to investigate these trends further, I employed webscraping to obtain the review score
data and used
StatsModels and Scikit-Learn to build an evaluate the regression models.</p>
<p><img src="images/GME_EA/5.png" alt="" style="width:100%" /></p>
<p>Let's explore the data further...</p>
<p><img src="images/GME_EA/6.png" alt="" style="width:100%" /></p>
<p>The chart above shows the distribution of EA stock returns, relative to the S&P500, 7 days after
a review is
published for one of their games. As the (weak) trend line suggests, EA stock tends to perform
better after higher review scores.
And as one might expect, scores of 6 or lower have some outsized negative returns. But the
issue still
remains at the higher end, with a dense cluster of high scores and less-correlated returns.</p>
<p>In contrast, the distribution of the target variable (EA stock returns) appears very normal:</p>
<p><img src="images/GME_EA/7.png" alt="" style="width:100%" /></p>
<p>And recent years indicate tighter returns (lower volatility) around weekly reviews:</p>
<p><img src="images/GME_EA/8.png" alt="" style="width:100%" /></p>
<p>This trend holds for a wider return period as well (30 days):</p>
<p><img src="images/GME_EA/9.png" alt="" style="width:100%" /></p>
<p>But we want to understand how much of this stock behavior is influenced by Game Informer
reviews. To that end,
the most important and perhaps obvious component to include in our model feature-selection is
today's stock price.
</p>
<p><img src="images/GME_EA/10.png" alt="" style="width:100%" /></p>
<p>The chart above shows the strong linear relationship between today's closing price and the 7-day
forward price (correlation coefficient of 0.99609).
This holds true for the 30-day forward price as well (correlation coefficient of 0.98605),
confirming our base-line assumptions.
Having applied the train-test-split process to the data, and using closing prices and 7-day
forward prices as initial inputs
for a simple linear regression yields an R^2 value of 0.972 as baseline.</p>
<p><img src="images/GME_EA/12.png" alt="" style="width:100%" /></p>
<p>From the baseline model, adding additional features including the review scores, takes R^2 down
to 0.970.
This should not be a surprise as the additional features 'dilute' the aforementioned linear
relationship between
closing and future pricing as well as introducing some noise from features such as trading
volumes. However, this linear model applies
a coefficient of -0.15 to review scores. This direction and magnitude suggest the relationship
between the review scores
and the 7 day stock returns may not be linear (or that the review scores have a tiny negative
impact),
and thus a polynomial regression yeilds a better fit at R^2 0.976.
</p>
<p><img src="images/GME_EA/13.png" alt="" style="width:100%" /></p>
<p>Examining the model more closely, we can observe some heteroskedasticity at the lower range of
closing prices up until $40.
Those prices correspond with where EA stock traded before 2014. Recall, this period also
represents higher volatility in
the underlying stock. So appropriately, as stock volatility decreased the model is able to make
better predictions (proportionally lower residuals) at higher prices.
Residuals remain around +/- $5 above $40 so with EA stock currently trading ~$105, thats not
terrible accuracy.
</p>
<p><img src="images/GME_EA/16.png" alt="" style="width:100%" /></p>
<p> EA stock is up nearly 500% since 2013. So what happened at EA? What led to lower volatility and
higher prices? Certainly nothing had changed with regard
to the pattern of their game review scores, as shown in the early charts.
</p>
<p><img src="images/GME_EA/17.png" alt="" style="width:100%" /></p>
<p>Andrew Wilson happened. Six months after the resignation of John Riccitiello, Andrew Wilson was
chosen to be the new CEO of EA on September 17, 2013.
His leadership led to increased profitability and reduced stock volatility. Andrew Wilson had
been head of EA sports and took the CEO helm amid
a leadership shakeup and mass layoffs. He came off the heels of success with Madden & FIFA and
brought his vision to the entire company.
</p>
<p>But back to our model...</p>
<p>The influence of Game Informer review scores on EA stock price seems small at first. Recall adding this feature improved on the baseline linear
model with R^2 0.972 by only 0.004, with the polynomial regression scoring 0.976. But the influence is there!
Looking at "the best" vs "the worst" scores...scores below 5 had an average 7 day return of -3%, where as scores of 9 or better returned +1%.</p>
<p><img src="images/GME_EA/19.png" alt="" style="width:100%" /></p>
<p>Digging a little deeper into the best and worst EA stock returns we can see the best performers had scores skewed towards 8+ (avg 7.8 review score).
Conversely, for the worst performers, scores were skewed sub 8 (avg 7.3) with some of the worst reviews in this group (Tiger Woods 99 scored 2!).
</p>
<p>The primary purpose of this project was to deploy large-scale webscraping and implement the data in an autoregressive model. Having accomplished this purpose,
I will stop short of any grandiose conclusions with regards to Game Informer reviews. The influence is apparent albeit small and--full disclosure--I am
a subscriber to this magazine. I read it for entertainment not review scores. And at least with EA, it should be safe to say the stock performs mostly
on the overall quality of its game offerings, rather than the influence of individual reviews.
</p>
<p>If you'd like to dig deeper into the code:</p>
<p><a href="https://github.com/clarencestephen/GME-vs-EA" style="color:blue">GME vs EA - GitHub
Repository</a></p>
<p>Coming soon: #RecessionPredictiveModel</p>
</div>
</article>
<footer>
<div class="fb-comments" data-href="http://cognosis.solutions/GME_EA.html" data-width="750"
data-numposts="5"></div>
</footer>
</div>
<!-- Footer -->
<section id="footer">
<ul class="icons">
<li><a href="https://twitter.com/clarencestephen" class="fa-twitter"><span class="label">Twitter</span></a></li>
<li><a href="#" class="fa-rss"><span class="label">RSS</span></a></li>
<li><a href="mailto: [email protected]" class="fa-envelope"><span class="label">Email</span></a></li>
</ul>
<p class="copyright">© Cognosis. Images: <a href="http://unsplash.com" target="_blank">Unsplash</a>.</p>
</section>
</div>
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/skel.min.js"></script>
<script src="assets/js/util.js"></script>
<!--[if lte IE 8]><script src="assets/js/ie/respond.min.js"></script><![endif]-->
<script src="assets/js/main.js"></script>
</body>
</html>