This issue is intended to be a short form, digestible summary of the issue identified, and the impact it will have on the numbers that make up our census output, if you wish to review technical details please check out XIVStats/XIVStats-Gatherer-Java#63.
Issue
In January 2022, a manual review of the census output on the part of @Pricetx, @Crakila and I identified a significant disparity in the numbers from what they were prior to September 2019.
As you can see there is a significant drop between August 2019 and September 2019.
Cause
Following investigations as detailed in XIVStats/XIVStats-Gatherer-Java#63, we are confident we have identified the cause of the issue as below.
An issue occurred where characters that satisfied one of the 3 criteria outlined below were marked as DELETED:
Short explanation
For each character that we fetch, four pages are loaded: their main page, their class page, their minions page and their mounts page.
The introduction of these 3 separate pages for the base character info, mounts and minions is something that was introduced in August 2019 by the Lodestone and we implemented changes to support this thereafter via XIVStats/XIVStats-Gatherer-Java#55.
Due to the way in which we had coded our character parsing, if any of these requests failed to load due to a 404 page not found it would mark the entire character as 'DELETED'. This is not the intended behaviour
Fix
Going forward we have corrected our code to account for the case described above, characters with no mounts or minions should not cause a character to be marked as deleted.
Automated tests have been added to verify that this scenario does not re-occur.
Impact
I guess this is why most of you are probably reading this, so I'll cut to the chase.
For censuses starting September 2019 (2019-09
) and ending in January 2022 (2022-01
) inclusive, the below corrections should be applied:
All characters graphs and metrics
The values presented for the below values are incorrect:
- Global 'all characters' count
- Regional 'all characters' count
- 'All characters' class distributions
- 'All characters' race distribution
- 'All characters' realm distribution
- 'All characters' grand company distribution
Unfortunately we have no means to correct this at this time, we can however consider correctional action once we know which of the ids marked as deleted are not in fact deleted, if there is demand for it.
Active character graphs and metrics, and other stats
All other values are coupled with the presence of a minion or a mount, and so due to the nature of this issue we still believe these values to be for the most part correct.
The active characters metric and all related graphs are dependent on the presence of a minion and mount, and as such can be confirmed to be correct, as no player who satisfies the criteria outlined above in the 'Cause' would meet the criteria for being active.
Some notes
- Per the above, there will not be any characters that would get flagged as 'active' that failed to parse due to this issue.
- While the number of characters that failed to parse due to this issue is significant, these are largely inactive characters. Think about how many characters you know that have no minions and no mounts? These are largely likely to be characters below level 20.
Estimate on corrected census
We estimate that the corrected census should be available in late January or early February 2022. We're running against a completely fresh database so results will be a bit slower than normal.
Update 2022-02-16: The updated census is now live at FFXIVCensus.com 🎉
An apology
@Pricetx , @Crakila , @matthewhillier and I are sorry we let this issue slip through for so long. Many of us (Jonathan and I especially) have been largely inactive in game for the time since this issue came about, and have only just properly returned to the game.
We should have been actively reviewing the censuses as they automatically came out, and comparing them against past results but we weren't. This is something we're planning to do going forward.
I personally have a lot of plans to inject new life into this project, and make it an even better experience for all of you. So looking forward to doing so over the coming months and years.
A thank you
@Pricetx , @Crakila , @matthewhillier and I are immensely proud of what we've managed to build here over the last 7+ years. Every time we check the subreddit (shoutout to the awesome mods over there ❤️), various discords, the community forums or other sites we're delighted to see many a reference to our work and genuine discussions from this amazing community that is the FFXIV player base.
Thanks to the many individuals who've taken it upon themselves to provided feedback on our projects, and especially to those who've provided changes for us.
I'd like to extend a special thank you to:
- @matthewhillier for the work you did to rebuild the census gatherer into the incredibly efficient state it is in today, especially when I didn't have the time to do so myself due to other commitments.
- @Crakila for the work put in to maintain the live site, and help @Pricetx and I with corrective action on the back of this issue and others.
- @Pricetx for continuing to host the census, and responding so diligently to my access requests/issues while I debugged this issue.
Thank you all, you're all awesome❤️
This issue will be locked, please direct all discussion to the page linked below