Rinsed washes away data quality issues with Metaplane
"Metaplane gives us peace of mind. Now, we know about all data quality issues that will affect us and our customers.”
Learn how Gabe, Sr. Data & Analytics Engineer, built Rinsed’s data infrastructure to support the needs of car wash providers.
Car washes have changed drastically since the first car wash, Automated Laundry, opened in 1914. For one, there’s actually some level of automation involved in most car-washing actions now. But on the backend, the customer journey and experience are also drastically different—transactions and recurring memberships are now automated, too.
One of the key players pioneering this change is Rinsed. Rinsed is the first Customer Relationship Management (CRM) tool built specifically for the needs of car wash providers. This makes them readily equipped to handle everything from integrations with on-premise Point-of-Sale (POS) systems, to tracking end-customers through their lifecycle, to promoting future activities.
Like other software with dashboarding capabilities, this requires data expertise to transform data into valuable insights for car washes looking to retain and expand their customer base. Here’s how Gabe Solomon, Sr. Data & Analytics Engineer and an early data hire at Rinsed, helped the data team make this happen.
How Rinsed uses data
Gabe describes the data that the team works with as grouped into two high-level use cases: external data and internal data.
External Data
Roughly speaking, car washes provide user contact information and transaction data to Rinsed. These two data “sets” then pass through Rinsed-internal pipelines for use in:
- Analytics: Rinsed surfaces metrics like the number of car washes, members vs non-members, and customers with contact information vs without, all with the goal of increasing customer retention and revenue.
- Customer segmentations: Users can create custom audiences in the Rinsed platform for their specific marketing needs.
- Customer activation campaigns: Users send texts/emails to their customers, creating strong relationships and building their brand.
❝One interesting thing about the data team at Rinsed is that we sit so closely to Product, which isn’t necessarily true of every data team. We get to work on the actual data that our customers use to make valuable decisions.”
Internal Data
In addition to the Product team, Gabe and the data team at Rinsed work closely to provide insights to all other departments, including:
- Marketing: Rinsed pulls data from marketing sources (i.e. HubSpot) to help the marketing team better understand campaign performance.
- Finance: Using data Rinsed puls from financial sources (i.e. Quickbooks), finance teams can track metrics like projected revenue split by funnel stages and current recurring revenue.
- Customer success: Highlighting new feature adoption metrics shows Rinsed customers how to get the most out of the platform.
How Rinsed evaluated Metaplane
Rinsed is in an extremely unique position with respect to data. Every single person at Rinsed, including non-technical team members, understands the concept of stale data. There are two reasons for this:
- Internal teams heavily rely on data generated by the data team to drive internal decisions at Rinsed
- Rinsed customers heavily rely on Rinsed to drive their own decisions
❝ We integrate with POS systems, so we need that data to be up-to-date. Imagine you own a car wash and you want to coordinate a campaign to follow up with customers the next day. We know that our customers benefit from exact timing on their marketing campaigns, so we need to help them make sure that their data is accurate from a freshness perspective.”
Stale data can happen for any number of reasons. Say a rogue cat knocks over an internet router, for instance. Now there’s no way for any serverless function to access that data (and that’s just an example focusing on data ingestion from an on-premise POS).
The point is, because Rinsed cares so much about the success of their customers, they wanted to know about every single incident where data—and by extension, insights and campaigns customers could create using the Rinsed platform—was wrong due to staleness.
Because Gabe and his team were no strangers to dbt, it was a natural fit to attempt to use dbt tests for freshness first. After all, they had already been using it to massive success to orchestrate modeling needed to power the product. Why couldn’t they use it for freshness?
What they found, however, was that dbt tests fell short of what they needed, mainly because the alerts weren’t actionable. While they could provide a snapshot of table updates at any given time, it was still difficult to:
- Parse and interpret results to understand which breaches were considered incidents
- Update test thresholds as transformation and ingestion frequencies changed
One online dbt event and a few meetings later, they began their evaluation of Metaplane, naturally starting with Freshness monitors. Metaplane’s machine learning-based approach took care of the need to update expected frequencies as processes changed, but Gabe and the team also found that they were receiving fewer alerts as a whole because Metaplane groups related incidents together into one alert and resolves breaches that aren’t real incidents.
For example, dbt tests can be configured to warn and prompt an error within a fixed range (i.e. you’re 1 minute over the range when, in reality, it’s fine to be two minutes late for that job/test). Metaplane’s models automatically calculate tolerance thresholds for each object which results in users only receiving “real” alerts (i.e. when you finally cross that 2-minute threshold).
❝ With Metaplane, although we’re covering more tables (compared to the old dbt test setup), we’re actually receiving fewer alerts, which is good, because it helps us focus only on the real incidents.”
As they continued to explore Metaplane functionality, they were also able to take advantage of Row Count monitors. In turn, this allowed them to put an additional layer of security on top of Freshness monitors to confirm that their data architecture was operating correctly which is particularly useful for car washes with multiple locations.
With this setup, it’s possible for 9 out of 10 car washes to replicate and successfully update a central “hub” that aggregates the data. When that happens, a freshness monitor may still pass, but a row count monitor is meant to capture that there’s missing data. This way, Rinsed can proactively alert a customer to inaccurate insights stemming from that one missing location.
Successes and looking forward
Gabe shared two successes, one quantitative and one qualitative, of implementing Metaplane at Rinsed.
- The data team has regained roughly 30 minutes per day (2.5 hours per week). Time that they previously spent triaging issues and updating stakeholders can now be spent on higher priority or net-new work.
- They have a newfound piece of mind thanks to their increased visibility. Now, they know about any and all data quality issues that may affect themselves or their customers.
❝ There’s a sense of comfort in being aware of any issues with transformations or extraction from the point of sale. And frankly, not having to worry about this lets us focus our time on the highest value items for the business.”
If what the data team is working on at Rinsed and the chance to be an early member of the analytics team interests you, check out their job openings here!
Want to regain time to focus on the highest-value items for your business? Create an account and setup monitors within 15 minutes. If you want to see how other companies use Metaplane, get in touch with our team!