GeoNetMap / DB9

Geo-location via IP Address

David Mack

October 30, 2009

7 Min Read
ITPro Today logo in a gray background | ITPro Today

asp:review

 

GeoNetMap / DB9

Geo-location via IP Address

 

By David Mack

 

I am always thinking of ways to improve the smalle-commerce site I run. Two areas that I recently wanted to improve were frauddetection and shipping calculations. I thought geolocation via IP address mightmeet my needs, so I experimented with two geolocation products: GeoNetMap byGeoBytes and DB9 from IP2Location. Both products offer similar features, but thefeature I most wanted to test was accuracy.

 

GeoNetMap

I tested GeoNetMap first. It s basically a database of IP addressinformation that has been associated with a geographical region. Some of thefields available in the database are: Country Name, Region, City, Currency,Lat/Long, and Certainty. They also have a list of nearby cities associatedwith the city returned during the query. ZIP code data can be added, but itrequires that you purchase a subscription to http://www.zip-codes.comand integrate that database. It s not difficult; just be aware that if you wantZIP code information it s available, but not included.

 

The GeoNetMap database can be downloaded and imported to yourlocal database. There is a benefit and a detriment to doing that versus usingGeoBytes remote services. The benefit is that I don t have to worry aboutservice call latency and I have complete control over the database. The detrimentis I have to be mindful to update my database; otherwise, my information willbe outdated and possibly inaccurate. To address that issue GeoBytes alsoprovides a product named GeoSelect to keep your data current. The difference is,with GeoSelect you have a limited number of resolutions within a given timeframe. If you are doing a lot of look-ups, the price increases. The trade-offis that the data is always up to date because you are hitting GeoByte servers. Thedatabase schema is pretty straightforward and intuitive to follow therelationships. I created the schema and imported my data within 20 minutes. Thedocumentation was relatively easy to follow, so I knew how to query thedatabase in short order. I was able to build a test app with which I ran about100 IP addresses through the database; the results were fairly accurate.

 

I like how GeoNetMap gives you fields named Certainty and CountryCertainty . This is their degree of confidence in the accuracy ofthe information. I could use this information to decide to take some action, ifI wanted, based on the accuracy threshold. Because the fields are separate, italso allows me to take actions on them individually. For example: One IP addressI used came back with a 70% Certainty, but the CountryCertainty was 98%. Thisallows me to be confident that the IP address was within the USand not from a fraud threat like Nigeria.Based on that knowledge, my e-commerce site could allow the transaction tocontinue, but, because the Certainty wasn t high, I couldn t reliably calculatethe shipping. The IP address in question was an MSNproxy server, which explained the numbers. (I ll discuss my findings about theproxy servers later.)

 

DB9

The other product I evaluated, DB9 from IP2Location, has muchof the same functionality as GeoNetMap. IP2Location has different levels oftheir database. Each level has more fields available. The price is also higherfor each level. I selected the DB9 version because it was comparable toGeoNetMap (with the ZIP codes database). The fields available for DB9 are FromIP Address, To IP Address, ISO 3166 Country Code (2 letters; i.e., US), CountryName, Lat/Long, Zip Code, and Region.

 

I was able to download and install the database with noproblems at all. The data is in CSV formatand it s easy to create the schema. However, I had to rework my testapplication a bit because of the nature of the From IP Address and To IPAddress fields. They are stored as DWORDs, so I had to convert any test IP addressinto a DWORD so I could use it for a query. I would say the accuracy was thesame as GeoNetMap. There wasn t a huge difference in the data. The wording wasa little different for the cities here and there, but otherwise there wasn t ahuge difference. With DB9, I feel like I can lower fraud and also attempt tocalculate shipping based on the ZIP code. Overall, the DB9 database is a simpleflat table compared to GeoNetMap; that can be a benefit or a detriment, dependingon what you are trying to accomplish.

 

Based on my original goals, I felt I could easily improvemy fraud detection with either tool. I was able to test the check-out processwith IP addresses coming from undesired locations. It was nice because I couldturn off the check-out process or ask the potential buyer to call our phonenumber. Being able to resolve an IP address at a country level seems veryreliable, and I m comfortable with using that as a tool for preventing fraud. However,I don t feel like I can use either for on-the-fly shipping quotes.

 

Ideally, I wanted to present the customerwith a shipping cost based on their ZIP code. If I can provide some idea whatshipping costs would be BEFORE checking out, it likely will cut down on cartabandonment. However, this doesn t seem feasible, because I don t feel like Ican get a true end user IP address without invasive means. For this to befeasible, I need to get the true end user IP address. This may or may not bepossible based on how the end user connects to the Internet. I don t want topresent the potential buyer with a shipping cost that is inaccurate.

 


Figure 1: Automatically estimatingthe shipping by using the ZIP code closest to the IP address.

 

There s an old saying in programming: garbage in garbageout. No IP geolocation software is going to give you reliable informationunless you have good IP address extraction. In other words, if you extract theIP address of an AOL proxy instead of theend user, you ll get Dulles, Virginiaas the location. More than likely that is not the true location of your enduser. The proxy issue is one that you need to be aware of because it willaffect the accuracy of your information. There are techniques to retrieve a true IP address from a user with Java applets. This requires you to write the appletand embed it in your pages. You must make the decision if that approach is tooinvasive or not.

 


Figure 2: Filtering orders fromcountries with high credit card fraud based on the IP address.

 

I would say that GeoNetMap and DB9 both have features thatcustomers will like. Price doesn t reallyfavor either product, as they are basically the same. I would say that DB9 hasmore support on their site. They also have a binary version of their databasewith a .NET 2.0 API.Because of the fluid nature of IP addresses, updates are critical. IP2Locationissues updates about once a month or so, whereas GeoNetMap seems to havesmaller updates more often. The installation of DB9 was easier because the datais flat and relations aren t an issue. GeoNetMap has a few features that somepeople might like to have, such as cities that are close to the returned city. Italso has more marketing information associated with each record in thedatabase.

 

I rate the accuracy of both applications to be about thesame. They will always be slightly different as incremental updates are made. GeoNetMapis good if you want to build marketing campaigns, especially as it has the abilityto show you cities near the target city. And if you sell globally, you canshow customers the prices in their nativecurrency (this assumes you can do some conversion behind the scenes).

 

DB9

Rating:

Web Site: http://www.ip2location.com

Price: US$499for an annual subscription with updates

Pros: Accuratewith valid input data, simple to install and use, good support, ZIP codesincluded.

Cons: Nomarketing data included.

 

GeoNetMap

Rating:

Web Site: http://www.geobytes.com

Price: US$500

Pros: Accuratewith valid input data, simple to install and use, can build marketing campaigns.

Cons: ZIP codesaren t included without separate subscription, support is not as good.

 

David Mack is aSenior Software Engineer for Northrop Grumman-TASC. He has 12 years ofdevelopment experience. He loves classic cars and enjoys a 10 handicap on thegolf course.

 

 

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like