Plus Minus Spreadsheet Topic

Hi all – I’ve been curious about the plus/minus for each of my players/teams so I put together a spreadsheet that filters through the play-by-play data to calculate plus/minus. And I figured it's best to share in case anyone else wants to see the same for their teams.

https://docs.google.com/spreadsheets/d/1QWqqzVLoLXtcaxPKya8_4z8qwP6Kh1mwyW6JHFDSMLU/edit?usp=sharing

The analysis covers up to 5 games (5 games is enough to establish some patterns, and I just didn’t want to keep building it out further than that). So you can analyze how your team did against 5 press teams that you faced, or how you did in five tough road games, or against the five highest RPI teams you faced (which is the example in the calculation that I put together for my team), or you could just do one game and ignore the other rows.

It takes about 5 minutes to import your team’s data into the calculation. See below for details and if you come across any issues with the functionality or have other thoughts, feel free to post about them or send me a Site mail and I can take a look—it seems to work well with my teams, but there might be some other bugs still to work out.

Plus/Minus – Hoops Dynasty
To update the spreadsheet for your team, you’ll need to first click File/Make a Copy. Once you have a copy, you need to update the cells highlighted in yellow on the “Plus-Minus” tab by doing the following:
  1. Copy & paste your team URL into cell B1.
  2. Copy & paste the URL for the game(s) you’d like to analyze the plus/minus for in cells B2, B4, B6, B8 and B10. You can just do one game if you want or multiple games.
  3. Enter either a 1 or 0 in cells B3, B5, B7, B9 and B11 to indicate whether your team is the home team or away team for each respective game. (Away = 0, Home = 1)
  4. Review the check figures (red font) in cells B15:B53. If any aren’t equal to zero, you’ll need to go to the Ratings tab and adjust the names for your players in column A—usually 2 or 3 of the centers (or pf’s if no centers) need to be updated to reflect just their first name or last name due to some difficulty in connecting the names to the data in the play-by-play. You can see two names highlighted in yellow that I had to do this for on the Ratings tab (you can put the formula used for the other players back in for those two to see if they work without the override first but there’s a good chance you’ll just have to override).
    1. The cause is the last name of the C (or whoever you have playing C) is formatted a little different at times in the substitution play-by-play. So you can bet it’s probably your two Centers that need the name override. Pick the first or last name, whichever is more unique (i.e. if his name is Jon Saltalamacchia, pick his last name).
  5. Back on the Plus/Minus tab, you’ll also see yellow highlights in row 13 of the Plus/Minus tab… I’ll explain that in just a second, for now you can start reviewing the results.
After you’ve got the above items input, you’ll have 1-5 games worth of plus/minus data for each of your players. Just scroll down and see the breakout for each player by game and by half. You can also click over to the other tabs and filter within the play-by-play for each game if you really want to get into the details. I prefer to review the main tab, see which players have high plus/minus and which combos of players are doing well together—speaking of which… back to step 5…

In column S, you’ll find a row titled “2-5 Player Lineup”. If you want to see the plus/minus for a specific 5-man lineup in this column or maybe how just 2 players do with each other on the court, put a “1” above the players you want to see on row 13. The results will show for however many players you pick (obviously, you can’t pick more than 5 players though). With my USCG team in there, I noticed my starters are actually a net negative while they’re on the court together. I’m not sure why that is yet, but definitely something I’m thinking about. I have not come up with a way to show “minutes on the court together" for those lineups, so instead I added a column to show “scoring plays”. This is just the total number of times either team scored while those players were on the court together… I just wanted some sort of gauge for how many plays those players have spent on the court together, relative to their plus/minus rating.

One thing that isn’t perfect is that substitutions will sometimes happen right before a free throw is taken. I think the free throws should count for/against the players on the court at the time of the foul (not sure if that is how they track it in real life though), but there isn’t an easy way for me to set the formulas up that way. So the free throws will count for/against the players after the substitution occurs.

I also ran into various naming issues when trying to get the formulas to parse the data and pull what is needed, like what I mentioned in step #4 above. So if you’ve got three players named William Williams, you’re just outta luck, sorry!

No single metric or calculation tells the whole story, but it’s another fun way to analyze the results we see in our games. I hope some of you find it useful.
11/29/2021 1:08 AM
You just made my Favorite list??. Thanks!!!!
11/29/2021 9:19 AM
very cool
11/29/2021 12:29 PM
Sweet. Nice work!
11/29/2021 12:56 PM
I had no idea you could import the PbP to a spreadsheet. Thanks for sharing this!

On a side note, at some point I tried to import recruit ratings but it didn't seem to work. I would just get an error on Google Sheets. I'm talking about an individual recruit who hasn't been added to a team yet. Maybe I'm doing something wrong.
11/30/2021 11:29 AM
Posted by mlitney on 11/30/2021 11:29:00 AM (view original):
I had no idea you could import the PbP to a spreadsheet. Thanks for sharing this!

On a side note, at some point I tried to import recruit ratings but it didn't seem to work. I would just get an error on Google Sheets. I'm talking about an individual recruit who hasn't been added to a team yet. Maybe I'm doing something wrong.
most likely your issue is it being behind the login. you can view a player on a team or a game result, or anything on the team popup page (where you click the teams name and get that stand-alone window with the tabs for ratings and stats and history and all that).

recruiting related stuff is almost always behind the login, so you'd have to handle authentication to get in.
11/30/2021 11:38 AM
this looks really cool! will have to check it out later
11/30/2021 11:39 AM
Posted by gillispie on 11/30/2021 11:38:00 AM (view original):
Posted by mlitney on 11/30/2021 11:29:00 AM (view original):
I had no idea you could import the PbP to a spreadsheet. Thanks for sharing this!

On a side note, at some point I tried to import recruit ratings but it didn't seem to work. I would just get an error on Google Sheets. I'm talking about an individual recruit who hasn't been added to a team yet. Maybe I'm doing something wrong.
most likely your issue is it being behind the login. you can view a player on a team or a game result, or anything on the team popup page (where you click the teams name and get that stand-alone window with the tabs for ratings and stats and history and all that).

recruiting related stuff is almost always behind the login, so you'd have to handle authentication to get in.
Thanks gill, that makes sense. So you can basically pull the same info that you'd be able to see if you didn't have any teams, but you would need a team and log in to see recruits.
11/30/2021 1:28 PM
I tried pulling recruiting stuff and ran into same issue. Is there a way to pull the data using login info through google docs or excel? Or is what if sports blocking that data since it’s more sensitive? If someone knows how to import this, that would be cool to do.
11/30/2021 4:14 PM
I could not import it either
12/30/2021 11:23 AM
this is incredible! great work Rod
1/4/2022 5:16 PM
great work
2/25/2024 1:37 PM
wow - this is awesome. i tried to build a scraper like this for plus-minus calculations but gave up eventually. little did i know this already existed. thank you for the contribution CPA and for bumping this cub!
2/26/2024 11:09 AM
Has anyone modified this so it works for the entire season and not just 5 games?
2/26/2024 9:26 PM
Plus Minus Spreadsheet Topic

Search Criteria

Terms of Use Customer Support Privacy Statement

© 1999-2026 WhatIfSports.com, Inc. All rights reserved. WhatIfSports is a trademark of WhatIfSports.com, Inc. SimLeague, SimMatchup and iSimNow are trademarks or registered trademarks of Electronic Arts, Inc. Used under license. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.