Introduction

Narrator was designed to enable anyone to extract insights from their data. Existing data analysis tools are frequently limited by the data available to them. Asking new business questions typically requires work in the data warehouse to shape that data into the right format.

Narrator avoids this by storing everything in a single, consistent format. The advantage is that we can answer any type of business question you may have without rebuilding anything.

It does, however, mean that we think about your data a little differently.

How Narrator is Different

A data warehouse is a collection of everything your business knows about itself. This is typically stored in a series of tables. There might be one for all customers, sales, products, page views, etc. These tables are then merged together to make new tables that are easier to query. For example, a products, customers, and sales table might be combined into a new table that represents all products bought by repeat customers this month.

In this structure, each new type of query or business question will likely have its own table. The structure looks like this

factdim

Narrator is fundamentally different. It takes the same data from the data warehouse, but instead of creating one table per query or business question, it brings all concepts together into a format called an activity stream.

An activity stream is simply a sequence of actions taken by a customer. For example, a customer might have landed on your home page, subscribed to your mailing list, viewed a product page, and then submitted a ticket. The activity stream is effectively a list of those events, who did them, and when they happened.

We read the information in your data warehouse and transform all the base tables into a sequence of activities. The structure looks like this

activitystream

All data from many different sources is combined into a single activity stream. This is what allows us to ask business questions without creating new tables. Everything is already in one place and all concepts already relate to each other.

Activities

Activities are the primary concept in Narrator. All queries, Datasets, Dashboards, and Exports are built from Activities, so they’re important to understand.

Activities represent business concepts that you’ve defined. As a group they represent all ways a customer can interact with your business (or at least all ways for which you’re interested in gathering data).

Each activity is comprised of a known action taken by a customer at a specific point in time, along with any relevant info. Activities can be anything: viewing a page, adding a product to a cart, submitting a ticket, etc.

Narrator doesn’t define which activities are available. This is done by your company as part of the setup process. You’ll define scripts that transform data in your warehouse (say new entries in the Orders table) into entries in the activity stream.

Some example activities can be

Time: 3:00 PM
Customer: joe@example.com
Activity: Added to Cart
Product: small end table

Time: 3:01 PM
Customer: jane@example.com
Activity: Page View
Page: home/faq
Utm source: search engine

Time: 3:01 PM
Customer: abby@example.com
Activity: Submitted Zendesk Ticket
Ticket Number: 2343

Narrator can store an unlimited amount of additional information for each activity, all of which can be easily queried. Imagine an ‘order created’ activity that stores the products sold. With that we can easily build a dashboard of top sold products by month.

An activity-first approach allows many data questions to be expressed naturally. Examples include sequences of steps (customers who visited the site, filled out a form, but did not convert), sales funnels, conversion rates, and targeted Datasets (customers who checked out with the coupon code ‘FREE STUFF’ last week).

Customers

The Narrator activity stream is centered around a customer. Customers are exactly what they sound like: the people that buy your product or use your service. Each customer is uniquely identified by email address, though this can be configured to something else, like phone number.

Narrator also stores metadata about each customer to help in building queries or segmenting data. This powers simple dashboards like ‘top five products sold this month by customer age range’.

Narrator automatically does the hard work of associating the same customer across multiple activities, even for cases where the customer isn’t clear or not even known yet.

For example, when a customer first visits a web site we don’t actually know who they are. Luckily tools that track page view activities like Segment or Mixpanel assign a unique identifier to anonymous customers. Narrator will track those page view activities with the anonymous ids. When that customer later gives us their email address Narrator is able to go back to the activity stream and fill in the real customer. This means the activity stream for that customer will start from the first time they ever visited the site.