3 Ways Coupa’s Development Team Designs Effective Search Functionality

Mark Reed
Mark Reed
Director of Technology, Coupa

Mark Reed is a Director of Technology at Coupa. He is passionate about search, machine learning, and technology that helps people find what they need more effectively. He has previously worked in several startups and has been with Coupa for four years. Mark holds a Computer Engineering degree from Case Western Reserve University and currently resides in the Cincinnati area in the United States.

Read time: 5 mins
3 Ways Coupa’s Development Team Designs Effective Search Functionality

Effective search functionality is critical to enhancing Business Spend Management (BSM), especially during economic downturns when supply chain issues or travel expenses could play major roles in a business’s success. However, not all searches surface the most relevant results or provide a user-centric experience.

For many engineers who want to design effective search, they know that inadequate functionality can lead to frustrating user experiences, poor purchasing decisions, and even compliance issues. So, how can engineers make search functionality more effective for BSM professionals?

Here are three considerations for designing effective search that our development team uses at Coupa.

1. Start with good data

The key to effective search functionality starts with rich, high-quality, current data.

Rich data

When designing search functionality, it’s important to include clean-fielded, basic data, like product names and prices. But more effective search happens when you layer in rich data, such as detailed descriptions, images, part numbers, manufacturer information, and more. For example, if a person wants to search by brand, part number, or use, that information must be part of the data. If it’s not, users may encounter irrelevant search results — or, worse, no search results at all.

High-quality data

Like many things, “garbage in” leads to “garbage out.” It does not help the search experience to add large volumes of poor, irrelevant data. For instance, if you have a list of items with accurate titles but unstructured or unclear descriptions, it might be better to avoid including those descriptions. The information should also be relevant and specific to the data. For example, generic placeholder text — like TBD, N/A, or office supply — in fields rarely adds value.

Current data

When users search, they want current information instead of outdated results. Many search algorithms are even biased toward more recent information. While this is a balance with performance considerations, keeping information curated so it is up to date and actively indexed makes for more effective search.

2. Use best-in-class search technology

After years of continuous improvement, search technology is more robust and effective than ever. Doug Cutting originally wrote Lucene in 1999, which was his fifth search engine. Today, Lucene is the foundation for both Elasticsearch and SOLR, as well as a wealth of other search engine technologies. At Coupa, we use Elasticsearch as our search technology foundation.

Here are several things search technology does that a traditional relational database does not do.

Tokenize text into words

People rarely know the full title or phrase for what they are searching. Instead, they usually expect to type a few words and find what they need. Tokenization breaks all data into words so that can happen, and it must work with every language. At Coupa, that’s why we use Unicode Text Segmentation to support global companies.

Understand the language

Modern search technology understands the formal and informal nuances of languages across the world. For example, a person might type a plural or a singular word, even when they likely expect to find both in search results. Similarly, a person might accent a word or not, regardless of whether the formal language says it should be accented. Still, they probably want both versions to appear in search results. At Coupa, our shopping search supports over 30 different language models.

Technology that handles mistakes

End users make mistakes. They mistype or misspell. Search technology can check near variations to find matches. At Coupa, for instance, we use Elasticsearch to find spelling equivalents of terms that users may spell incorrectly in their search queries.

3. Iterate, iterate, iterate

There is no silver bullet with search. The best search comes from constant improvement. Google, for instance, changes their algorithm over 500 times per year. Similarly, our development team at Coupa finds a balance between algorithm changes being too conservative and slow to change versus making too many changes too quickly, which can disrupt customer satisfaction. Here are a few ways that we iterate on our approach to effective search.

Analyze the data

Search is extremely data-sensitive. An algorithm that works well on some data may work poorly on other data. That’s why it’s so important to analyze the data and understand its nuances. At Coupa, we analyze customer data and community data to do this. That data is then put to use in our AI-based classifiers to make the search results most relevant for a given customer's users and products.

Monitor user behavior

Search is ultimately about connecting a real-life user to search technology. To do that, it’s imperative to fully understand user behavior to achieve the right balance in search functionality. Our method of doing this at Coupa is to use our internally developed customer tool, Content Insights, to understand the searches being run and how effective they are.

Tune for probability, not perfection

There is often no "right" answer in search since the exact same search might mean one thing to one user and something else to another. Ultimately, tuning search for user behavior is a probability game — you have to engineer search functionality to provide the most relevant or likely results that address a user’s search intent.

Effective search is a journey and a never-ending one at that, but if users can quickly and easily find what they are searching for, they will thank you for it.

Interested in joining our team of world-class developers who engineer powerful search functionality?

Learn More About Careers at Coupa