FAQs#
Service Speeds#
What can affect speeds from SmartMover?#
The location of the client server.
The distance between our server to yours will make a difference in overall speed. See here for our current server location list: https://www.melissa.com/company/server-locations-uptime
The current load of our public cloud servers.
We maintain and make available a large amount of processing capacity. However, all things being equal, the more usage at any given time will decrease overall speed during that time.
The quality of the address.
A good address will be faster than a bad or partially bad address. Bad addresses will require extra steps, additional fuzzy matching logic, and extra parses before we either find a match or give up.
Throughput Speeds#
When to use real-time vs. batch processing#
Real-Time (Single Request)
Customer onboarding
CRM data entry
Checkout or form entry
Batch
Processing a spreadsheet or database
Processing historical data
Scheduled processing
ETL transformations
What speeds can you expect?#
Real-Time Speeds#
Response times can vary, but the majority of requests should fall between 25 – 100ms.
Batch Speeds#
Single-Threaded#
A single-threaded batch process is recommended when:
Fast development is a priority.
Processing small to medium-sized lists (10,000 – 100,000 records).
Expected processing speed is 500,000 – 1 million records per hour.
Multi-Threaded#
Multi-threading involves sending multiple requests to the web server simultaneously and handling responses as they are returned. This approach can significantly improve performance by reducing the overall time required for processing.
A multi-threaded batch process is recommended when:
Processing large volumes of records quickly.
Handling large lists (100,000+ records).
We recommend starting with 4 – 10 threads to avoid rate limiting errors.
Expected processing speed is 1 million – 3 million records per hour.
Note
A single-threaded process remains a viable option for processing larger lists, though it may take longer compared to a multi-threaded approach.
Scaling and Rate Limiting#
Melissa utilizes dynamic scaling to improve throughput speeds during peak usage periods. This behavior ensures that our web services can adjust to changes in traffic and consistently provide optimal performance regardless of demand.
To maintain service stability and prevent excessive load, Melissa enforces rate limiting based on request volume and frequency. For more information, please refer to our rate limiting page: Rate Limiting.
Getting Started#
How to get started with Smartmover#
Change of Address data is licensed directly from the USPS© or CanadaPost agencies and we are required to keep track of all users. To that end, to begin processing, the individual or organization that will be using the service must have a processing form filled out:
US - Users for US change of address must fill out a Processing Acknowledgement Form (PAF).
CA - Users for CA change of address must fill out a processing form. This form requires the Term of User ID (TOUID) that is assigned by CanadaPost.
Your CSR will provide you with the forms you need to fill out. After the form is filled out, your CSR will enable the Smartmover service and assign you a license key to use. Once you get the license key, you can go ahead and start processing!
What are the requirements to use NCOA data through Smartmover?#
The expressly stated sole purpose of the NCOA™ data is to update your mailing list before you send a mailing. As such, the requirements for end users are:
The data is to be used to update mailing lists of at least 100 unique names and addresses.
The NCOA data is to be used for mailing and not for other purposes.
Difference between JobID, ExecutionID, PAFID#
What is the difference between JobID, ExecutionID and PAFID?#
JobID (Used by Everyone)
This indicates the mailing list you are processing. With JobID, you can process records from different lists at the same time without co-mingling your reports. Important Do not put a GUID or unique identifier in here. That will make your account look like you are processing thousands to hundreds of thousands of separate lists, which is a big red flag during USPS audits.
ExecutionID (For high volume multi-thread users)
ExecutionID are for high volume users who send a lot of concurrent requests. In some situations, it is possible that a request will take a bit longer than usual. The client might time out that request and resend the same one. However, the Melissa server will still finish processing the first one and then process the same request again. This can result in the same records being duplicated in the counts for the NCOA or CCOA reports. An executionID tagged to each individual processing thread will allow us to hash the input and prevent double counts.
PAFID (Only for Brokers)
If you are a broker with sub-clients, you can use this field to identify your end users.
Result Codes#
Why am I getting result codes indicating that move has occurred but the address is not updated?#
Not all declared moves will be accompanied with an address. The USPS can sometimes confirm someone did in fact move from a particular location but there are some cases where they do not have the new address.
In this case the records that return a 1
in the move return code field are foreign moves.
The USPS contains no addresses outside the United States as the NCOA file is strictly national.
Other countries also work differently in terms of data distribution and postal environments compared with the USA.
Here are some examples of codes written back for flagged moves. Some contain moves and others do not based on definition.
Code |
Description |
---|---|
A |
COA Match - A Business, Individual or Family. |
91 |
COA Match - Secondary Number Dropped from COA. |
92 |
COA Match - Secondary Number Dropped from Input. |
01 |
COA Match - Foreign Move. |
02 |
COA Match - Moved Left No Address. |
03 |
COA Match - PO Box Closed No Forwarding Address. |
05 |
COA Match - A New Address cannot be provided. |
14 |
COA Match - New Address would not convert. |
19 |
Found COA - New Address not ZIP+4 or DPV Confirm. |
Web Service#
Why is Smartmover only available as a web service?#
Change of Address data is very sensitive as it contains PII data for millions of people. They do not want anyone to try and data mine this information or use it to generate lists. This is why USPS and CanadaPost requires all users to have a form filled out and Melissa undergoes periodic audits from them. We are not allowed to put this data on client machines and must certify all the servers and environments that the data is hosted under.
License#
Can I license the NCOA data directly from USPS?#
You are allowed to license the NCOA data directly from the USPS but it is rarely worth the requirements that come along with it.
Companies who purchase the data for their own internal use can only access 18 months of data. You are required to become a Full Service Provider (which means you must resell the service) in order to access 48 months of data.
You must undergo testing and certification.
You will have to pay to license the data at a level likely close to or equal to what you would pay to license Smartmover.
Move Address#
Can I get a new move address if I have just an address input or a name?#
No. You must demonstrate that you have a relationship with the individual or organization by providing the name/company as well as their previous address. Only if those pieces match will a new address be provided.