Thursday, October 13, 2016

2016 NFL Game Predictions: Week 6


















Welcome!  I intend this to be an ongoing project of predicting NFL game outcomes, point spreads, and final scores.  My hope is that my models will improve over time as they become more sophisticated and use better data.  I will try to regularly publish predictions to keep myself accountable, and will make observations along the way about what is working and what isn't.  See below for latest updates.  Enjoy!

Previous 2016 Predictions:


    _________________________________________________________________________________
    Recap Week 6:

    8 - 7.  And I was grateful to even get that.  It was looking a lot worse after the first round of games on Sunday.  Lots of surprises this week as both the outcome and the ensemble predictions went 8 - 7.  The running total is now 43 - 33 (57%).  The expected value with the probabilities I gave was 8.842, so perhaps it is not as bad as I thought. What happened?
    • Chargers beat the Broncos
      • I thought this would be an easy win for the Broncos.  So did everybody.  I guess not.
    • Cowboys beat the Packers
      • The Cowboys are now 5 - 1.  Could this be their year?  I'll definitely keep an eye on them.
    • Dolphins beat the Steelers
      • A couple interceptions on the Steelers, some amazing downfield catches by the Dolphins, and the Dolphins come away with the win.  Nobody saw that coming.
    • Saints beat the Panthers
      • The Panthers are 1 - 5? What?  It looks like they got into a deep hole and although coming back to tie, a couple of unfortunate plays on their part and some great plays and performance by the Saints put the Saints on top.
    This is what makes predicting football games so challenging, frustrating, and fun.  It's really hard, because on game day, anyone can win.
    _________________________________________________________________________________

    Week 6:

    The first change for the week was to finally put a cap on the years since a team has gone to the playoffs.  Anything above 10 years is basically an outlier.  Right now there are four such outliers:
    • Bills: 17 years (most in past 15 years)
    • Browns: 14 years
    • Rams: 12 years
    • Raiders: 12 years
    This makes sense.  A team is not really the same team after 10 years if they have a different coach, QB, etc.  And being out of the playoffs for 16 years shouldn't be twice as bad as 8 years.  At some point, you can't get any worse from a predictive standpoint in this regard as there is no longer any linear relationship between the number of years since a team has been to the playoffs and whether that team will win or not.  In my analysis, there is on average a steady downward trend in win ratio from 0 to 5 years, and after 5 years, there is not much of a pattern that would make a difference (the team has reset).  So this will be capped at 5 years.

    The second change was to also cap the years since a team has gone to the playoffs with the same coach.  In recent history, the longest a coach has lasted without going to the playoffs is 5 years.  Anything above 3 years is basically an outlier.  Who are the current outliers in this regard?
    • Rams: 4 years (Fisher is in his 5th year as coach)

    As I pointed out last week, the combination of these two variables is why my model hates the Rams.  I should point out that no coach in the last 15 years has lasted more than 5 years without getting to the playoffs.  If Fisher doesn't make it this year, he absolutely must do it next year to keep his job.  The Chargers, Saints, and Jaguars are at 3 years, so their coaches are also starting to get near trouble.  This will be capped at 2 years, since after 2 years there isn't much of a difference.  This will make the Rams more competitive in my model.

    The third change is a coding change.  One of my MS Data Analytics classes is teaching about proper web scraping methods.  One aspect of that is adding crawl-delays according to the robots.txt file to any code that automatically scrapes a page's web content.  The purpose of adding a delay is so that you don't bog down the server with too many page requests in a short amount of time.  It is but one of many ways of playing nice when scraping the world wide web.  Thus, I added this feature to my code in order to be more friendly to those websites that I pull data from.

    Oddities and Bold Predictions:
    • 49ers vs. Bills
      • Before adjusting the above variables, my outcome model gave the game to the 49ers, but the other two models disagreed.  After the adjustment, the game now goes to the Bills, which seems to me to be the better bet.  And now all of the models agree.
    • Chiefs vs. Raiders
      • The Raiders are 4-1 and the Chiefs are 2-2.  All three of my models gives the game to the Chiefs though, and by quite a bit.  What are the differences?  It appears that the years since the playoffs still makes a big difference, and that is the main reason my model predicts a Chief's win.  Personally, I'd go with the Raiders.
    • Lions vs. Rams
      • Lions are still predicted to beat the Rams.  But it is much closer than things used to be for the Rams.

    Good luck in Week 6!

    Here are the predictions for Week 6:


    Week
    Date
    Team
    Home Away
    Opponent
    Prob. Win
    Pred. Team Win
    Actual Team Win
    Pred. Team PD
    Actual Team PD
    Pred. Team Score
    Pred. Opp. Score
    Actual Team Score
    Actual Opp. Score  
    Ensemble Prediction Win 
    6
    10/13/2016
    Broncos
    @
    Chargers
    0.668
    1
    0
    14
    -8
    27
    20
    13
    21
    1
    6
    10/13/2016
    Chargers

    Broncos
    0.332
    0
    1
    -14
    8
    20
    27
    21
    13
    0
    6
    10/16/2016
    49ers
    @
    Bills
    0.479
    0
    0
    -2
    -29
    22
    26
    16
    45
    0
    6
    10/16/2016
    Bears

    Jaguars
    0.515
    1
    0
    -4
    -1
    19
    26
    16
    17
    0.33
    6
    10/16/2016
    Bengals
    @
    Patriots
    0.455
    0
    0
    -4
    -18
    17
    26
    17
    35
    0
    6
    10/16/2016
    Bills

    49ers
    0.521
    1
    1
    2
    29
    26
    22
    45
    16
    1
    6
    10/16/2016
    Browns
    @
    Titans
    0.457
    0
    0
    -6
    -2
    15
    24
    26
    28
    0
    6
    10/16/2016
    Chiefs
    @
    Raiders
    0.655
    1
    1
    7
    16
    26
    21
    26
    10
    1
    6
    10/16/2016
    Colts
    @
    Texans
    0.451
    0
    0
    -3
    -3
    18
    24
    23
    26
    0
    6
    10/16/2016
    Cowboys
    @
    Packers
    0.442
    0
    1
    -4
    14
    15
    25
    30
    16
    0
    6
    10/16/2016
    Dolphins

    Steelers
    0.262
    0
    1
    -13
    15
    14
    29
    30
    15
    0
    6
    10/16/2016
    Eagles
    @
    Redskins
    0.509
    1
    0
    5
    -7
    27
    29
    20
    27
    0.67
    6
    10/16/2016
    Falcons
    @
    Seahawks
    0.391
    0
    0
    -1
    -2
    27
    30
    24
    26
    0
    6
    10/16/2016
    Giants

    Ravens
    0.495
    0
    1
    -7
    4
    23
    24
    27
    23
    0
    6
    10/16/2016
    Jaguars
    @
    Bears
    0.485
    0
    1
    4
    1
    26
    19
    17
    16
    0.67
    6
    10/16/2016
    Lions

    Rams
    0.643
    1
    1
    5
    3
    28
    22
    31
    28
    1
    6
    10/16/2016
    Packers

    Cowboys
    0.558
    1
    0
    4
    -14
    25
    15
    16
    30
    1
    6
    10/16/2016
    Panthers
    @
    Saints
    0.618
    1
    0
    1
    -3
    25
    30
    38
    41
    0.67
    6
    10/16/2016
    Patriots

    Bengals
    0.545
    1
    1
    4
    18
    26
    17
    35
    17
    1
    6
    10/16/2016
    Raiders

    Chiefs
    0.345
    0
    0
    -7
    -16
    21
    26
    10
    26
    0
    6
    10/16/2016
    Rams
    @
    Lions
    0.357
    0
    0
    -5
    -3
    22
    28
    28
    31
    0
    6
    10/16/2016
    Ravens
    @
    Giants
    0.505
    1
    0
    7
    -4
    24
    23
    23
    27
    1
    6
    10/16/2016
    Redskins

    Eagles
    0.491
    0
    1
    -5
    7
    29
    27
    27
    20
    0.33
    6
    10/16/2016
    Saints

    Panthers
    0.382
    0
    1
    -1
    3
    30
    25
    41
    38
    0.33
    6
    10/16/2016
    Seahawks

    Falcons
    0.609
    1
    1
    1
    2
    30
    27
    26
    24
    1
    6
    10/16/2016
    Steelers
    @
    Dolphins
    0.738
    1
    0
    13
    -15
    29
    14
    15
    30
    1
    6
    10/16/2016
    Texans

    Colts
    0.549
    1
    1
    3
    3
    24
    18
    26
    23
    1
    6
    10/16/2016
    Titans

    Browns
    0.543
    1
    1
    6
    2
    24
    15
    28
    26
    1
    6
    10/17/2016
    Cardinals

    Jets
    0.666
    1
    1
    -3
    25
    18
    23
    28
    3
    0.33
    6
    10/17/2016
    Jets
    @
    Cardinals
    0.334
    0
    0
    3
    -25
    23
    18
    3
    28
    0.67

    No comments:

    Post a Comment