nba.com now has play by play data back to 1997
nba.com now has play by play data back to 1997
nba.com has decided to add a lot of play by play data going back to the 1997 season. For example you can find shooting data on each player plus +/- data. Lots of interesting information to filter through.
http://stats.nba.com/leaguePlayerGenera ... S&pageNo=1
Interesting things I got from the data:
MJ/Pippen/Rodman on court Net +/-:
97: MJ +13.4, Rodman +16.1, Pippen +13.5
98: MJ +8.5, Rodman +6.7, Pippen +8.9
On/off differential (Team's on court Net +/- minus team's off court Net +/-) for Shaq:
97: +5.06
98: +15.40 (Lakers were +15.6 with Shaq on court by comparison the Bulls were +8.5 with MJ )
99: +12.53
00: +11.46 (+11.15 with him on court)
On court Net +/- and on court O rating for Stockton vs Malone:
97: Malone (+12.8, 113.9 O rating), Stockton (+11.4, 112.4 O rating)
98: Malone (+9.8, 111.9) Stockton (+13.4, 114.0)
99: Malone (+9.9, 106.5) Stockton (+11.2, 106.5)
00: Malone (+7.8, 107.9) Stockton (+10, 107.2)
So overall Stockton had Malone beat though its interesting that both were around equal offensively but Stockton always had a defensive advantage.
Stockton's offense in 97 and 98:
O rating on court, O rating off court, Net O rating
97: 112.4 O rtg, 105.6 O rtg off, +6.84 O rtg
98: 114.0 O rtg, 105.1 O rtg off, +8.85 O rtg
David Robinson on court defensive rating:
97: 95.8
98: 94.7
99: 91.0
00: 95.3
01: 90.9
02: 95.1
03: 92.8
http://stats.nba.com/leaguePlayerGenera ... S&pageNo=1
Interesting things I got from the data:
MJ/Pippen/Rodman on court Net +/-:
97: MJ +13.4, Rodman +16.1, Pippen +13.5
98: MJ +8.5, Rodman +6.7, Pippen +8.9
On/off differential (Team's on court Net +/- minus team's off court Net +/-) for Shaq:
97: +5.06
98: +15.40 (Lakers were +15.6 with Shaq on court by comparison the Bulls were +8.5 with MJ )
99: +12.53
00: +11.46 (+11.15 with him on court)
On court Net +/- and on court O rating for Stockton vs Malone:
97: Malone (+12.8, 113.9 O rating), Stockton (+11.4, 112.4 O rating)
98: Malone (+9.8, 111.9) Stockton (+13.4, 114.0)
99: Malone (+9.9, 106.5) Stockton (+11.2, 106.5)
00: Malone (+7.8, 107.9) Stockton (+10, 107.2)
So overall Stockton had Malone beat though its interesting that both were around equal offensively but Stockton always had a defensive advantage.
Stockton's offense in 97 and 98:
O rating on court, O rating off court, Net O rating
97: 112.4 O rtg, 105.6 O rtg off, +6.84 O rtg
98: 114.0 O rtg, 105.1 O rtg off, +8.85 O rtg
David Robinson on court defensive rating:
97: 95.8
98: 94.7
99: 91.0
00: 95.3
01: 90.9
02: 95.1
03: 92.8
Re: nba.com now has play by play data back to 1997
This is cool, but I think there is still considerable scope for improvement in terms of usability.
Also, its weird that they claim to be more exact in their calculations because they're based on play-by-play data rather than estimates, and yet they're still using the standard formula for TS%. In fact, the .44 coefficient is used in a number of their formulas.
Also, its weird that they claim to be more exact in their calculations because they're based on play-by-play data rather than estimates, and yet they're still using the standard formula for TS%. In fact, the .44 coefficient is used in a number of their formulas.
Re: nba.com now has play by play data back to 1997
Does anyone have any thoughts on parsing this data out for use in APM/RAPM calculations? The PbP data does not have first names on players, so it could be tough to deal with.
I have split off the discussion that was in this thread about TS% and TSA into its own topic, since it was a different subject.
I have split off the discussion that was in this thread about TS% and TSA into its own topic, since it was a different subject.
Re: nba.com now has play by play data back to 1997
So is 96-97 the absolute earliest season for which we'll have PBP?
It would be a major project, but if the NBA or some other organization has recordings of every NBA game in previous seasons, perhaps play-by-play can be generated from that. I'd love to one day have RAPM for the prime years of Jordan, Hakeem, Magic, Bird, etc.
It would be a major project, but if the NBA or some other organization has recordings of every NBA game in previous seasons, perhaps play-by-play can be generated from that. I'd love to one day have RAPM for the prime years of Jordan, Hakeem, Magic, Bird, etc.
Re: nba.com now has play by play data back to 1997
That's a &%$§! with a capital B, especially because they obviously have all first names but decided to remove them for some weird reason. My guess/hope is that this data will appear on bbref in a couple of months (they list player url with each name, which makes parsing easier)DSMok1 wrote:The PbP data does not have first names on players
Re: nba.com now has play by play data back to 1997
The funny thing is that NBC uses the same data except they give the first and last name. Make everything so much easier to deal with. The only caveat, and it's a big one, is that they took down all their pbp before this season. 

