Overview
Poshmark is the leading social commerce platform where anyone can buy, sell and share their style with others. With an ever-changing catalog of more than 200 million items from 5,000 brands, Poshmark users can shop everything from home decor and pet accessories to new and secondhand clothing from more than 80 million style enthusiasts across the globe.
On the seller’s side, Poshmark encourages fashion-forward entrepreneurs to become the next generation of retailers. Virtual storefronts combine the human connection of physical shopping with the convenience of e-commerce, allowing shoppers to like, comment on, and share listings with their friends and followers. A simple, clean search experience lets users filter items based on size, brand, category, and other parameters. Looking for a fun, sustainable way to update your home or closet? Poshmark has it covered.
Because ease of use is critical to the success of their platform, Poshmark needed to better understand the overall user experience across their mobile and web applications. To do this, the company built an analytics solution that enabled internal teams to monitor thousands of business metrics such as the number of new listings created, social interactions, user conversions, and more.
Challenge
As Poshmark’s user base grew—and with it, the volume of data generated from their applications—this original reporting system struggled to query petabytes of high cardinality data and surface insights in real time. That’s when Poshmark’s vice president of data and ML infrastructure, Mahesh Pasupaleti, and his team turned to Apache Druid.
This system—built with Ruby, MongoDB, and D3—served several reporting use cases, from sales and marketing intelligence to feature performance and user behavior trends. But as the number of users and user interactions increased, Pasupaleti and his team realized the current pipeline would not scale to meet the growing demand for real-time insights. Queries took anywhere from minutes to days to complete, rendering dashboards useless for real-time decision-making.
In their search for a new solution, the Poshmark team knew they needed a database purpose-built for analyzing streaming data—and that’s exactly what they found in Druid. After rerouting data from MongoDB to Druid for their analytics use case, missing data and bottlenecked queries became a thing of the past. With a unique architecture that combines the best attributes of shared nothing and separate storage/compute models, Druid is both fast and highly available. It provides continuous backup and automatic recovery, with rolling upgrades and automatic rebalancing so engineers don’t have to spend time managing backups to maintain consistency across dashboards.
Solution
Poshmark deployed Druid as the backbone of their real-time analytics framework in 2017. While traditional BI reporting use cases and transactional data are still processed through Spark, Redshift, and MongoDB, Druid works alongside those systems to serve subsecond, high concurrency queries across 60-plus dimensions—allowing teams to perform real-time, ad hoc analysis on “hot tier” data, which Poshmark defined as the most recent 90 days, and the last 90 days year-over-year.
Poshmark has a name for their Druid-powered modern analytics stack: Quanta. The Quanta ecosystem, primarily used to analyze business performance metrics, has been adopted by multiple organizations within Poshmark due to its ease of use and compatibility with standard data consumption methods like SQL. Now, stakeholders across business development and product teams are able to make data-driven decisions in real time.
Results
“With real-time data in Druid, the team decides whether to roll out a feature, graduate a feature or roll back a feature. We do slow rollouts of every single feature we build, and data is what is used to decide the direction of our product.” – Mahesh Pasupuleti, VP of Data and ML Infrastructure at Poshmark
As Poshmark has worked to streamline the user experience on their platform, user activity has soared. In Q1 of 2022, the company saw a 59 percent increase in the average number of social interactions per user—leading to more sales through the platform and increased revenue for the company. And with Druid driving the analytics behind Quanta, Poshmark is able to pinpoint problems and explore trends without missing a beat.