Geocode quality: Nominatim vs. PostGIS Geocoder vs. Geocoder::US 2.0

I haven't had a chance to test out the Nominatim and Geocoder US geocoders. My understanding though is that the Geocoder and Nominatim can't be run directly in the database, which to me is a big disadvantage because it makes them difficult to use in things like triggers or for batch updates directly in the database.

PostGIS geocoder being a pure PostGIS/postgresql set of plpgsql functions, runs completely in the database. I would expect the Geocoder US and PostGIS geocoder results to be on par and from what I have tested using the web stuff, they are. Google is a bit better since they take advantage of place names.

I think Nominatum since it does use OSM data does use tiger data indirectly since OSM imports for US much of that comes from TIGER with user contributed corrections. I am not sure what vintage (year) of Tiger OSM is currently on. From playing with the web interfaces online it takes advantage of place names too and has an interesting twist in that it allows you to specify the zoom level of the geocoding which allows for faster geocoding by set the zoom precision you need.

Full disclosure -- I've been doing a lot of work on PostGIS Geocoder and wrote the online manual for it. I will tell you a bug I am working on is that I think the location of the point it interpolates is on the wrong side of the street. I'm working on fixing that. If you could care less about which side of the street (or at least sometimes), then that may be a non-issue to you.

Probably worth while testing with the online versions comparing some address results: e.g. nominatim you can test here: http://open.mapquestapi.com/nominatim/v1/search.php

For my use cases I have found the fuzzy checking of nominatum is not as good as what PostGIS Geocoder has. For example my vanity street address (mailing address) is 1 Devonshire Place, Boston MA. PostGIS returns an answer which is close as I recall, Google returns an answer, but I can't get Nominatim to return an answer. To be fair even Boston parcel records have no clue where this is and gets listed in parcel records as washington street. PostGIS can find it since it does various levels of checking and intersections of cross streets etc. I've tested other cases where I purposely type in the zip wrong or something and PostGIS comes back with an accurate set of options. Google does too.