The problem is, there's too many variables in the process.
The algorithm doesn't know or doesn't take into account whether initial submission has everything that's needed for adjudication. If there's something missing - there would be RFE issued, and obviously this results in a delay which wasn't included in estimate.
It most likely doesn't account for any specifics of applicant's case. Say one applicant is from high risk country. Other agencies who help USCIS perform background check, may not have information or can take longer to perform their job. Say one applicant had 5 marriages including divorces oversees vs somebody who had no divorces. Things like that...
Algorithm most likely ignores seasonal holidays, or how fast your adjudicator is in making decision. I'm sure there are adjudicators who decide 5 cases an hour, and there are those deciding 2.
It cannot take into account any management decisions. USCIS is known to shift priorities swiftly. Overnight, they may decide that I-485 is more important than N-400 etc. We've seen this with last election cycle, where resources were used to process naturalizations but taken away from adjustmemt of status, removal of conditions etc.
Don't forget, USCIS doesn't know upfront how many applications will be submitted, but that number affects how fast things will be adjudicated. Say, in June there were 50000 applicants for N-400, but in July 65000. Plus cases are not processed strictly on First In First Out basis.
Each case is unique, I doubt we'll ever have a good estimate. But let's see.