Today we’re launching a monthly blog series highlighting our Powered by Snowflake partners. In each post, you’ll hear directly from a Powered by Snowflake partner sharing their perspective on a variety of topics ranging from how they designed and built their customer-facing application on Snowflake to their thoughts on emerging tech and industry trends.
Every day users search for hundreds if not thousands (or tens of thousands) of topics on an organization’s website. At Yext Analytics, we turn this raw search data into customer intelligence that provides the organization with insight about what their user is looking for and how they go about getting it.
In an ideal world, users would all use the same language for searching, and providing a great search experience would be a “set it and forget it” thing, but as customer preferences change and the language we use to describe things changes, so does the way people search.
While being able to collect data about all these individual searches is extremely important, we need a way to make sense out of this vast amount of information or it just becomes another source of noise. One way Yext addresses this noise issue is with a feature we call Search Term Clustering.
Search Term Clustering is an out-of-the-box tool that comes with Yext Analytics. It leverages machine learning (ML) to group searches with a common intent so that customers can analyze their business based on the common themes their users search for instead of combing through thousands of search terms individually.
For example, let’s say we have a customer who uses Yext Answers to run their Support Search, and their users have questions about resetting their password.
Figure 1: Clustering search terms with similar intent shows which topics interest customers the most, so you can make informed business decisions on which parts of your customer experience need improvements, additions, and adjustments.
There are a number of ways that a user can ask a question about this topic that all have the same intent (resetting their password) and can all be solved by the same piece of information (an article about how to reset your password). Clustering (see Figure 1) helps organizations get a true sense of users’ interest in a topic so they can prioritize experience improvements to address it.
Prior to Snowflake, it was impossible for Yext to deliver functionality like Search Term Clustering because of the sheer amount of data and complex logic required to do so. With Snowflake as the backbone of our analytics infrastructure, we’re now able to support powerful data insights like this and more for our customers in ways that were never before possible.
Our journey to Snowflake
Yext Analytics gives customers visibility into how people are interacting with their experiences and how they’re performing at scale. We generate massive amounts of data and it’s crucial that our infrastructure can support the size, complexity, and scale of queries that we need to issue to power these analytics—while also being easy to maintain and cost effective. Snowflake has been able to provide all of this in ways that our previous solutions simply could not.
Identifying our challenges
With our previous solutions, warehouse maintenance created a huge operational overhead for our engineering teams. It made developing new functionality much more challenging and ultimately delayed our ability to provide features like Clustering to our customers.
Because of the way our previous solution combined CPU and storage, maintenance and cluster administration became a huge source of overhead for the team. Engineers always had to be cognizant of the size and compute our cluster was using and proactively scale up our clusters to avoid major issues. This type of work often took up about 20% of our first responders’ time and was a very poor use of resources.
This also meant we had to be very selective about how much data we added to our warehouse, particularly for non-customer-facing functionality, which limited our ability to centralize our data across the company into a single warehouse.
Finally, query tuning became a significant time-waste for the team. We constantly needed to evaluate the queries we ran against our warehouse to ensure they were able to execute a customer’s queries quickly and efficiently.
Making the move to Snowflake
With Snowflake, upgrading and scaling up/down our clusters became automatic and required little to no downtime. We now had essentially zero-downtime cross-region failovers—something we’d never had before.
Because of this, we no longer needed to be so cautious about the type and amount of data that we stored in our warehouse. With almost infinite storage, we were able for the first time to centralize our data into a single warehouse that supports both functionality and data delivery in the product, as well as supporting our internal business intelligence needs.
On top of all this, we were able to provide our customers with new functionality, such as Search Term Clustering, that we could only dream of while being held back by the previous solution’s query performance limitations.
Developing a closer relationship with Powered by Snowflake
Joining the Powered by Snowflake program gave us a chance to partner more closely with Snowflake. We can discuss our needs with Snowflake so they better understand what we’re working on and what we’re interested in, and where Snowflake technology can assist. We also benefit from co-GTM pushes that give us more exposure. With Powered by Snowflake, we’ve developed a working relationship with Snowflake based on being partners—not merely customer and provider.
As Yext continues to grow, data will play a bigger and bigger role in how we operate our business internally and ultimately provide value to our customers. With Snowflake, we now have a partner and the tools in place to handle that growth.
Learn more about Yext Analytics and explore the Powered by Snowflake program.