Re: nba.com now has play by play data back to 1997
Challenge accepted. Uh, sort of... Where are these old play-by-play datas located? I just see summary data in these links.DSMok1 wrote:Does anyone have any thoughts on parsing this data out for use in APM/RAPM calculations? The PbP data does not have first names on players, so it could be tough to deal with.
I have scripts that try to deal with the NBA.com last name problem, which usually fails when you have 4 players with a last name of Williams on the same team (thanks, 2012 New Jersey Nets).
Re: nba.com now has play by play data back to 1997
If you go to the gamelogs, they have the play by play for each game. Though I'm not sure what if that is what you need or not.kpascual wrote:Challenge accepted. Uh, sort of... Where are these old play-by-play datas located? I just see summary data in these links.DSMok1 wrote:Does anyone have any thoughts on parsing this data out for use in APM/RAPM calculations? The PbP data does not have first names on players, so it could be tough to deal with.
I have scripts that try to deal with the NBA.com last name problem, which usually fails when you have 4 players with a last name of Williams on the same team (thanks, 2012 New Jersey Nets).
Is anyone capable of parsing out the pbp data for the 97-00 seasons?
Re: nba.com now has play by play data back to 1997
Where?EvanZ wrote:I heard they exist as csv files.
Re: nba.com now has play by play data back to 1997
I see the play by play for recent games, but I don't see play by play text for very old seasons like 97-00. Granted, I haven't really looked hard.colts18 wrote:If you go to the gamelogs, they have the play by play for each game. Though I'm not sure what if that is what you need or not.kpascual wrote:Challenge accepted. Uh, sort of... Where are these old play-by-play datas located? I just see summary data in these links.DSMok1 wrote:Does anyone have any thoughts on parsing this data out for use in APM/RAPM calculations? The PbP data does not have first names on players, so it could be tough to deal with.
I have scripts that try to deal with the NBA.com last name problem, which usually fails when you have 4 players with a last name of Williams on the same team (thanks, 2012 New Jersey Nets).
Is anyone capable of parsing out the pbp data for the 97-00 seasons?
By "play by play data", what did you mean? The summarized stats, or the actual play by play text? I'd be happy to parse play by play text if I could actually see what needs to be parsed.
Re: nba.com now has play by play data back to 1997
If you highlight the stats tab on the top of the nba.com page click on the part that says "Every NBA Box Score (1946-Present)." Then click the calendar icon and you can go all the way back to 97 for pbp data. Then click the play by play next to the game. Here is an example of a 1998 pagekpascual wrote:I see the play by play for recent games, but I don't see play by play text for very old seasons like 97-00. Granted, I haven't really looked hard.
By "play by play data", what did you mean? The summarized stats, or the actual play by play text? I'd be happy to parse play by play text if I could actually see what needs to be parsed.
http://stats.nba.com/scores.html?gameDate=02/04/1998
Here are some examples of the pbp text. It seems like its the same as the recent ones.
http://stats.nba.com/gameDetail.html?Ga ... playbyplay
Re: nba.com now has play by play data back to 1997
I doubted you, and boy was I wrong. Thanks colts!
Raw play by play example:
http://stats.nba.com/stats/playbyplay?G ... dPeriod=10
Raw box score example:
http://stats.nba.com/stats/boxscore?Gam ... dPeriod=10
The boxscore API is kind of cool. You can produce a box score not only for each quarter, but also for any given range within a game, like for a given 2 minute span in the first quarter. StartRange/EndRange represent the number of tenths of a second elapsed in the game. Lots of possibilities here.
Example:
http://stats.nba.com/stats/boxscore?Gam ... dPeriod=10
Raw play by play example:
http://stats.nba.com/stats/playbyplay?G ... dPeriod=10
Raw box score example:
http://stats.nba.com/stats/boxscore?Gam ... dPeriod=10
The boxscore API is kind of cool. You can produce a box score not only for each quarter, but also for any given range within a game, like for a given 2 minute span in the first quarter. StartRange/EndRange represent the number of tenths of a second elapsed in the game. Lots of possibilities here.
Example:
http://stats.nba.com/stats/boxscore?Gam ... dPeriod=10
Re: nba.com now has play by play data back to 1997
No problem. Will you be able to parse out the pbp data from 97-00?kpascual wrote:I doubted you, and boy was I wrong. Thanks colts!
Raw play by play example:
http://stats.nba.com/stats/playbyplay?G ... dPeriod=10
Raw box score example:
http://stats.nba.com/stats/boxscore?Gam ... dPeriod=10
The boxscore API is kind of cool. You can produce a box score not only for each quarter, but also for any given range within a game, like for a given 2 minute span in the first quarter. StartRange/EndRange represent the number of tenths of a second elapsed in the game. Lots of possibilities here.
Example:
http://stats.nba.com/stats/boxscore?Gam ... dPeriod=10
Re: nba.com now has play by play data back to 1997
With some clever programming the boxscore range should be able to resolve all of the problems from the last names only in the play-by-play.
Last edited by sbs on Wed Feb 20, 2013 8:43 pm, edited 1 time in total.