Service Objects’ Blog

Thoughts on Data Quality and Contact Validation

Email *


Posts Tagged ‘Business Solutions’

What Does API Really Mean?

API stands for Application Program Interface. It is a way for software to communicate with each other based on specific inputs and outputs. API’s are everywhere, nearly any application in existence can use them. One API can even utilize one or more other API’s as well. What an API is has been defined and explained in any number of Google search results. What I want to talk about is what an API really is.

It is a way to reuse existing code. Writing reusable code is often a high consideration when developers write code. If you are going to need a specific functionality over and over again, why recreate the wheel? Well, that is just what APIs help developers avoid, as well as making code more understandable and enabling them to be more productive, resulting in saved time and money.

The interchangeable nature of API’s makes switching one API out for another relatively simple. The cost of improving complex segments of code is almost as simple as unplugging a broken toaster and plugging in a new one.

The beauty of APIs is that they allow your organization’s developers to do what they do best. They don’t need to be an expert in everything. Often organizations can be sent on wild goose chases trying to figure out solutions that they are not experts in. At Service Objects, we want your business to continue being an expert at what you do and let us be your expert in the field of contact validation. Why attempt to do the heavy lifting of trying to solve a problem that is not in your wheel house? Without spending an enormous amount of time and money, there is little chance that you will be able to reproduce the code that another API can give you out of the box.

At Service Objects, we have been developing our services since 2001, so when someone is purchasing any of our 23 APIs, they are using over 16 years of cumulative knowledge and expertise. And on top of that, we are going to keep learning and improving on our services so that our customers don’t have to. What this means is that your organization can be using the best code available in your applications and leverage the best practices we have developed without being an expert in the field of data validation.

For more information, or to obtain a free trial key for any of Service Objects’ Data Validation APIs, click here.

New CRM or ERP? Reduce Your Migration Risk

Birds and data have one thing in common: migration is one of the biggest dangers they face. In the case of our feathered friends, their annual migration subjects them to risks ranging from exhaustion to unfamiliar predators. In the case of your data, moving it to a new CRM or ERP system carries serious risks as well. But with the right steps, you can mitigate these risks, and preserve the asset value of your contact database as it moves to a new system.

In general, there are two key flavors of data migration, each with their own unique challenges:

The Big Bang Approach. This involves conducting data migration within a small, defined processing window during a period when employees are not actively using the system – for example, over a long weekend or holiday break.

This approach sounds appealing for many sites, because it is the quickest way to complete the data migration process. However, its biggest challenge involves data verification and sign-off. Businesses seldom conduct a dry run before going live with migration, resulting in the quality of migrated data often being compromised.

One particular issue is the interface between a new enterprise system and internal corporate systems. According to TechRepublic, enterprise software vendors still suffer from a lack of standardization across their APIs, with the result that every integration requires at least some custom configuration, leading to concerns about both data integrity and follow-on maintenance.

The Trickle Approach. Done with real-time processes, this approach is where old and new data systems run in parallel and are migrated in phases. Its key advantage is that this method requires zero downtime.

The biggest challenge with this approach revolves around what happens when data changes, and how to track and maintain these changes across two systems. When changes occur, they must be re-migrated between the two systems, particularly if both systems are in use. This means that it is imperative for the process to be overseen by an operator from start to finish, around the clock.

Beyond these two strategies, there is the question of metadata-driven migration versus content-driven migration – another major hurdle in the quest to migrate genuine, accurate, and up to date data. IT might be more focused on the location of the source and the characteristics of each column, whereas marketing depends upon the accuracy of the content within each field. According to Oracle, this often leads to content that does not match up with its description, and underscores the need for close inter-departmental coordination.

Above all, it is critical that a data validation and verification system be in place before moving forward with or signing-off on any data migration process. The common denominator here is that you must conduct data validation and verification BEFORE, DURING, and AFTER the migration process. This is where Service Objects comes into play.

Service Objects offers a complete suite of validation solutions that provide real-time data synchronization and verification, running behind the scenes and keeping your data genuine, accurate, and up to date. These tools include:

One particular capability that is useful for data migration is our Address Detective service, which uses fuzzy logic to fill in the gaps of missing address data in your contact records, validates the result against current USPS data, and returns a confidence score – perfect for cleaning contact records that may have been modified or lost field data during the migration process.

Taking steps to validate all data sources will save your company time and extra money. With Service Objects data validation services, we’ll help you avoid the costs associated with running manual verifications, retesting, and re-migration. And then, like the birds, it will be much easier for you and your data to fly through a major migration effort.

