Solved

Address Verification

Posted on 2013-01-10
26
437 Views
Last Modified: 2013-02-12
How can I go about having the address that someone enters into my web form verified as the person is entering it? I have seen this on some sites so I know its possible but don't know how? Or would it be easier/cheaper to do this before the address is imported into our system? If the latter, how would I do that? UPS now "fines" you if you do not have the exact address when you ship out a package so we need to find someway to get valid addresses into our system--it would be best if it is done on our website before it is imported into our accounting, management application (Great Plains Dynamics). Thanks.
0
Comment
Question by:lionelmm
  • 8
  • 7
  • 4
  • +2
26 Comments
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 38763525
There is a good game to play.  You have to use a standardized address.  The USPS knows what it is, but you can't get it directly.   This is in part because large mailers like ADVO helped create bulk discounts and how to get them.   But to get the database of addresses, you have to show the USPS you already own 80% of all avail addresses in one aera, then they will fill you in with the rest.   That is not reasonable for most users and very expensive to maintain.   What is available is either software or api's you can use to input an address and get the USPS standardized address back.  It will not tell you if it is a true an address or occupied or single family or apt.  It is instead a combo of a database and algorithm that makes sure the number, prefix street name, zip are all within range.  If it is in the range, then you get back the USPS standardized version of that address.

There are multiple sources but http://www.melissadata.com/address-verification/index.htm  is  just one with both api's and software to get what you need.
0
 
LVL 24

Author Comment

by:lionelmm
ID: 38763805
How is this used, coded into a website, hosted on a server?
0
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 38764413
Using the api, you would first save the data to your db (just to be safe), then fire something that will check the address against the api and lastly either just save the updated address to the database or first present on screen to the user the updated address for verification.
0
 
LVL 24

Author Comment

by:lionelmm
ID: 38765071
I was hoping for something that I could tie into, something I did not have to "code into" my website and also not have to import/export data into my database--I was hoping for something that would validate data as customers are entering it on the web. Any suggestions in that area?
0
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 38765195
If you don't want to code.... then you have to download  and run on desktop software.    If you want it it automatically done on the site...then you have to code.  There is no way around that.
0
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 38785724
There really is no way around not getting your hands dirty in code here for the automated stuff.  If you are using a cms like wordpress/drupal, chances are there is a plug in.http://wordpress.org/extend/plugins/contact-form-plugin/changelog/

However, this is the blind leading the blind.  These plug ins seem easy but many are the source of hack attacks.  Some may say I over state this.  But you are at the developers mercy.   Look at how many bugfix's that plug in I pointed out has.  You just have to be carful.

The other option is hiring a professional to get this done for you.  If you have been on ee and seen some experts you like, you can click on their names to view their profiles and some will have contact info.
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 38786377
unless you have a list, or access to such a list, which has proven addresses yo're not able to do it programatically,
reliable way to get the address is by sending a letter by (traditional) post service or knowing the person as human
you have to life with the fact, that there are things which cannot be done by computers reliable ;-)
0
 
LVL 108

Expert Comment

by:Ray Paseur
ID: 38786805
UPS now "fines" you...
Please tell us the amount of these "fines" you expect to pay in the coming year, over and above your regular shipping costs.  It will help evaluate your options for cost avoidance.  If it's $100,000 or more, there are professional solutions and design strategies that might make sense.  Less than $50,000, forget it and pay the "fines."  Between those, it's probably a gray area.

The USPS offers address normalization as does Google and Yahoo via their geocoders.  If your application can call the USPS API or the geocoder API, you may have an inexpensive option available to you.  However it will necessitate hands-on work with software developers, and code integration with your existing systems.
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 38786884
> .. as does ... via their geocoders.
ah, and the reliabilty rate is exactley between 0% and 101%, is it?
no offence meant ;-)
0
 
LVL 108

Expert Comment

