Oh, there’s one more thing to check: The Classifier Debug Info in Arc Mini.
The top section of that view lists the classifiers Arc (or Arc Mini - they share the same database and classifiers) is using right at that moment, for that specific geographic area.
The first row should be a CD2 classifier, then next GD2, then GD1, and GD0. The CD2 is the model built from your own confirms/corrects. The GD models are the “shared models” provided by the server, which are used to fill in the gaps when your CD2 model doesn’t have enough data yet.
GD2 is city neighbourhood size (the same regions as CD2). GD1 is city size, and GD0 is the global model.
On the right of each row, the first number is the number of samples used to build that model. A decent CD2 should have a few thousand samples, but even a few hundred should produce better results than you’re seeing (which is what’s got me so perplexed - the results you’re seeing imply almost no data at all, and certainly not models built from a bunch of confirms/corrects).
The GD2 model should ideally have tens of thousands of samples. The one for my local neighbourhood is almost 200,000. The GD1 should have a number in the hundreds of thousands or millions. The GD0 will likely say over 500 million.
Actually, if the GD0 doesn’t have a number around 540 million, then that would suggest a possible cause of part of the problem. I discovered a very strange bug a few months back, that suggests database corruption in the database table that stores the GD models on the phone. Data added to that table was appearing to be saved correctly, but then attempts to fetch it out again returned nothing, or only partial results. Nothing has changed with that code in Arc for years, so to my eyes it suggests a bug in SQLite (the standard database system used by pretty much all iPhone apps, provided by iOS).
I haven’t looked further into that bug yet, because the new CD2 (Core ML model) system effectively replaces the old GD model system, and is stored in a separate database table that isn’t exhibiting the problem. But if for some reason the CD2 models on your phone are also flaking out, that’ll be putting pressure on the GD models, and if the database on your phone also has this weird corruption problem, then that would explain why the classifier results are failing so dismally.
Anyway, have a look at that Classifier Debug Info view in Arc Mini when you’re in one of the areas where you’re getting terrible classifier results. The classifiers view shows you the classifiers being used right at that moment, for the area you’re in now, so it’s not useful for looking at when you’re in another part of town, only when you’re in the trouble zone.
If the numbers for the CD2, GD2, etc are very low, that will point us in the direction of what’s going wrong.