My browser WASM’t prepared for this. Using DuckDB, Apache Arrow and Web Workers in real life
Introduction At Motif Analytics, we are building a highly-interactive analytics tool, which allows finding insights in relatively large datasets, fully in-browser. We have a more traditional cloud-mode too, but the “local” (fully in-browser) mode is an important way for our users to experiment with Motif and see if it matches their needs, without making any commitments on their end. To make that possible, we employ several techniques, which include running DuckDB WASM, Apache Arrow, and Web Wor
Przemek Maciolek, 11/29/2023A Beginner's Guide to Sequence Analytics in SQL
A gentle, practical guide on how to analyze sequence data in SQL.
Misha Panko, 9/28/2023Introducing SOL: Sequence Operations Language
Shortly after we started Motif last year, my co-founder Misha asked me to think about what core set of sequence operations we should support. Thus began our quest for a small, yet expressive set of operations that allowed our users to do almost anything they could imagine with their event sequence data. We’ve made a lot of progress since then, culminating in a carefully crafted domain-specific language we call SOL: Sequence Operations Language. I’m excited to share more about how we designed SOL
Sean Taylor, 8/31/2023Introducing Sequence Analytics
Have you noticed that some business questions are easy to express in words, but not in code? For example, you might want to find “abandoned cart” moments: a user adds an item to a cart but then doesn’t checkout in the next hour. This is not trivial to describe in SQL unless there is already a field for this use case in a user session table (and it never seems to be there, does it?). Questions like this one, which rely on order or duration between events, are hard to approach using relational da
Misha Panko, 8/9/2023Bringing more causality to analytics
I’ve spent a lot of my career trying to convince folks that taking causality seriously is the most reliable way to drive business impact with data. Models, estimates, and analyses that we can’t interpret causally tend to answer particularly unhelpful questions. When we build a model to predict which users are going to churn, what we are really looking for is a model that tells us why they are churning, or even better: how can we prevent them from churning? While counting things reliably and buil
Sean Taylor, 10/11/2022Everything Is a Funnel, But SQL Doesn’t Get It
SQL is the cornerstone of today’s analytics. It is the preferred way to ask data questions and analytics tools seem to thrive or die by their ability to support it. SQL is even spreading beyond its traditional domain: the quick rise of dbt can be attributed to its ability to run data engineering—a domain of traditional programming languages—using good old SQL. But SQL is not a silver bullet, and you probably already know that. There is a trove of linguistic research about the interconnectedness
Misha Panko, 6/23/2022Why Can’t You “Pull Data Real Quick”?
Every person working with business data knows that you can’t “just pull data real quick”. Tweets on the topic go viral: If you’re reading this, chances are you’ve got a traumatic personal example you’re thinking of right now. Taking longer to answer questions means fewer iterations in a typical data deep dive, and thus — shallower insights. It also precludes data organizations from approaching many business questions altogether: when cost becomes too high, ideas fall below the prioritization th
Misha Panko, 3/30/2022The Missing Tool For Data Exploration
If you interact with business data on your job, you probably wonder: with an abundance of data and analytics tools these days, why is it still so hard to answer the most important business questions? Traditional business intelligence (BI) and even newer product analytics tools work well for answering reporting questions like: What is the number of users visiting my website/app per day? However, they don’t extend well to deeper ones like: Why has the revenue stopped growing in the last month? Ho
Misha Panko, 2/16/2022