by:Ray Paseur
ID: 38786964
In my experience, when the geocoders agree, the reliability is about 100%, maybe as little as 99%, but probably not less.  Out of samples that number in the thousands, I've never had a missed address when the geocoders agree on the normalized address.  And when they do not agree, the divergence is wide and obvious, and these cases are so very few (single digit percentages) that they can be handled by manual intervention.  This technology has gotten a lot better since I first used it in 2007.
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 38787046
>  the reliability is about 100% ..
ok, user U physically located in country X comes (virtually) from provider in country Y and uses a proxy in country Z and gives an address in country Z
then the geocoder gives me 100% reliable address based on proxy's IP, agreed!
you can make thing more obfuscated if the proxy's reverse IP points to a different location
<sarcasm reality>
I don't see any problem in reliability ;-)
this technology is snake oil, which is 100% reliable
but everyone is free to build her own mind and believe in anything (at least where I'm living:)
</sarcasm reality>
0
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 38787764
I'm not sure how this conversation got into geocoding.  But the geocoding api's can do most the trick.  However, api's = getting dirty with coding and that is part of the problem.  There is software such as postalSoft that can clean up your list on the desktop.  However, to do this automated via web form you need an api. One of many is the link I provided to melissadata.  

I have run a medium sized direct mail operation for 10  years.  I can tell you there is no such thing as 100% accuracy.  First the address has to be matched.  Match rates for a clean database are typically in the 80% to 95% range where the 80% means the software couldn't detect because of things like missing zip, 100 maple st vs 100 South maple when there is both a 100 south and 100 north etc.    

The api's for geocoding will not be as accurate as those for address verification and can not be used by the USPS for bulk mail discounts unless they are packaged with mailer software that is USPS certified.  But if you are looking for a free way to one off and lesson your chances of being fined then it is an option.  But to get the actual bulk mail discounts, the address has to be run through a certified address verification system that also does the presort.  By sorting, this is not simply putting something in order of zip.  It either is in line of travel or walking step.   The only way to get a walking step sort is by physically owning I think 80% of the data, proving to the USPS you own that data for the zip, then they give you the other 20%.  This gives you even greater discounts if you are mailing to the entire carrier route.  Unless of course you are mailing to a rural route you can simply mark the mail to rr X 00000 and the usps gives you the numbers.

It has been some time since I was in that business but I don't know what you mean by fines other then if you are trying to send things out with bulk mail discounts.  I seem to remember the mail software and data was in the $3,000 to $10,000 range for a local area.  Nationally will be much more.   If you use a mail house to do your mailing, you don't really have to worry about any of this as the mail house will take care of this for you.  But the better the address is from the start the better  your chance the mail will reach the home.  That is where the melissadata et el data comes in.  That will give you your best match.  The geo location api's use a different algorithm but will also give you a clean address and fairly accurate.  Google has a daily  limit but unless you are doing 1000's each day you don't have to worry.  

To recap:
Geolocation api's will help clean your data but not at the same accuracy as an api that is meant specifically for address verification.  
Even using these one off verification systems, you need to run the entire mailing database through an address verification system certified by the USPS.  
Your mail house will do the final verification for you
Expect true match rates in the 80% to 95% range
The api's need to be coded.  As ray pointed out, if you get $xxx in fines yearly it is worth at least that much to hire somebody to do the coding for you
As a side note, there are plenty of places to find people to code for you.  Many of the ee experts here have contact info in their profiles where you can get actual coding  help beyond advice.  You can also choose an api and try and ask another question here on ee and we can help guide you on implementing the api on your own.
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 
LVL 24

Author Comment

by:lionelmm
ID: 38788325
Thanks for all the input (and information overload-;); I am now more unsure as what is best to do. One thing to clear up is that currently when you send out packages using UPS (and this is the only carrier we have this issue with); we manually, address by address go online and verify the accuracy of the address https://www.usps.com/ and use their zip or address look up. We are a very small company (during our peak season we would send out about 50 UPS boxes per day, but only for the months of February to May). If we send out a package by UPS and the address is not 100% correct we get charged from $5 to $15 per package, so it is not the huge amounts discussed here. I was hoping there was a quick and easy way to reduce the real cost, the time wasted by our employees verifying these addresses; but it sounds like there is not and that the expense of the options and solutions mentioned here don't warrant their expense, unless I am misunderstanding what I have read--thank you.
0
 
LVL 52

Accepted Solution

by:
Scott Fell,  EE MVE earned 375 total points
ID: 38789062
Here, brown can do this for you!  

http://www.ups.com/content/us/en/bussol/browse/online_tools_us_address_validation.html

The free api  https://www.ups.com/upsdeveloperkit/downloadresource?loc=en_US

50 packages a day could come to 5,000 packages in those months.  If 30% are bad addresses and you get charged an average of $10 each, then that is potentially $15K in fines.  Using 10% bad and $5 fines is still $2,500.

Now, how much effort is it worth to save $2,500 per year? If I had $1,000 and you could give me $2,500 back... I would give you a lot of $1,000's....
0
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 38789084
You can try and do this on your own by posting a new specific question here on ee.

1) Make a test form of your current sign up page

2) Let us know which technology you use such as php, asp or something else

3) take each step in pieces, you may need to break this out into multiple questions.

4) In short, a) somebody enteres data to the form.  b) data is saved to db c) address verification api is called c) if bad address, website displays error and asks customer to correct d) Corrected data is saved to db.
0
 