Service Objects Lands on CIOReview’s Top 20 Most Promising API Solutions

Service Objects is very proud to have been recently selected as one of CIOReview’s Top 20 Most Promising API Solution Providers for 2016, judged by a distinguished panel comprised of CEOs, CIOs and VPs of IT, including CIOReview’s editorial board.

Now if you are reading this, you probably have one of two reactions: “Wow, that’s cool!” Or perhaps, “What’s an API?”

If it is the latter, allow us to explain. An API, short for an Application Programming Interface, is code that allows our data validation capabilities to be built into your software. Which means that applications ranging from marketing automation packages to CRM systems can reach into our extensive network of contact validation databases and logic, without ever leaving the application.

What this means for them is seamless integration, real time results and better data quality. Their databases have correct, validated addresses. Their leads are scored for quality, so they are mailing to real people instead of “Howdy Doody.” Their orders are scanned for potential fraud, ranging from BIN validation on credit cards to geolocation for IP addresses, so that you know when an order for someone in Utah is originating in Uzbekistan.

What this means for you is that the applications you use are powered by the hundreds of authoritative data sources available through Service Objects – even if you never see it. Of course, we have many other ways to use our products, including real-time validation of lists using our PC-based DataTumbler application, batch FTP processing of lists, and even the ability to quickly look up specific addresses via the Web. But we are proud of our history of providing world-class data validation tools to application developers and systems integrators.

Now, if APIs are old hat to you, this award represents something important to you too: it recognizes our track record within the developer community of providing SaaS tools with superior commercial applicability, data security, uptime and technical support. As a companion article in CIOReview points out, “Service Objects is the only company to combine the freshest USPS address data with exclusive phone and demographic data. Continuous expansion of their authoritative data sets allows Service Objects to validate billions of addresses and phone numbers from around the world, making their information exceptionally accurate and complete.”

There is much more coming in the future, for systems integrators and end users alike. Our CEO Geoff Grow shared with CIOReview that one key focus is “more international data, as many of our clients are doing business outside the United States and Canada … The European and Asian markets are becoming increasingly important places (and) it is important for us to expand our product offerings and our expertise in more regions of the world.” And of course, our product offerings continue to grow and expand for clients in each of the markets we serve.

If you are a developer, we make it easy to put the power of Service Objects’ data validation capabilities in your own applications. Visit our website for complete documentation and sample code, or download a free trial API key for one of our 25 data quality solutions. We know you will see why our peers rank us as one of the best in the industry!

Service Objects Provides Customized Sample Code

One of our primary goals as Application Engineers at Service Objects, is to do whatever we can to ensure that clients and prospective clients get up and running with their DOTS validation service and programming language of choice. That’s why we have over 250 different pieces of sample code available to those who want to test our services!

But what if you are interested in integrating multiple services in your application?

Lucky for you, this commitment to getting the data hungry masses up and running with testing our services goes even further. We are dedicated to ensuring that you get the most out of the service(s) that you are testing and assisting with any integration related questions. One of the ways we do this is by writing custom sample code to help our clients and prospective clients integrate our services into their business logic.

What are some examples of custom sample code?

Well I am glad you asked! Need some sample code that will run our NCOA service against 500,000 addresses in a couple hours? No problem.  Do you want to get geocode

coordinates from the contact address that comes back from our DOTS Geophone Plus 2? We’ll write you some sample code that will get that done. Does a portion of your address data include a PO Box number reflected as the unit or suite? We can help you leverage the results from our DOTS Address Validation 3 service to programmatically identify those records.  Need to use any of our DOTS validation products with asynchronous calls? We can certainly help with that as well.

There are a multitude of other combinations that our services can be used to get you your desired result! If you’re interested in any DOTS validation products and need some assistance in how to get the intended result, please reach out to us here! We will gladly provide a consultation on how to best integrate your service (or services) of choice into your application or we’ll go ahead and write a piece of sample code for you to illustrate best practices when calling a DOTS validation web service.

We’ve Raised the Bar to a 99.999% Uptime Guarantee

For many years, we’ve provided a Service Level Agreement with 99.995% availability guaranteed. This equates to less than 26 minutes of downtime annually, or less than 2 minutes and 11 seconds monthly. We’ve consistently achieved and exceeded this promise to our customers year after year, but wanted to take this commitment up a notch…

We’re excited to announce that we increased our Service Level Agreement to a 99.999% uptime guarantee, equating to less than 5 minutes of service downtime annually, or less than 26 seconds monthly!

