How Snowpark+Streamlit Easily Delivers Machine Learning Apps in Snowflake
A revolution in data analytics is coming soon. Why are we so sure? Because the enabling technologies are already deployed in Snowflake, and it’s spreading to nearly every function of our business. Best of all, you too can soon get your hands on this solution.
For more than 10 years, Snowflake has been dedicated to bringing the work—pipelines, machine learning (ML) models, and apps—to your governed data. What’s next? You’ll be able to easily build and deploy ML models with Snowpark, Snowflake’s secure deployment and processing of non-SQL code, and then quickly turn those models into apps with Snowflake’s native integration of Streamlit (currently in private preview)—our open source, pure-Python app development framework.
Together, these technologies unite your technical and business teams to reveal ML-powered insights, all within the Snowflake Data Cloud, so your organization can streamline operations, better know and serve your customers, and uncover new market opportunities. Snowpark and Streamlit are already transforming how we do business at Snowflake.
Drinking, and selling, your own champagne
We all know how crucial it is for a technology company to eat its own dog food, or in more digestible terms, drink its own champagne. Well, it’s a smorgasbord at Snowflake. Our data scientists can now take their ML models built in Snowpark and transform them within minutes into dynamic, interactive apps with Streamlit.
This all happens inside of the Snowflake Data Cloud, which provides a single point of access to a global network of trusted data where data scientists focus on building models, not hunting down and preparing data sets. With Streamlit, you can build and share interactive apps with no front-end experience required and no HTML, CSS, JavaScript, or HTTP requests to work on, and the apps can automatically update with the latest insights.
Best of all, business users get ML-powered apps that visualize data and insights they can engage with. As they use an app, they will understandably want to expand its landscape to generate additional insights to make data-driven decisions. Data scientists can act on that feedback and easily update the model and its associated Streamlit app.
For many organizations, this also represents an opportunity to monetize such an app. The Snowflake Native Application Framework enables app providers to package, distribute, and monetize applications on Snowflake Marketplace. Easily building ML-driven apps can address many technology gaps an organization has, revealing the reality that potentially thousands of other organizations could benefit from the same solution.
How Streamlit powers Snowflake’s Marketing Intelligence
Snowflake is fairly unique to other organizations. We have significant data science teams deployed in our Finance, Sales, Product, and Marketing organizations. Predictive and prescriptive analytics have greatly enhanced our ability to dynamically understand what our customers and our business needs, and how to best deliver and anticipate the outcomes of offering the Snowflake Data Cloud under a consumption-based (not subscription) model.
For Marketing Intelligence, we have deployed and are developing a number of ML-driven apps using Snowpark and Streamlit. What’s the need, you ask? There are more than 11,000 MarTech solutions, according to the 2023 MarTech Landscape Research. It’s a challenge to understand the landscape, but even more so when no app exists to tackle your specific problem. Or, there is such an app but it’s missing key features.
Aside from SaaS apps, there’s a much broader need that Snowflake’s ML development and deployment environment addresses. For marketing intelligence, there’s no silver-bullet app and we don’t want one. Reason being, no two companies with the same function in marketing have the same needs. Having a dynamic and easy way to enhance at least 20% of a solution is the norm. So, why not easily build an app based on that premise?
Boosting Audience Segmentation-as-a-Service by more than 50% with Streamlit
At Snowflake, we enable customer segmentation based on the following steps:
- Identify groups of accounts or people with similar characteristics interested in Snowflake.
- Create personalized marketing campaigns tailored to these segments.
- Improve customer satisfaction and loyalty by providing solutions specific to their needs.
When combined, persona and account segmentation provides a more comprehensive understanding of our customers, allowing us to craft strategies that cater to individual needs, and within the broader challenges and opportunities of their organizations.
Sounds easy, but here some of the top issues when it comes to scaling segmentation:
- Human-driven processes depend on outdated, word-of-mouth input from Sales, obscuring many customer use cases and potential revenue opportunities.
- Audience segmentation tools exist but they’re limited by their capabilities.
- Customer needs evolve so fast that the technology landscape can’t keep up.
- Marketers aren’t able to experiment and provide feedback about proprietary apps.
To tackle all of these challenges, we built our own solution: Snowflake Database Audience Manager. In this Snowpark/Streamlit-based app:
1. Marketers define several types of segments, based on knowledge about the audience.
2. The definitions are stored in Snowflake and loaded into Python with Snowpark, where they can be edited in the Streamlit app. Marketers can also add or delete segments and change the priority order in which people are placed into a segment.
3. Queries are then run with Snowpark to estimate new segments, given the new changes.
4. From here, marketers can evaluate the new state of the segmented database to validate that the right people are being put in the right segments.
5. Marketers can see the movement of people between different segments as well as the individual titles most prevalent in the change.
On the backend, and to enable all of this, we unified all customer-360 data sources into a single source of truth in Snowflake using our modern data sharing technology, where data doesn’t have to be copied and moved. Instead, we make available read-only copies of the data that are automatically updated in near real time. We also used other traditional solutions to ingest external data.
The business benefits of Snowflake database audience manager
Audience Manager enables us to segment people and organizations that would otherwise be identified as generic personas and accounts, preventing us from delivering personalized campaigns to address their challenges and opportunities. By deploying iterative and data-driven segmentation, we’ve been able to increase our audience coverage by more than 50%.
Some of the business impacts we’ve seen with Audience Manager include:
- Better account planning strategy thanks to 360-degree customer views
- Immediate, accurate, and self-serve insights for our marketers
- Capturing how customers use Snowflake, leading to more sales opportunities
- Revealing the needs and opportunities of prospects to determine how and when to best engage them during all phases of the sales cycle
The future of Streamlit for Snowflake and our customers
We continue to iterate with Snowflake, Snowpark, and Streamlit to develop the best apps for Snowflake Marketing. This blog post is the first of many in which we’ll detail how we addressed the gaps in MarTech and modern marketing analytics technologies that don’t exist, or that don’t have advanced features to best identify and market to prospects and customers.
In addition to our marketing team, we will also use this blog series to reveal how other business units at Snowflake develop and deploy ML-driven apps, or enhance third-party apps, to reveal insights about customers and prospects, and streamline our business operations.
But that’s not the best part. With all that we’ve accomplished with app development internal to Snowflake in recent months, imagine what’s possible for the future of your organization. You can get started now using Streamlit open source, and stay tuned for access to the native Snowflake-Streamlit integration.
In the meantime, learn more about how Snowflake’s Marketing Intelligence team built its segmentation solution in Streamlit. Watch this on-demand Snow on Snow webinar. You can also attend live Streamlit sessions at Snowflake Summit 2023 in June. Or, please contact us to discuss how Streamlit and Snowflake can address your most pressing challenges and opportunities.