Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Metapod
Mar 18, 2012

Hockles posted:

I've been told to ask in here how to make football stats parse easily for 1000 Yards or Bust. Can a magician make this happen for me?

Making sure this doesn't get lost

Adbot
ADBOT LOVES YOU

Forever_Peace
May 7, 2007

Shoe do do do do do do do
Shoe do do do do do do yeah
Shoe do do do do do do do
Shoe do do do do do do yeah

Hockles posted:

I've been told to ask in here how to make football stats parse easily for 1000 Yards or Bust. Can a magician make this happen for me?

I could probably help you out with that.

Could you be more specific about what you have and what you want?

Forever_Peace fucked around with this message at 13:11 on Sep 9, 2015

mastershakeman
Oct 28, 2008

by vyelkin
On the dvoa error rate, how much does their St ranking affect the overall? The bears have the worst prediction and I'm wondering if that's due to them often having a top expected st dvoa.

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

mastershakeman posted:

On the dvoa error rate, how much does their St ranking affect the overall? The bears have the worst prediction and I'm wondering if that's due to them often having a top expected st dvoa.

They haven't always been clear about it, but the way they have usually weighted the elements is (3*OFFDVOA + -3*DEFDVOA + 1*STDVOA) / 7, so ST gets weighted as 1/7 or about 14% of the overall score.

This also reminds me that they (and moreso commenters on their site) are bizarrely smug sometimes about the arbitrary decision to have negative be better of defensive DVOA that arose more as an artifact of how the spreadsheet they originally set up to calculate DVOA (they actually still do all their poo poo in excel lol) was formatted than as a conscious choice.

CzarStark
Dec 23, 2007

by R. Guyovich
I have a new post up on FART! This one looks at how much QBs and defenses should win based on how they perform and compares that to how much they actually win and the performance of a QB and defense from the same team. Again, I had a lot of fun making this one, and there are some surprising results in here (to me at least).

Forever_Peace posted:

I could probably help you out with that.

Could you be more specific about what you have and what you want?

Will you be doing it in python? The nflgame API posted on the last page seems like it could do this pretty easily. You could do something like:
import nflgame
thisWeekGames = nflgame.games(2014, week=17)