LVL 24

Author Comment

by:lionelmm
ID: 38789130
Thanks--I have already looked into this; this is where I started out and agave me the idea to ask how to integrate it into my website, which is a Yahoo merchant Account. We already have UPS and Yahoo working together to validate addresses but it only validates and address and city to the correct zip code but if you have an error in the actual address (1234 lee drive, apt 26) and there is something wrong there there integrated validation does not catch that. I agree with you on the numbers; it clear to me but we are not actually been fined this because our users verify each address. It is a potential fine but the time the users use it much harder for me to quantify and turn into as strong an argument.

Correction the the boxes--its 50 boxes 2 times a week not everyday - my apologies
0
 
LVL 52

Assisted Solution

by:Scott Fell, EE MVE
Scott Fell,  EE MVE earned 375 total points
ID: 38789163
They have 2 api's.  The call them both address verification where one does what you say but the other they call street level which is probably what you need.   https://www.ups.com/upsdeveloperkit/downloadresource?loc=en_US

Since you already have the 2 working, maybe it could just be as easy as switching out the api to some extent.
0
 
LVL 108

Assisted Solution

by:Ray Paseur
Ray Paseur earned 125 total points
ID: 38789573
@ahoffman: I was not talking about the IP address; I understood the question to be about the physical delivery address.

As I look at this thread again, I found myself wondering if there is not a Yahoo Merchant Developers Community that might be tapped for expertise.
http://developer.yahoo.com/stores/
http://ysbdevelopers.com/
http://smallbusiness.yahoo.com/ecommerce/
http://www.ystoreblog.com/blog/category/general/
0
 
LVL 24

Author Comment

by:lionelmm
ID: 38789594
Thanks I will check those out
0
 
LVL 45

Expert Comment

by:aikimark
ID: 38790024
You can form a validation URL and look at the resulting message.  Here is an example of a invalid address URL.  I misspelled the street name and omitted the zip code.
https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=1421+vangard+pl&address2=&city=durham&state=NC&urbanCode=&postalCode=&zip=
Here's the resulting message:

Here's the full address, using standard abbreviations and formatting...
1421 VANGUARD PL
DURHAM NC 27713-2048

If I supplied a correct street name, the result would be the same as typed with zip+4 code supplied.

Here's the full address, using standard abbreviations and formatting...
1421 VANGUARD PL
DURHAM NC 27713-2048

If I really screwed up the address (wrong number)
https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=1221+vanguard+pl&address2=&city=durham&state=NC&urbanCode=&postalCode=&zip=

The resulting message clearly indicates an error:

You entered:
1221 VANGUARD PL
DURHAM NC

Unfortunately, this address wasn't found.
Please double-check it and try again.
0
 
LVL 24

Author Comment

by:lionelmm
ID: 38792808
aikimark
Can that be automated? Because this is what our users are doing now.
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 38793316
@Ray_Paseur
and
@whoeverisinterrested
> .. understood the question to be about the physical delivery address.
assuming you want to deliver somthing and expect to get paid for the somthing and/or the delivery, how does it make a difference according my complains (even the sarcastic ones)?

either we're talking about a virtual world which includes the address and the something to deliver, then my concerns are irrelevant
or we're talking about somthing which cost money at the end, then there is no way to map the virtual world (including the data entered there) to the real word (physical address) without human intervention

according the discussion and suggestions so far, I'm still not sure about which world we're talking ...
0
 
LVL 45

Expert Comment

by:aikimark
ID: 38793383
You should be able to automate this.  Your code would need to concatenate the text supplied by the user into a URL.  Retrieve the results and look for:
<div id="results-wrapper">

If, inside that DIV, you find <div id="error-box">, then you can prompt the user to correct the address.

If, inside that DIV, you find <div id="results">, then you can pick up the zip+4 code.

Alternatively, you can allow the user to supply a zip+4 code and then confirm the resulting address.
0
 
LVL 24

Author Closing Comment

by:lionelmm
ID: 38881707
This was not the exact solution I was looking for but I was able to find additional ways to integrate existing features of Yahoo Stores with UPS and at least get some validation which was better than what I had before. Thanks.
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Have you tried to learn about Unicode, UTF-8, and multibyte text encoding and all the articles are just too "academic" or too technical? This article aims to make the whole topic easy for just about anyone to understand.
In this article you will learn how to create a free basic website on Bitbucket, a git service provider. Polymer creates dynamic HTML components, which allow more flexibility than static HTML. This tutorial uses Ubuntu Linux but can also be done on W…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now