Microsoft Research · 2015–2016

Sequences and streams

Logan and (s|qu)eries: tools for asking how a sequence of events happened in a clickstream.

Where
Microsoft Research
Year
2015–2016
The users
Data scientists who analyze logs of user actions
What I did
Researcher, collaborating with Emanuel Zgraggen, Steven Drucker, and Robert DeLine.
Papers
(s|qu)eries: Visual Regular Expressions for Querying and Exploring Event Sequences CHI 2015Understanding the Breadth of the Event Space: Learning from Logan IEEE VIS 2016 EVENT workshop
A screenshot of Logan: a series of bubbles representing a flow of user data.
The Logan prototype, exploring shopping behavior at an online store.
1Who were the users?

Data scientists exploring logs of what people do in software.

Telemetry and log files record what people do in apps and online stores. The data scientists we talked to analyze sequences of events to repair interface issues and understand user behavior.

2What was the challenge?

It's hard to ask “what happened next?” of millions of clicks.

Questions like “When do people abandon a shopping process?” and “How do people recover from errors?” are about tracking the order of events. Database query systems make it easy to ask how often a single event happened, but make it challenging to explore sequences. Some dedicated event-processing tools were limited in what they could express, or didn’t scale to large datasets.

3What did we learn?

A visual approach to exploring event sequences.

The analysts were familiar with regular expressions (regexes), and even used regular expressions as a way of describing event sequence patterns. However, conventional query tools available did not have a regex-like language for expressing these sorts of queries.

4What did we build?

Two tools for regex-based visual queries.

We built two different tools to explore this space. Our first prototype, (s|qu)eries, is a touch-based interface for building a regular expression visually. As the analyst places query nodes, the system shows how many sequences match the expression. It was limited in scope, and only worked on very small datasets.

Its successor, Logan, addressed many limitations we’d found in the prior project. It runs on a streaming engine, Trill, so it could scale: results dynamically update while more data is read and processed. Logan opens with a bar chart of the events in the data, and makes it easy to compare cohorts of users.

Logan comparing two groups of shoppers, searchers and browsers, with a list of the sites they arrived from.
Logan comparing two groups of shoppers, searchers and browsers, and how each arrived at the store.
5What was the outcome?

A research agenda on event analytics.

(s|qu)eries was published at CHI 2015, with Emanuel Zgraggen, Steven Drucker and Robert DeLine. Logan was a position paper at the IEEE VIS 2016 workshop on temporal and sequential event analysis, describing what changes from one event dataset to the next.

These projects helped influence event analytics tools at Microsoft and beyond, encouraging teams to add regex-like capabilities and streaming interfaces.

Other projects