» General Discussion

Automated Stat Revision System

Feb. 20, 2024
4:40:05 pm


Ever since we've moved to the new stat system, I am comforted by the fact that we actually use official data! However, that official data can be REVISED by the league for up to 7 days after the conclusion of an NBA game.

Typically the changes are minor but an example could be Player X getting credited with an extra Offensive Rebound and Field Goal Attempt 24 hours after a game because they were fighting for the rebound and the scorekeeper just miscounted the attempts (just imagine Andre Drummond lol).

So how do we deal with this in the Sports.ws format?

Following the guiding principal that we prioritize using the actual official statistics first and foremost, I have set up a script that automatically rescores NBA games 8 days after their IRL conclusion. Using Feb. 21 as a starting point, the script backs up the data we already have for Feb. 13, then RESCORES the Feb. 13th NBA matchups. The differences are then recorded.

For example...
Wendell Carter Jr. (2024-02-13) - OFF_REB change from 1 to 0
Ousmane Dieng (2024-02-13) - ASSISTS change from 3 to 4
AJ Green (2024-02-13) - STEALS change from 2 to 1
Jalen Suggs (2024-02-13) - OFF_REB change from 2 to 3
TyTy Washington Jr. (2024-02-13) - STEALS change from 0 to 1

As soon as the script runs, the official player stat tables will be be updated with the new accurate info. This means that you'll see the change in a player's game log on their profile and you'll see the new data represented in the box scores of your fantasy matchups.

That said, for everybody's awareness, updating the NBA data doesn't necessarily update the official result data of Sports.ws fantasy matchups. There will be many occasions where a stat is updated 7 days after the NBA game but the Sports.ws matchup will have already been scored. This is a problem.

I've thought a lot about this and, with the goal of settling for nothing less than actual official statistics, I will revise any and all Sports.ws fantasy matchups 8 days after their initial conclusion. For example, today is Feb. 20th, so I will rescore Game 51 which initially ended on Feb. 12th. I can't imagine many Wins or Losses will change based on a minor stat revision, but if it does happen then it simply should have been that way all along.

At the end of the day we will have:
- A database of statistics that is 100% in line with the NBA's official data
- Sports.ws results that adhere to the accurate database of statistics
- A transparent and predictable system for what things can change and when

We can all monitor this and make sure it behaves as expected and revise if necessary but I think the logic makes sense (hopefully the implementation of the revision scripts is sound :D )

Feb. 20, 2024
4:43:19 pm


Accordingly, I have checked all NBA games for revisions up until Feb. 13th and am rescoring Games 41 through Games 51 to reflect any subtle changes that have come through...

Here's an example of stats that can change. The Matt Hurt change was an issue on our end that I've since resolved.

