generally, there’s not really a good way to separate out “things that will never be IDed because it isn’t possible”. there is the “it’s as good as it can be” flag, but the flag is not often used.
if you try to calculate the time to ID by taxon, then you’ll exclude things that things that have not been IDed to the taxon yet because they’re stuck at unknown, at parent taxa, or at the wrong taxa. so there’s a little bit of a chicken / egg problem here.
if you don’t mind excluding the stuff that hasn’t been IDed to the taxon, then it’s possible to calculate time to ID (to a particular rank) using the API, but you’d have to get observation-level details to do this, which means that you’d run into a maximum limit of 10,000 observations in your chosen dataset, which means that there wouldn’t be an easy way to get figures for taxa with, say, millions of observations like all birds. (the staff might have a way to do this more efficiently though.)
so i think if you want to get a sense of how well taxa are getting IDed (especially for high-level taxa), then what hanly described is the generally way to do it (unless the staff can run the numbers for you). i made something back in the day that gathers such data for each of the iconic taxa defined in the system, and it may help to quickly gather data for different sets of parameters. for example, this will get the figures for observations submitted in October 2019 (which is the set used in hanly’s figures above): https://jumear.github.io/stirfry/iNat_obs_counts_by_iconic_taxa.html?created_d1=2019-10-01&created_d2=2019-10-31.
you might be able to run several variants of the thing above and merge the results together to get some sort of time series. for example here are some figures for research grade vs verifiable for different sets of observations:
||Obs Created 10/2018
||Obs Created 10/2019
||Obs Created 10/2020