What is a Service Level Agreement (SLA)

SLAs make use of the knowledge of enterprise capacity demands, peak periods, and standard usage baselines to compose the enforceable and measurable outsourcing agreement between vendor and client. As such, an effective SLA will reflect goals for greater performance and capacity; productivity; flexibility and availability; and standardization.

At the same time, an SLA should set the stage for meeting or surpassing business and technology service levels, while identifying any gaps currently being experienced in the achievement of service levels.

SLAs capture the business objectives and define how success will be measured, and are ideally structured to evolve with the customer’s foreseeable needs. The right approach to SLAs result in agreements that are distinguished by clear, simple language, a tight focus on business objectives, and ones that consider the dynamic nature of business to ensure evolving needs will be met.

How We Do It

Multiple data centers provide redundancy by using redundant components, systems, subsystems, or facilities to counter inevitable failures or disruptions. Our servers operate in a virtualized environment, each utilizing multiple power supplies and redundant storage-arrays. Our firewalls and load-balancing appliances are configured in pairs, leveraging proven high-availability protocols, allowing for instantaneous fail-over.

Compliance is an important benefit of professional data centers. In today’s business climate, data often falls under government or industry protection and retention regulations such as SSAE 16 standards, the Health Insurance Portability and Accountability Act, and the Payment Card Industry Data Security Standard. Compliance is challenging without dedicated staff and resources. With the third party data center model, you can take advantage of the data center’s existing compliance and audit capabilities without having to invest in technology, dedicated staff, or training.

Data Security & Management
We’ve invested in “bank grade” security. Several of our data centers are guarded by five layers of security, including retinal scanners. All systems are constantly monitored and actively managed by our data center providers — both from a data security and a performance perspective. In addition, we operate our own in-house alerting and monitoring suites.

Geographic Load Balancing
Another key factor for ensuring uptime has to do with geographic load balancing and fail-over design. Geographic load balancing involves directing web traffic to different servers or data centers based on users’ geographic locations. This can optimize performance, allow for the delivery of custom content to users in a specific region, or provide additional fail-over capabilities.

Ensuring a high level of uptime comes down to: redundancy and resiliency, compliance, geographic load balancing, great data security, and 24/7 monitoring. All of these factors are equally important and contribute to our 99.999% uptime results — guaranteed!

Python Tutorial

Python is a versatile, robust scripting language that can be used for a variety of projects and implementations. One thing that separates Python from other programming languages is its use of white space and indentations to separate different blocks of code rather than curly braces that languages like Java or C# use. This can often be a polarizing issue for many developers but it is simple enough to start using once you have some experience in it. For this tutorial we’re going to look into making a RESTful web service call to our DOTS Phone Exchange 2 service to validate an international phone number. You will need the following to participate in this tutorial.

What you’ll need

  • Python Installed on your Test Machine(2.7.11 is used in this version)
  • IDE or Text editor of choice. We’re using the community edition of PyCharm.
  • A DOTS product License key of choice. We’re DOTS Phone Exchange 2 for this example.

Once you have all the necessary prerequisites installed, Launch PyCharm and create a new project in your directory of choice. Once you have a project created right click on the project location in the solution and select “New” and then “Python File.”

For this project we will use the following modules that we are importing at the top of the .py file. The “Tkinter” module will allow us to have a simple GUI to allow the user to enter phone number Information to be validated. The “Tix” module allows us to use some handy labels, scrollbars and buttons to properly display the outputs from the service, and the “requests” and “xmltodict” modules will allow us to make a HTTP Get call and parse the results in the a Python dictionary respectively.

To add these modules in PyCharm you will need to go into settings from the File menu. Select Project:, and then select Project Interpreter.  Click the small green plus symbol in the upper right-hand corner and from there you can search for and install the necessary modules to run this project.

Now that we have all the necessary modules in place, let’s create a method that will eventually make the HTTP Get call. For now we will leave it empty as shown below.

There is nothing very exciting happening in that method at the moment, but we’re certainly going to change that.  We’ll now create the elements necessary to take in the values that will create a successful call to the GetInternationalExchangeInfo operation for the DOTS Phone Exchange 2 web service.  The service takes in 3 values as an input: PhoneNumber, Country and Licensekey.  To create the necessary input elements, add the following bits of code to your python file below the method definition.

This will give our GUI a title, and 3 text boxes so that we can enter the necessary information to validate an international phone number. Notice at the bottom that once the button gets pressed, it will call the PE2Int method which we have defined right above this code. Since we have the user interface all set up, we can go ahead and enter the code that will make the actual call to the web service and then display the results to the user.