Bam Adebayo (2024-02-06) - BLOCKS change from 2 to 1
Nickeil Alexander-Walker (2024-02-08) - STEALS change from 1 to 0
Jose Alvarado (2024-02-07) - DEF_REB change from 1 to 0
Kyle Anderson (2024-02-08) - STEALS change from 2 to 3
Giannis Antetokounmpo (2024-02-09) - OFF_REB change from 2 to 1
Giannis Antetokounmpo (2024-02-04) - SECONDS change from 2376 to 2375
Scottie Barnes (2024-02-07) - 2PA change from 10 to 9
Scottie Barnes (2024-02-07) - OFF_REB change from 1 to 0
Bradley Beal (2024-02-08) - OFF_REB change from 0 to 1
Malik Beasley (2024-02-04) - SECONDS change from 1795 to 1794
Devin Booker (2024-02-04) - SECONDS change from 1540 to 1539
Malaki Branham (2024-02-07) - SECONDS change from 416 to 491
Miles Bridges (2024-02-07) - BLOCKS change from 1 to 0
Dillon Brooks (2024-02-04) - SECONDS change from 1704 to 1703
Jalen Brunson (2024-02-06) - OFF_REB change from 1 to 0
Zach Collins (2024-02-03) - SECONDS change from 1214 to 1213
Mike Conley (2024-02-04) - SECONDS change from 1470 to 1469
Pat Connaughton (2024-02-08) - DEF_REB change from 0 to 1
Pat Connaughton (2024-02-08) - TURNOVERS change from 3 to 4
Jae Crowder (2024-02-04) - SECONDS change from 2403 to 2402
Jae Crowder (2024-02-03) - SECONDS change from 1242 to 1241
Dyson Daniels (2024-02-09) - BLOCKS change from 2 to 1
Gradey Dick (2024-02-04) - SECONDS change from 623 to 622
Donte DiVincenzo (2024-02-03) - SECONDS change from 2418 to 2417
Kevin Durant (2024-02-08) - STEALS change from 2 to 3
Anthony Edwards (2024-02-06) - 2PA change from 16 to 17
Anthony Edwards (2024-02-06) - 3PA change from 10 to 9
Drew Eubanks (2024-02-08) - STEALS change from 2 to 1
Markelle Fultz (2024-02-04) - SECONDS change from 1355 to 1354
Danilo Gallinari (2024-02-04) - SECONDS change from 945 to 944
Josh Giddey (2024-02-04) - SECONDS change from 2469 to 2468
Draymond Green (2024-02-05) - OFF_REB change from 1 to 2
Jalen Green (2024-02-06) - 2PA change from 15 to 16
Josh Hart (2024-02-03) - SECONDS change from 2495 to 2494
Josh Hart (2024-02-06) - OFF_REB change from 0 to 1
Isaiah Hartenstein (2024-02-06) - STEALS change from 1 to 2
Matt Hurt (2024-02-04) - SECONDS change from to 1821
Matt Hurt (2024-02-04) - 2PM change from to 3
Matt Hurt (2024-02-04) - 2PA change from to 5
Matt Hurt (2024-02-04) - 3PM change from to 0
Matt Hurt (2024-02-04) - 3PA change from to 6
Matt Hurt (2024-02-04) - FTM change from to 1
Matt Hurt (2024-02-04) - FTA change from to 1
Matt Hurt (2024-02-04) - DEF_REB change from to 1
Matt Hurt (2024-02-04) - OFF_REB change from to 3
Matt Hurt (2024-02-04) - ASSISTS change from to 2
Matt Hurt (2024-02-04) - TURNOVERS change from to 0
Matt Hurt (2024-02-04) - STEALS change from to 0
Matt Hurt (2024-02-04) - BLOCKS change from to 1
Matt Hurt (2024-02-04) - FOULS change from to 1
Brandon Ingram (2024-02-07) - STEALS change from 2 to 1
Trey Jemison (2024-02-06) - TURNOVERS change from 0 to 2
Tre Jones (2024-02-07) - SECONDS change from 1946 to 1871
Damian Jones (2024-02-08) - BLOCKS change from 2 to 1
Caris LeVert (2024-02-03) - SECONDS change from 1505 to 1504
Damian Lillard (2024-02-09) - STEALS change from 2 to 3
Damian Lillard (2024-02-04) - SECONDS change from 2265 to 2264
Kevin Love (2024-02-04) - SECONDS change from 893 to 892
Lauri Markkanen (2024-02-08) - TURNOVERS change from 5 to 4
Miles McBride (2024-02-06) - STEALS change from 1 to 2
Vasilije Micic (2024-02-04) - SECONDS change from 840 to 839
Davion Mitchell (2024-02-03) - SECONDS change from 831 to 830
Donovan Mitchell (2024-02-03) - SECONDS change from 2128 to 2127
Malik Monk (2024-02-03) - SECONDS change from 2029 to 2028
Wendell Moore Jr. (2024-02-08) - OFF_REB change from 1 to 0
Wendell Moore Jr. (2024-02-08) - STEALS change from 0 to 1
Monte Morris (2024-02-04) - SECONDS change from 521 to 520
Keegan Murray (2024-02-03) - SECONDS change from 1861 to 1860
Larry Nance Jr. (2024-02-07) - STEALS change from 2 to 4
Larry Nance Jr. (2024-02-07) - BLOCKS change from 1 to 0
Aaron Nesmith (2024-02-04) - SECONDS change from 2016 to 2015
Zeke Nnaji (2024-02-09) - BLOCKS change from 1 to 0
Jordan Nwora (2024-02-05) - 2PA change from 6 to 5
Jordan Nwora (2024-02-05) - OFF_REB change from 2 to 1
Royce O'Neale (2024-02-06) - BLOCKS change from 1 to 0
Mason Plumlee (2024-02-07) - 2PA change from 5 to 4
Mason Plumlee (2024-02-07) - TURNOVERS change from 1 to 2
Brandin Podziemski (2024-02-05) - BLOCKS change from 1 to 0
Jakob Poeltl (2024-02-04) - SECONDS change from 2000 to 1999
Jakob Poeltl (2024-02-09) - DEF_REB change from 7 to 8
Jakob Poeltl (2024-02-09) - TURNOVERS change from 3 to 4
Bobby Portis (2024-02-09) - STEALS change from 2 to 1
Bobby Portis (2024-02-04) - SECONDS change from 2181 to 2180
Kristaps Porzingis (2024-02-04) - SECONDS change from 1665 to 1664
Naz Reid (2024-02-04) - SECONDS change from 1324 to 1323
Orlando Robinson (2024-02-06) - DEF_REB change from 2 to 1
Duncan Robinson (2024-02-06) - DEF_REB change from 0 to 1
Jeremiah Robinson-Earl (2024-02-07) - OFF_REB change from 0 to 1
Domantas Sabonis (2024-02-03) - SECONDS change from 2367 to 2366
Gui Santos (2024-02-05) - OFF_REB change from 3 to 2
Dennis Schroder (2024-02-04) - SECONDS change from 2157 to 2156
Alperen Sengun (2024-02-04) - SECONDS change from 1830 to 1829
Collin Sexton (2024-02-08) - FTA change from 5 to 6
Jalen Smith (2024-02-04) - SECONDS change from 1215 to 1214
Nick Smith Jr. (2024-02-04) - SECONDS change from 1520 to 1519
Jabari Smith Jr. (2024-02-09) - OFF_REB change from 6 to 5
Max Strus (2024-02-03) - SECONDS change from 1714 to 1713
Amen Thompson (2024-02-09) - ASSISTS change from 3 to 4
Amen Thompson (2024-02-06) - 2PA change from 11 to 10
Amen Thompson (2024-02-04) - SECONDS change from 1181 to 1180
Ausar Thompson (2024-02-04) - SECONDS change from 1647 to 1646
Karl-Anthony Towns (2024-02-04) - SECONDS change from 1640 to 1639
Franz Wagner (2024-02-04) - SECONDS change from 2143 to 2142
Trendon Watford (2024-02-08) - ASSISTS change from 1 to 2
Jaylin Williams (2024-02-04) - SECONDS change from 859 to 858
Jalen Williams (2024-02-11) - 2PA change from 15 to 16
Jalen Williams (2024-02-11) - OFF_REB change from 0 to 1
Christian Wood (2024-02-03) - SECONDS change from 407 to 406
Omer Yurtseven (2024-02-08) - BLOCKS change from 0 to 1
Cody Zeller (2024-02-07) - OFF_REB change from 1 to 0

