I am building an application with a feature that has a lookup for cities/countries for IP addresses.
How often does IP registrant information generally change? If I were to use a current database, such as the one provided by MaxMind, to historical log files from 3-5 years ago, can I expect a reasonable degree of accuracy?
Obviously this kind of thing isn't all that accurate to begin with. I am simply trying to estimate how useful (or useless) a current IP geolocation database is on old data.
It should still be pretty solid. Once an ISP has a block of IP addresses, it's usually pretty reluctant to relinquish it, so only those that have gone under will have returned their allocations.
Most of the early /8 allocations will still be attached. The RIRs will have kept all of theirs, too, so you'll have good accuracy at the continental level. It's difficult to estimate how many LIRs will have relinquished theirs and what churn there is will be at the smaller ISP level.
The NRO has some good stats on allocations, but not much about recovery rates: http://www.nro.net/statistics
If you really want to delve into it, the RIRs maintain FTP sites with historical allocation data in them, such as: ftp://ftp.ripe.net/pub/stats/ripencc/
My guess is that, if you believe MaxMind's claim of 99.5% accuracy on their current, public DB, you'd still get ~95% on 3-year old data.