Web Service Call and Fail Over Configuration

For starters, we’ll take inputs that a user will enter in the text boxes in the GUI and also instantiate the beginning part of the URL that we’ll be using to make a web service call. Additionally, we’ll utilize a feature of the “requests” module that allows the user to format the query string items in the URL in a more readable way. See below for the example.  Our new code will also have a “primaryURL” and “backupURL” string which we’ll talk about more when we get to implementing proper failover into the project.  Add the following code to the program under the primary method.

The project will now implement a few try/catch blocks that will call the DOTS Phone Exchange 2 web service and handle any potential errors that come up during the call to the web service. In this basic bit of code, we show how to call the service using the “requests” module and how to properly failover to another datacenter in the event that the primary Service Objects data center is not responding as intended.

As shown above, the code will call the primaryURL and then process the response depending on the results returned from the service. If an error code is returned and a TypeCode of “3” is returned the code will throw an exception, and then call the backupURL to receive a valid response from the service. A TypeCode of “3” indicates that something has gone wrong with the service and that it is throwing an “Unhandled Error.”

Proper error checking and failover implementation should be used to ensure that your business logic goes uninterrupted and can continue to be used in the event that the primary Service Objects data center is offline or not behaving as expected.

Displaying the Results to the User

Now that our fail over configuration is properly set up, we can work on displaying the results to the user. To do this we’ll create Label’s using the Tix module that will simply allow us to show the values that are returned from the service. To do this, make statements in the primary call and back up call section of the code resembling the following.

Now it’s time for testing!  For this example we’re using a the phone number to a Hotel in Germany, but feel free to test any phone number you would like! This operation will also validate phone numbers from the US and Canada as well. Here is an example of the sample output from the service.

This concludes our python tutorial. Please contact support with any questions or tutorial requests!

Data Quality in Marketing: Trends and Directions for 2017

Asking whether data quality is important to your marketing efforts is a little like asking if apple pie and motherhood are important – of course, the answer will always be “yes.” Recently, however, some interesting quantitative research was published that shed light on just *how* important it has become.

Marketing research firm Ascend2 performed a survey of 250 mostly senior people in marketing, to see what they thought about data quality. Over 80% of the respondents were in management roles, with more than a quarter of the sample holding C-level positions. Fully half were associated with large companies with over 500 employees, and more that 85% had over 50 employees. Respondents were also equally split between short versus complex sales cycles.

The results showed very clearly that data quality has risen to become a critical consideration in marketing success nowadays. Here are some of their key findings:

Improving data quality is their most important strategic objective. With 62% of respondents rating this as their top objective, data quality now ranks far above more traditional marketing objectives such as improving marketing data analytics (45%), improving user experience (43%), optimizing the lead funnel (26%), and even acquiring an adequate budget (20%).

Data quality is also their biggest challenge. Respondents also ranked data quality as currently being their most critical challenge, in smaller numbers (46%) but in similar proportions to the other factors such as those mentioned above.

But things are getting better. Fully 83% of respondents feel that their marketing data strategy is at least somewhat successful at achieving objectives, with over one-third (34%) rating their own efforts as “very successful (best-in-class).” Similar numbers also feel that their tactical effectiveness is improving as well. While 14% feel that they have been unsuccessful in achieving objectives to some degree, only 3% consider themselves to be very unsuccessful.

Data quality is a downstream process. Respondents clearly favored cleaning up contact data versus constraining how it is collected. Nearly half (49%) felt that validating contact data was the most important tactic for improving marketing data quality, while less than a quarter (24%) felt that standardizing lead capture forms were important. Other upstream measures such standardizing the data upload process (34%) and developing segmentation criteria (33%) were also in the minority.

Call in the experts. An overwhelming majority of respondents (82%) outsource either some or all of the resources they use to improve marketing data quality, with over a quarter (26%) using no in-house resources at all.

The results of the survey clearly show that data quality is one of the largest challenges that marketers are currently dealing with. Whether you are frustrated with incomplete or inaccurate sales lead data, tired of bad contact data causing customer service issues, or wasting money on marketing campaigns with results negatively impacted by poor contact data, understanding the quality of your data is the first step in identifying the true costs that poor data quality is having on your organization.

Connecting the DOTS between Address Validation and Address Detective