Then parse a file, and use thisWeekGames.players.passing(), .players.rushing(), etc as lists you can search for each user's desired stats. If I had even an hour free before Monday I'd take a look at it. :(

Hockles
Dec 25, 2007

Resident of Camp Blood
Crystal Lake

Forever_Peace posted:

I could probably help you out with that.

Could you be more specific about what you have and what you want?

I assume you are familiar with 1KYOB

Have: a spreadsheet where I type in numbers manually, websites (ESPN / NFL) that display the stats -- basically nothing
Want: a way to pull stats from games that have gone final into that spreadsheet/database based on the lists people submit

I know there was a 1KYOB site a few years ago, but from what I understand whatever site the data was parsed from changed code and broke it.

Right now my plan is to go list by list and manually enter and add numbers, anything that helps make that easier is appreciated.

Forever_Peace
May 7, 2007

Shoe do do do do do do do
Shoe do do do do do do yeah
Shoe do do do do do do do
Shoe do do do do do do yeah

CzarStark posted:

Will you be doing it in python? The nflgame API posted on the last page seems like it could do this pretty easily. You could do something like:
import nflgame
thisWeekGames = nflgame.games(2014, week=17)

Then parse a file, and use thisWeekGames.players.passing(), .players.rushing(), etc as lists you can search for each user's desired stats. If I had even an hour free before Monday I'd take a look at it. :(

Alright, made a first pass this morning. I assumed an input file such as this. Can you double-check my code to make sure there aren't any obvious errors?

Apologies in advance for the tablebreaking, everyone.

code:
import nfldb
import pandas as pd
import os

#Open cmd, navigate to \nfldb\scripts, then run "python nfldb-update"
betpath = #SET TO FOLDER CONTAINING THE CSV FILE OF ENTRIES

seasontype = 'Regular'
week = 1

db = nfldb.connect()


#%%

def loadbets(betpath):
   bets = pd.read_csv(os.path.join(betpath, '1kyob_week{}.csv'.format(week))) #assumes filename is in the form '1kyob_week1.csv'
   for index, row in bets.iterrows():
       player, dist = nfldb.player_search(db, row["Player"], team=row["Team"]) #fuzzy matching by team and name
       bets.loc[index,"Player"] = str(player).split(' (')[0] #replaces any misspellings with the named used by nfldb (e.g. "Tommy Brady" = "Tom Brady")
   return bets
   
#%%

   
def getpassers(bets, db):
    q = nfldb.Query(db)
    q.game(season_year=2014, week=week, season_type=seasontype) #filters to current week
    passing = q.aggregate(passing_yds__ge=1).sort('passing_yds').as_aggregate() #gets everyone with at least 1 passing yard
    passers = [(str(p.player).split(' (')[0], int(p.passing_yds)) for p in passing ] #makes a list of names and corresponding yards
    for name, yds in passers:
        bets.loc[(bets["Player"] == name) & (bets["Type"]=='Passing'),'yards']=yds #enters passing yards to stat sheet
    return bets
    
def getrushers(bets, db):
    q = nfldb.Query(db)
    q.game(season_year=2014, week=week, season_type=seasontype)
    rushing = q.aggregate(rushing_yds__ge=1).sort('rushing_yds').as_aggregate()
    rushers = [(str(p.player).split(' (')[0], int(p.rushing_yds)) for p in rushing ]
    for name, yds in rushers:
        bets.loc[(bets["Player"] == name) & (bets["Type"]=='Rushing'),'yards']=yds
    return bets

def getreceivers(bets, db):
    q = nfldb.Query(db)
    q.game(season_year=2014, week=week, season_type=seasontype)
    receiving = q.aggregate(receiving_yds__ge=1).sort('receiving_yds').as_aggregate()
    receivers = [(str(p.player).split(' (')[0], int(p.receiving_yds)) for p in receiving ]
    for name, yds in receivers:
        bets.loc[(bets["Player"] == name) & (bets["Type"]=='Receiving'),'yards']=yds
    return bets
    
#%%
    
def calcscore(bets):
    scores = bets[["User","yards","Monday?"]].groupby("User").sum() #sums yards and # of Monday tags
    scores = scores[scores["Monday?"] == 1] #omits everyone without exactly 1 monday tag
    scores.loc[scores["yards"]>1000,'bust']=True #over 1000 gets a bust
    scores.loc[scores["yards"]<1000.1,'bust']=False
    scores['distance']=abs(scores['yards']-1000) #calculate distance from 1000 (lower is better)
    scores.sort_index(by=['bust', 'distance'], ascending=[True, True]) #sort by whether or not they busted first, then by distance from 1000
    scores["score"] = list(reversed(range(1,len(scores.index)+1))) #countdown scores from highest to lowest based on the sorted results.
    return scores[["bust","distance","score"]]

#%%

bets = loadbets(betpath)
bets = getpassers(bets, db)
bets = getrushers(bets, db)
bets = getreceivers(bets, db)
scores = calcscore(bets)
    
scores.to_csv(betpath+str('1kyob_week{}_results.csv'.format(week)))
bets.to_csv(betpath+str('1kyob_week{}_stats.csv'.format(week)))

GNU Order
Feb 28, 2011

That's a paddlin'

Oh btw I'm kind of upset you didn't work a "brain fart" joke in the thread title

Mukaikubo
Mar 14, 2006

"You treat her like a lady... and she'll always bring you home."
1. Is this where we put MOON POLLS now?

2. Does anyone have a *good* list of bowl tie-ins for this year? I keep running into a lot of things that are clearly not right/for 2014 and not updated.

axeil
Feb 14, 2006

Mukaikubo posted:

1. Is this where we put MOON POLLS now?

2. Does anyone have a *good* list of bowl tie-ins for this year? I keep running into a lot of things that are clearly not right/for 2014 and not updated.

1. YES

2. Not sure, wouldn't the tie-ins be the same from last year?

Mukaikubo
Mar 14, 2006

"You treat her like a lady... and she'll always bring you home."

axeil posted:

1. YES

2. Not sure, wouldn't the tie-ins be the same from last year?

As far as I can tell a few conferences renewed their contracts differently and things got a little scrambled... also, I'll post the first edition of my yards-per-play based simple moon poll today to get people kicked off.

Hockles
Dec 25, 2007

Resident of Camp Blood
Crystal Lake

Mukaikubo posted:

1. Is this where we put MOON POLLS now?

I'm looking forward to the beatpaths again

axeil
Feb 14, 2006

Hockles posted:

I'm looking forward to the beatpaths again

Beatpaths were laughable as a predictive stat but I will admit the chart looked really nice. Also it was usually hilarious.

Mukaikubo
Mar 14, 2006

"You treat her like a lady... and she'll always bring you home."
Alright then! That was darkly hilarious.

Mukai Moon Poll, Week 2- Nobody Knows Nothing Edition

It's that time again; I jump first off the gun with insufficient data to make any conclusions! This year, I'm returning to the first moon poll I ever did in TFF: Net Yards/Play. See, I wanted to make a rating system that only really used one stat, and I picked net yards/play (offensive yards/play - defensive yards/play) as my stat. Get that for every team, subtract the number of losses they've had, and subtract 0.5 if they're a midmajor- the "Boise State Rule", learned the hard way the first year I did this- and boom! You have my rating. Calculate a Z score for that rating (rating - average of all ratings)/(standard deviation of all ratings); the number of standard deviations over the mean each rating is. It's still too early for me to do a schedule adjustment, but god I need to; in lieu of that, I'm using the 2014 Simple Rating System ranks for all teams, also normalized into a z-score, and weighted with 1/(#weeks+1). That is, this week, the raw calculation above is weighted 2/3 and the 2014 SRS is weighted 1/3. Next week it'll be 3/4 vs. 1/4, then 4/5 vs. 1/5, and then I'll cut the 2014 stuff entirely and put back in a real schedule adjustment. So! What does this tell us now?

pre:
Rank	Team		Final Rating
1	Mississippi	1.975
2	Georgia Tech	1.974
3	USC		1.776
4	Baylor		1.759
5	Boston College	1.688
6	Ohio State	1.514
7	Alabama		1.494
8	Georgia		1.392
9	Florida State	1.366
10	TCU		1.337
...
124	NM State	-1.668
125	Tulane		-1.717
126	Akron		-1.764
127	UTEP		-1.997
128	Idaho		-2.500
Full poll is here. I just didn't want to clutter the thread with 128 rows of that, so I just showed the top 10 and bottom 5. Other notables include the lowest-power-five team as Kansas at #118, and Arkansas somehow still in the top 20 while Michigan State and Texas A&M somehow are not. Also, TCU is l33t as hell.

Look for your Ole Miss-Baylor and Southern California-Georgia Tech playoffs! Feel the excitement!

(In advance: No, this isn't very good yet. It's a start with sparse data, and it'll get better with time.)

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Innovative Statistics. Intelligent Analysis. Powered by Excel and FrontPage 2000 lmao

Impossibly Perfect Sphere
Nov 6, 2002

They wasted Luanne on Lucky!

She could of have been so much more but the writers just didn't care!
Frontpage in the year 2015. Are you loving kidding me.

got any sevens
Feb 9, 2013

by Cyrano4747

NC-17 posted:

Frontpage in the year 2015. Are you loving kidding me.

No, it was 2014, get it right.

Shangri-Law School
Feb 19, 2013

Frontpage was awesome. My friend made a Sonic the Hedgehog fan site, but the teacher marked him down for using the word "cocky."

SlipUp
Sep 30, 2006


stayin c o o l
Crossposting this from the analysis thread:

So, a while back in the N/V thread (I think) people were complaining about the ineffectiveness of QB rating, PFF, and QBR. I kinda miss the old threads were people had crazy formulas for power rankings and poo poo. I was bored, so I toyed around with a QB rating formula. Enjoy.


QB SUP Rating

Carson Palmer 0.769
Marcus Mariota 0.709
Tyrod Taylor 0.665
Ben Roethlisberger 0.647
Aaron Rodgers 0.619
Andy Dalton 0.586
Tom Brady 0.576

Johnny Manziel 0.506
Jameis Winston 0.497
Derek Carr 0.485
Ryan Fitzpatrick 0.482
Philip Rivers 0.480
Teddy Bridgewater 0.459
Nick Foles 0.454

Jay Cutler 0.448
Cam Newton 0.434
Eli Manning 0.429
Ryan Tannehill 0.426
Russell Wilson 0.418
Matt Ryan 0.407
Alex Smith 0.405

Colin Kaepernick 0.400
Blake Bortles 0.399
Tony Romo 0.394
Matthew Stafford 0.377
Ryan Mallett 0.368
Drew Brees 0.325
Matt McGloin 0.312

Kirk Cousins 0.298
Peyton Manning 0.292
Joe Flacco 0.282
Brian Hoyer 0.278
Andrew Luck 0.257
Sam Bradford 0.234
Jimmy Clausen 0.094

QB SUP rewards dynamic, big play QBs and penalizes dump off, dink and dunk style QBs. The value represents how potentially explosive a player was on any given play. How likely they were to take a risk and have that risk pay off.

Peyton Manning and Andrew Luck are a good example of how SUP works. Peyton takes almost no risk and is penalized heavily for it. Luck has to take tons of risks, but they pretty much never pay off.

There is some fine tuning I want to do, so I'll use my finalized formula Tuesday. I disqualified some QBs based on limited playing time: Brandon Weeden, Josh McCown, Michael Vick, and Zach Mettenberger. Most of them were in the negatives so I was going to leave them in as a joke but Weeden's performance earned him a 0.762, good for second, and I absolutely refuse to put Brandon loving Weeden that high in a QB list.

SlipUp fucked around with this message at 22:32 on Sep 26, 2015

Basil Hayden
Oct 9, 2012

1921!
Whoops I didn't find this thread until after making the moon poll thread.

Well whatever it's not like it hurts anything to have that thread and this one.

Some super late responses to things because I just found the thread:

axeil posted:

Over time you'd expect the team that blows people out to be the better one than the one constantly winning close games, which is why the NCAA computers used to use margin of victory back in the BCS era. Unfortunately this caused coaches to run up the score against Podunk State while the metric was actually just trying to measure the difference between an Ohio State team that constantly wins by 14 and an Auburn team that keeps winning games by 3 or 4 points.
The BCS removed MOV as a component almost entirely because the AFCA complained about it and threatened to take away the coaches' poll or something like that. Honestly, it probably made most of the rating systems worse. (Though not nearly as badly as the "quality win" and "strength of schedule" components they used to have... but I'll spare that rant unless someone particularly wants to hear it.)

Grittybeard posted:

I always liked the idea of capping the margin of victory used in the calculation for things like this. I think the general idea was to cap it at 24 points (three TDs + 2 point conversions). Sure you'd get some assholes trying to score a TD with 2 seconds left instead of kneeling the clock out against their conference rival to win by 10 instead of 3, but Juggernaut U has no reason to beat up on Podunk State anymore than they already are.

Is there some obvious reason that would have been a terrible idea? Not that it really matters anymore I guess, just curious.
Amusingly enough, before the BCS jettisoned MOV, they apparently spent a bunch of time talking to one of their former computer raters about how to do this, came up with a good formula (pretty much any logistic-type curve will work just fine, really), and then just decided to not even attempt to use it because :confused:

Carlosologist
Oct 13, 2013

Revelry in the Dark

SlipUp posted:

rating system for QB

I like this system you've devised. It seems to me that there is some type of correlation between good line play and a quarterback's ability to make a risky throw. I wonder if this stat could be further refined to create something similar to OPS+ or ERA+ in baseball. Appreciate the work!

axeil
Feb 14, 2006

Basil Hayden posted:

Whoops I didn't find this thread until after making the moon poll thread.

Well whatever it's not like it hurts anything to have that thread and this one.

Some super late responses to things because I just found the thread:

The BCS removed MOV as a component almost entirely because the AFCA complained about it and threatened to take away the coaches' poll or something like that. Honestly, it probably made most of the rating systems worse. (Though not nearly as badly as the "quality win" and "strength of schedule" components they used to have... but I'll spare that rant unless someone particularly wants to hear it.)

Amusingly enough, before the BCS jettisoned MOV, they apparently spent a bunch of time talking to one of their former computer raters about how to do this, came up with a good formula (pretty much any logistic-type curve will work just fine, really), and then just decided to not even attempt to use it because :confused:

Please tell us your rant about SoS and quality wins. I wanna hear it.

Basil Hayden
Oct 9, 2012

1921!

axeil posted:

Please tell us your rant about SoS and quality wins. I wanna hear it.
I actually found my post from 2012 where I wrote it up originally so here goes:

Basil Hayden posted:

Now remember what I said about that unclever "strength of schedule" ranking? In 2003, it became a bit of a problem. That season, the polls obviously split on whether USC or LSU was the #1 team after Oklahoma lost their conference championship game, while the computer rankings favored Oklahoma because most of them didn't consider game date. Had the polls been weighted in the 2/3-1/3 way they currently are, or even 1/2-1/2 against the computer rankings, the BCS would have narrowly selected USC and LSU to have played each other in that year's title game.

Instead, that "strength of schedule" rank was worth 1/3 of the BCS average. This rank was basically the second and third components of basketball's RPI: 2/3 of the number was the win-loss record of all of the team's opponents, and the remaining third was the win-loss record of the team's opponents' opponents. The issue with doing this is that polls and computer rankings are naturally going to take into account strength of schedule differences anyway -- this is why one-loss Miami (OH) wasn't ranked in the top five that year.

Oklahoma's high computer ranking was due in large to their strength of schedule -- the Big 12 as a conference had performed quite well in 2003, and Oklahoma boasted in particular a 65-13 drubbing of Texas, who going into the bowls had a 10-2 overall record. However, their BCS SOS number was arguably artificially high -- in particular, they got credit for playing a 9-3 North Texas team and an 8-5 Fresno State team out-of-conference, with the corresponding increase in the first component of the SOS rating. The end result was that the Sooners had the fourth highest strength of schedule rank of any team in the final BCS standings, in addition to the #1 computer rank, and a #3 average rank in the polls. (Compare to LSU, who had the #2 poll and computer rankings, but the tenth-strongest SOS rank; or to USC, who had the #1 poll rank and #3 computer rank, but were hurt by the 13th-best SOS rank in the standings.)

The BCS did drop the SOS rank from the standings after that season, but everyone blamed the computers for putting Oklahoma in the title game when really it was the BCS's own awful choice to essentially double-count strength of schedule that did it.
Also just for fun here is my Billinglsey rant too (one of the former BCS computers who really didn't deserve to have his rankings in the system):

Basil Hayden posted:

Billingsley's ratings are not very good and I don't know why they're in the BCS. He starts teams where they were the previous season, and the way teams accumulate rating points means that if a team beats the preseason #5 they get credit for a win over a #5 team even if that team goes 3-9 over the rest of the season. (I need only point at Arkansas this year to show why this is a bad idea -- and of course they started at #6 in the Billingsley ratings this year, meaning they're still in his top 50.) Additionally, from what I can tell, teams that lose early in the season wind up being penalized way more than teams that lose late, even if the team they lost to is significantly better. He adjusts for home-field advantage, and tries to compensate for different venues being harder or easier to play at -- but of course which venue is easier or harder to play at is a subjective call. He also has some sort of weird stipulation that the winner of a game has to be ranked above the loser in the next poll unless they're quite far apart. It's been suggested by those who analyze computer systems that he might also throw in arbitrary adjustments to make his ratings still look like the polls, but I don't know if that's true or not.

Richard Billingsley posted:

I wrote the program myself and it’s not written using fancy math equations, just simple addition, subtraction , multiplication and division. It’s the RULES that make the system unique and the rules are MY RULES. Rules that make sense from a fan’s perspective. Rules that come from 32 years of experience in which I researched the ENTIRE 132 years of College Football.

axeil
Feb 14, 2006

Basil Hayden posted:

I actually found my post from 2012 where I wrote it up originally so here goes:

Also just for fun here is my Billinglsey rant too (one of the former BCS computers who really didn't deserve to have his rankings in the system):

[/quote]

Holy poo poo those Billingsley ratings sound like the dumbest thing ever. How the gently caress did he get away with that?

drunk leprechaun
May 7, 2007
sobriety is for the weak and the stupid

Holy poo poo those Billingsley ratings sound like the dumbest thing ever. How the gently caress did he get away with that?
[/quote]

The computers that the BCS used were selected by them and were essentially black boxes I believe. They weren't required to release how they ranked teams, though most of the other ones did. Also I think if you look at it Billingsley's ranking was the most often dropped computer ranking in the BCS.

Basil Hayden
Oct 9, 2012

1921!

axeil posted:

Holy poo poo those Billingsley ratings sound like the dumbest thing ever. How the gently caress did he get away with that?
Billingsley himself attributed it in an interview to the fact that in 1999 when they were expanding the BCS ratings he had over ten years' of past calculations to show, at a time when that type of past work would have presumably been hard to come by. Everyone else who was used by the BCS for any length of time seems to have been a lot more competent, but the club used to be pretty small as far as I can tell.

I guess to his credit he did make an effort to dig up the past records of every single major school going all the way back to 1869 at a time when this would have been extraordinarily difficult, but it doesn't really help how much of a mess his rating system is.

In that same interview he's talking about how the BCS was wrong to have dropped the SOS component after 2003. :negative:

drunk leprechaun posted:

Also I think if you look at it Billingsley's ranking was the most often dropped computer ranking in the BCS.
YEP.

Basil Hayden fucked around with this message at 02:50 on Sep 28, 2015

SlipUp
Sep 30, 2006


stayin c o o l
I made the corrections to the formula I wanted. (Most of them, if somebody knows where to find drops by QB that would be awesome.) Here's SUP ratings through week 3.

Bengals fans, consider this my apology for doubtin Dalton.

QB SUP

Aaron Rodgers 0.934
Carson Palmer 0.825
Andy Dalton 0.733
Ben Roethlisberger 0.598
Tom Brady 0.581
Tyrod Taylor 0.564
Marcus Mariota 0.527
Cam Newton 0.523

Derek Carr 0.509
Matt Ryan 0.479
Blake Bortles 0.393
Ryan Fitzpatrick 0.393
Eli Manning 0.387
Jameis Winston 0.382
Ryan Mallett 0.373
Russell Wilson 0.369

Peyton Manning 0.357
Tony Romo 0.330
Ryan Tannehill 0.330
Josh McCown 0.317
Jay Cutler 0.291
Joe Flacco 0.285
Alex Smith 0.283
Philip Rivers 0.269

Andrew Luck 0.264
Kirk Cousins 0.251
Teddy Bridgewater 0.234
Colin Kaepernick 0.222
Matthew Stafford 0.220
Nick Foles 0.212
Sam Bradford 0.136
Drew Brees 0.104

Average 0.396. Interesting but not really relevant because of how much highly rated the top ten are, more just puts them into context. Aaron Rodgers is having an amazing year.
Median 0.363
Range 0.830
Min: -3.00
Max: 12.600

Elite tier QBs this year: Aaron Rodgers, Carson Palmer, Andy Dalton.

One thing that jumps out at me is that SUP tends to favour younger QBs. SUP gauges calculated risk taking so I'm not surprised to see younger guys take more risks. SUP does penalize for backfired risks, so we see guys like Luck and Kaep near the bottom.

Here's a side by side comparison with some other common ratings.



Like many of these, SUP attempts to isolate the QBs performance from the team around him. SUP specifically rewards QBs who are good at taking calculated risk. It penalizes dink and dunk, game manager QBs and fail-slinger QBs in favour of dynamic, big play QBs. NFL QB rating is much more favourable to those dink and dunk style QBs with it's heavy reliance on completion %, therefore you see guys like Rivers and Romo who disproportionately benefit from their safe, conservative decisions due to the talent around them. (Lots of YAC yards.) QB rating also has a low ceiling. As long as you have the right comp % and TD amount, it will just spit out the highest possible rating. It's the statistic analysis equivalent of throwing your hands up in the air. In SUP, the highest rated QB has a 0.934, the rating maxes out at 12.600, and frankly it's impossible for a mortal man to achieve that score, so it's always possible to compare two QBs, regardless of how good they both are. QBR is trash as long as they incorporate "clutch", which is the only reason I could see Ben at the top of this list considering his TD:INT ratio. (Or Josh loving McCown for that matter, who isn't even the best QB on his own team.) SUP and QBR supposedly factor in QB rushing stats, but QBR differentiates between a rush and a scramble and I say a play is a play. (And thus, Cam Newton is a top 10 QB) DVOA is just garbage imho.

Enjoy!

e: fixed
e2: mixed up DVOA and DYAR in my head

SlipUp fucked around with this message at 23:43 on Sep 29, 2015

Alaois
Feb 7, 2012

You can tell DVOA is the worst of the 4 stats because it's the only one without Tyrod in the top 10

Diva Cupcake
Aug 15, 2005

DVOA hasn't been updated for week 3 yet.

Metapod
Mar 18, 2012

SlipUp posted:

QB SUP

Aaron Rodgers 0.934
Carson Palmer 0.825
Andy Dalton 0.733
Ben Roethlisberger 0.598
T*m Br*dy 0.581
Tyrod Taylor 0.564
Marcus Mariota 0.527
Cam Newton 0.523

A top 8 list I can get behind

SlipUp
Sep 30, 2006


stayin c o o l

Ozu posted:

DVOA hasn't been updated for week 3 yet.

I guess I jumped the gun on that one. I will edit that post when DVOA is update to reflect through week 3.

Fenrir
Apr 26, 2005

I found my kendo stick, bitch!

Lipstick Apathy

SlipUp posted:

I made the corrections to the formula I wanted. (Most of them, if somebody knows where to find drops by QB that would be awesome.) Here's SUP ratings through week 3.

Bengals fans, consider this my apology for doubtin Dalton.

QB SUP

Aaron Rodgers 0.934
Carson Palmer 0.825
Andy Dalton 0.733
Ben Roethlisberger 0.598
Tom Brady 0.581

One thing that jumps out at me is that SUP tends to favour younger QBs.

Four of your top five are over 30...

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

SlipUp posted:

DVOA is just garbage imho, totally subjective to the whims of the grader. As far as I can tell, there is no statistical basis for Rodgers to have been rated so low against KC, even counting air yards or bad passes, so I assume it's a prejudice or a narrative. QB SUP is totally independent from any outside evaluation and is totally dependant on stats alone.

Enjoy!


DVOA certainly has flaws but this isn't one of them - there isn't a grader. It's basically a per-play metric that programmatically considers the down and distance and some other circumstances to calculate how "successful" a play was, with their definition of success being something close to "the play made it more likely for the team to gain a first down in this series" with actually getting a first down or scoring being a total success; there is also some accounting for gaining field position, with the boost from long gains capped because the FO people consider them non-predictive past some extent (a better way to do this would have been to use a logarithmic function). The way subjectivity creeps into DVOA is that all the constants that have been revealed are round numbers suggesting that they are rear end-pulls that Aaron Schatz plugged into his spreadsheet twelve years ago rather than numbers reached through some reasoned analysis.

So in short, the problems with DVOA are that it tries to accomplish indirectly what WPA and EPA accomplish directly and that there are a bunch of fudge factors involved in its calculation, not that human graders have leeway in assigning scores.

Also, is there a missing decimal point in your chart showing DVOA for selected quarterbacks or did you sum ratings or something?

SlipUp
Sep 30, 2006


stayin c o o l

Fenrir posted:

Four of your top five are over 30...

That's mostly based on 7 of 17-25 being over 30, rating Blake Bortles, Jameis Winston, and Ryan Mallet over Peyton Manning.

I guess it's misleading to say it favours younger QBs, it favours risk taking QBs, and the younger guys are generally willing to make riskier throws.

e: Taking a second look at the comparison chart, SUP is split 5-5 over/under 30, NFL is 6-4, then QBR and DVOA are 7-3. Maybe it's the other guys discriminating against younger QBs!

SlipUp fucked around with this message at 02:30 on Sep 30, 2015

Kalli
Jun 2, 2001



SlipUp posted:

I guess I jumped the gun on that one. I will edit that post when DVOA is update to reflect through week 3.

You also didn't use DVOA, you used DYAR, a counting stat.


Blotto Skorzany posted:

. The way subjectivity creeps into DVOA is that all the constants that have been revealed are round numbers suggesting that they are rear end-pulls that Aaron Schatz plugged into his spreadsheet twelve years ago rather than numbers reached through some reasoned analysis.

Hmm? They constants they came up with were from analysis of the play by play data they have access to (I think they're back to the late 80's now?) to figure out what the odds of converting first downs have been. Constants were rounded to specific yardage #'s because play by play reports only whole increments of yardage

SlipUp
Sep 30, 2006


stayin c o o l

Kalli posted:

You also didn't use DVOA, you used DYAR, a counting stat.

fixed and updated through week 3

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Kalli posted:

Constants were rounded to specific yardage #'s because play by play reports only whole increments of yardage

It's not that 6 rather than 6.1 or whatever yards on 2nd-and-10 is the threshold of success, it's that the 'big play' cutoff is an integer multiple of ten yards and so on (and The Hidden Game of Football, from whence they 'borrowed' all the actual math behind all their initial work, isn't the source of that number either). It's harder to see with DVOA and DYAR proper because they tend to reveal less about their premier stats (and when they do it's generally in a piecemeal fashion where they'll talk about bumping some constant from 20% to 30% this year in the introductory text of a random Quick Reads or weekly DVOA column), but the numbers they give for Adjusted Line Yards are illuminating:

FO Adjusted Line Yards explanation page posted:

Losses: 120% value
0-4 Yards: 100% value
5-10 Yards: 50% value
11+ Yards: 0% value

The boundary numbers for classifying gains are 0, 5 and 10 yards gained and the values assigned to each bucked are all really round numbers - there's no way that poo poo is the result of regression analysis or some other statistical method.

pangstrom
Jan 25, 2003

Wedge Regret
What's the skinny on the Fanduel / Draft Kings scandal? Was the notion that, knowing how everyone else is playing, an insider could place bets in the gaps and up his chances for the bigger payouts?

whypick1
Dec 18, 2009

Just another jackass on the Internet
Yep, that's the gist of it.

Adbot
ADBOT LOVES YOU

Hockles
Dec 25, 2007

Resident of Camp Blood
Crystal Lake

Hi guys, remember this thread? Anyway, if any of you still are bookmarked on this, or happen to follow this, I am in need of help with the script Forever_Peace made for me for 1KYOB using nfldb and python.

I want to know how to pull stats for the playoffs coming up. The script starts off like this:

code:
import nfldb
import pandas as pd
import os
import sys

#Open cmd, navigate to nfldb\scripts, then run "python nfldb-update"
#set working directy to folder containing script and entries, then open an ipython notebook and: %run 1kyob_script.py

betpath = os.path.dirname(sys.argv[0])

seasontype = 'Regular'
week = 16
year = 2015

db = nfldb.connect()
Basically, do I need to change the "seasontype" to something else, or just increment the week to week 18 after the last week of the regular season?

  • Locked thread