I've recently been playing around with geoip databases looking at implementing the type of timezone prediction I previously discussed. I'll be writing a blog post to cover that in the next week or so but first wanted to mention something which has been puzzling me.
Why don't geoip services accept feedback?
A good example of accepting feedback is Akismet. There you can report wrongly missed messages as spam and messages incorrectly labelled as spam as ham. I couldn't find an official statement on their accuracy but figures as high as 99.9% are mentioned. Defensio, a direct competitor, gives an accuracy rate of 99.77%. With my own experience using akismet an error rate of 1 in every 1000 seems about right.
In contrast, maxmind who is, to my knowledge, the commercial leader in geoip, states their accuracy as,
Over 99% accurate on a country level, 90% accurate on a state level, 81% accurate for the US within a 25 mile radius.
I don't have enough information to query their accuracy in the US but for the rest of the world it falls significantly from personal experience.
With feedback from their users I think this accuracy could be substantially increased.
Hostip.info, which makes their database freely available does accept feedback from users. It's a simple process with only three screens and a CAPTCHA to get past. Oh, you also need cookies enabled. Not many people are going to use this. What is really needed is an automated process and this system is set up to prevent automated processes.
My 2 cents
Geoip services have the potential to more efficiently utilise their user communities than even the anti-spam services can. Internet users regularly submit their location on forums, social networks and whenever they make a purchase. These are all situations where predictions based on geoip lookups can create a more pleasant user experience. If the user doesn't change the predicted location then all is well. If the user does change the location though then that information should be sent back to the geoip service so the database can be updated.
Analysis of hostnames will only get you so far. To really boost the accuracy you need human reviewers. If you can convert ordinary internet users into reviewers without inconveniencing them then that's even better.
I totally agree. I've built an app using AppEngine (http://jmaps.appspot.com) that gets your IP and uses hostip.info to try locate you, and if it can't find you to can type in the location and it updates.
However the update is only local, and it would be nice if hostip has a key-based API where we could feed this data back to them.
I really like the idea behind hostip.info, a community initiative to make available some really useful data, but I can't help feeling it went wrong somewhere. Whenever I visit the adverts just horrify me.
Anyway, back on topic apparently there was a plan to set up the sort of system I talked about above (http://www.hostip.info/ipaddress_forum/viewtopic.php?t=100). That was a year ago now though and there is no sign of such a system.