Service Objects, Inc. has been standardizing and cleansing even the messiest of USPS valid addresses for years. The core purpose of our DOTS Address Validation-US service is determining if addresses are valid based on their ability to receive mail. However, we’ve occasionally come across addresses that were known to be good but just not known by the USPS. In recent months, we’ve been working on alternative data sets to identify addresses that may not be mail-able but are in fact known to exist. DOTS Address Detective was pegged as the perfect landing spot for these hard to find addresses.

Address Detective, is a sleuth service that can do many things to help with the messiest addresses by using other data points like: name, business name, phone number, etc. One of its operations, FindAddressLines, doesn’t even require the normal clean address1, address2, city, state, zip format. Rather, it analyzes client input and determines the best match for each element. Clients with very messy data sets, unknown data sets or even corrupted data sets can repair and validate addresses with this operation.

One of our most recently added operation’s, FindOutlyingAddresses, was created to help with those hard to find addresses that are not known by the USPS. They may be general delivery areas where only the Post Office is known or they might just be way out of the way, disconnected from most communication. Mammoth Lakes, CA is a well known major General Delivery area. Mail is not delivered to individual houses but to the community Post Office.

Although Address Detective is great for these hard to find addresses, DOTS Address Validation is still the best choice for most users for most addresses, returning the most robust data and needed data points. Which is why we also needed a clean way to help our clients of Address Validation know when they should go to check the FindOutlyingAddresses operation. Its likely they will only be doing it a very small percentage of the time.

In order for our current clients to gain this insight without having to reintegrate a new operation or service, we have added an error type that will return only if the client wishes to see it.  This new error type of ‘5’ will be linked to the clients key and will only activate if requested.

The address:  3 Oak Tree Way, Mammoth Lakes, CA, 93546 is one of these addresses.  In Address Validation this error would be returned:

But from our new operation, we can see that the house exists and is known.  It’s a “Premise” level match meaning we found an exact match for the house.

With the new error message, a client will still get an error but it will be of type “5” meaning we know there is some sort of match in OutlyingAddresses that will provide more information about the address in question.

The normal error messaging will still apply for any address that we do NOT think is a good match for FindOutlyingAddresses.  For example, the address: 200 Greenwell Lane, Santa Barbara, CA, 93105 is out of range but we also know that it will not be found by Address Detective.

This new operation is a good way to see what we may know about an address if it can’t be found by normal means.

If there are any addresses you have in question contact us, we’re always interested in researching what we can find to help improve your business processes!

Tech Support in the Age of Instant Gratification

We live in an age where an overabundance of information and resources are just a few clicks away. Even physical goods can be delivered to your front door the very same day you order.  People want and expect to have the similar convenience and response times when they need technical support.

Us tech support experts here at Service Objects completely understand that. One of our core values is to offer outstanding Customer Support to our clients. We have a good day at the office when we can quickly and effectively answer questions about our services, resolve issues and get the data hungry masses up and running with their validation service of choice.  To help ensure that our customers can get back to using their validation service for their business we have several avenues where people can seek support.

24/7 Phone Support

Do you have a pressing issue after hours?  We understand that this can be exceedingly stressful and frustrating.  We want help you get it resolved as quickly as possible.  If you do ever run into an after hours support issue call our office phone number (1.805.963.1700) and follow the prompts. Once directed leaved a message with a detailed description of the issue you are encountering and the best way to contact you and a member of our team will typically contact you within 20 minutes.

LiveChat Through our Website

Have a quick question that you want answered right away? Like: what URL you should be using? What does this particular response mean from the service? Is this an expected response from the service? Are there any current issues occurring with the service?  Is there a different endpoint I should hit for a different operation? Questions like this are examples of ones we would be happy to answer in our LiveChat on our website. Simply navigate to our website during business hours and someone will be able to start a LiveChat with you once you are available.  Once they do, simply state the question or issue you are experiencing, along with pertinent account information and we will happily assist in any way we can.

Support Tickets

The primary method to address and keep track of all our support inquiries is through our support ticketing system.  Whether you call in, use LiveChat or send us an email, most technical support issues will get sent to our ticketing system and we’ll use it to quickly and effectively address any issues or questions you may have.  To create a ticket, simply email or click here and you can fill out the form to get a ticket created. Feel free to use any of the above channels to contact us and we’ll be glad to offer any support that we can!

Service Objects is the industry leader in real-time contact validation services.

Service Objects has verified over 2.5 billion contact records for clients from various industries including retail, technology, government, communications, leisure, utilities, and finance. Since 2001, thousands of businesses and developers have used our APIs to validate transactions to reduce fraud, increase conversions, and enhance incoming leads, Web orders, and customer lists. READ MORE