Feb. 20, 2024
9:54:50 pm

Dear Austin,
I’m writing you from a far League in Italy, we’re all very devoted to your cause and it’s been decades since our first tournament.
We understand the need to be in line with the official stats, but since we’re (or I may say we were) at the end of our PO first round, we face now a totally different scenario, with different teams in the PO and different results.
As you pointed out, it should have been this way from the beginning and I got it, but is it really possible that “minor changes” as you said went to revolutionize it all? Are we sure that these “minor changes” are not fooling it all?
Sorry to question the regularity of the game, but it’s been the first time in many years and it feels kinda shocking.
Another issue: given the 7/8 days or so to re-check the stats, it’s gonna be possible that we will have a winner in our league, and after 7/8 days we will have another winner?! Just because “it should have been that way from the beginning”?
We’re hard fans of yours, but this year’s changements have been tough at times. Please answer if you can, thank you

Feb. 21, 2024
1:52:17 pm


Hey Spada, thanks for the message. I hear what you’re saying about the 7-8 day window feeling long. I agree. I’d like to better understand how often changes occur that long after (as opposed to 24 hours or 48 hours later). Let me see what I can learn here and report back.

One of the things I’d like to do next is display the stats that did end up changing on each individual box score. So if your Game 43 changes in your league, you’ll be able to see exactly what changed and when. Hopefully the transparency helps put people at ease.

In addition to that, we can always manually adjust the playoff bracket at the request of a commissioner. So in cases like yours, if everybody involved wants to keep the initial playoff team, we can make that possible.


Feb. 21, 2024
6:35:42 pm


I think I have a solution that will help minimize the disruption.

I will do two revisions instead of just one. I will still do the 7-day revision (at the end of the NBA's revision window) but I will do an additional one approximately 48 hours after each game.

Ideally, the 48-hour check will cover most of the revisions. This means that users will see the affected stats sooner - and it also significantly reduces the number of stats changing AFTER the conclusion of a Sports.ws game.

And all stat revisions will be tracked and displayed on the box score page.

Example:

Detroit plays Game 55 and Indiana plays Game 57 on Feb. 22.

If the league decides to change a stat the next day, it'll be automatically included in the 48-hour update I run on Feb. 24.

Since Game 55 closes on Feb. 23, any Detroit changes will potentially impact the result of a Sports.ws matchup when it "re-scores" after 48 hours.

In Indiana's case though, changes will NOT even impact a Sports.ws matchup because Game 57 doesn't close until Feb. 28, several days after the revision occurred.

If, for some reason, the league decides to change more of the Feb. 22 stats after the 48-hour window but before the 7-day cut-off, those will also be handled accordingly and dealt with during the the 7-day "re-score". Hopefully these are few and far between.







Feb. 22, 2024
5:28:49 pm


Per this, Game 52 just had its 7-day "re-score".

The 2-day "re-score" isn't in effect yet because of All-Star break

Feb. 22, 2024
5:39:44 pm


You can now see the automated stat revisions from the Sports.ws boxscore pages:

https://x.com/SportsWS/status/1760720918999916895?s=20

Feb. 23, 2024
2:14:31 pm

Thank you very much for your answers, and thank you very much for your effort Sir!
Really appreciated. I agree in having a game in line with the stats’ revision by NBA, and I agree in having a lesser time to wait for the definitive scores in our games.
I’m only sorry for you, as your workload is gonna increase! But I’m thankful once more for your “opening” to our needs. I didn’t even make an exact request, but you came with the straight answer.
Thank you again, Austin

Feb. 23, 2024
10:43:03 pm


The "final rescore" for Game 53 is now complete. (Rescoring today on Feb. 23 because game initially closed on Feb. 15)

The next rescore will be the new "next day rescore" for Game 54 on Feb. 24 because initially closed on Feb. 22).

So going forward, the hope is that the majority of "stat revisions" are accounted for in the "next day" rescore... while the "final rescore" cleans up all the loose ends.

Feb. 24, 2024
1:18:09 pm


The "next day rescore" for Game 54 has taken place.

Game 55's "next day rescore" will occur on Sunday.

Reply: