I looked around for information on how exactly the street nodes are generated, but did not see any posts on the topic. I’m not sure how feasible this is therefore, but here is the problem nonetheless:
Many streets around me are comprised of nodes at the start and end and intersections, and nowhere else.
This means it’s possible to run all the east-west streets and end up completing all the north-south streets without even running on them except through the intersections. I found that out today when I planned the following route, where I had never run on any of the north-south streets, and after the activity was analyzed, precisely 0 of them got marked newly completed.
This was because they were already completed by a previous run where I only ran on the east-west street!
I am assuming the source data only has the nodes and not the street paths, and that’s why the nodes are irregular (mostly only at curves?) instead of generating nodes evenly spaced along the street’s entire length? Could it be assumed you can connect any two nodes with a line that would stay on the street? If so, perhaps nodes should be generated for every 10 meters or something small enough to ensure you could confidently say someone completed 100% of the street if they so desired.
Of course, redefining nodes could potentially affect many existing users’ street counts, as I’m sure I have completed many more streets than I actually have completed! But that should not be an overriding concern since being proud of fake numbers is also silly!