User Session Analysis in Tellius and Data Preparation using SQL – Part 1: Data Transformation

In many analytics use cases, event data often plays a key role. This data may be a user’s interaction with an app on mobile or their interaction with a web application. This data is very valuable to understand the series of events a user has traversed in a given period of time.

One of the analyses we can do on this data is user session analysis. A session is a period of time the user comes to an application, spends some time in an application and moves away. This session analysis often helps to understand the various activities users will be doing in a  short period of time.

In this series of blogs, we will discuss how Tellius helps users to perform session analysis on their event data. This is first part in which we will discuss about the use case and how to start with SQL in Tellius Platform

Sample Data

The above data shows the sample data of activities. Here event_at signifies the time at which an event has occurred. Other fields signify the user and activity information.

As we can see from the data, there is no obvious way to say which session any given event belongs to. Before we can perform the session analysis, we need to determine which session a given event belongs to. 

This we can achieve using a little bit of ETL on data. 

ETL in Tellius

ETL is part of any data analysis pipeline. For the above data, we cannot ask the data team to update their schema to include session indicator as it’s specific to our analysis. Unlike many BI tools out there, Tellius has a full fledged ETL built in to the tool, which allows the user to perform use case specific ETL on the data without touching any of the source data.

Tellius supports point and click ETL for simple transformations

Tellius also supports advanced transformations using SQL and Python

In this post, we will be discussing how to use SQL of Tellius to figure out the sessions in our event data.

Figuring out when Session Starts

First we need to figure out when  a session starts. We can figure this out using the LAG function of SQL to calculate the same.

select * , LAG(event_at,1) OVER

(PARTITION BY user_id order by event_at) AS

last_event

from data

 

The above code figures out the last event time and adds a new column to the dataset. This column will be only added to Tellius data, and not to the original table. By not touching the original table, Tellius users are free to any changes to the data without worrying about the integrity of the source data and effecting the downstream systems. 

Now the data will look as below

 

Now we have figured out when the session starts and added it as a new column. As the next step we need to add additional code to figure out the unique sessions. We will discuss it in the next post.

Madhukara Phatak

Written by: Madhukara Phatak,

at Tellius

share

Read Similar Posts

  • From Numbers to Narratives with Generative AI: Revolutionizing Financial Planning & Analysis
    Analytics & Insights

    From Numbers to Narratives with Generative AI: Revolutionizing Financial Planning & Analysis

    Conversational FP&A AI analytics promises to transform raw data into powerful financial insights and narratives that move the business forward, powered by generative AI.

    Tellius
  • The Power of Tellius on Snowflake: AI-Driven Insights for Pharma
    Analytics & Insights

    The Power of Tellius on Snowflake: AI-Driven Insights for Pharma

    With Snowflake’s powerful AI Data Cloud as the foundation, Tellius adds the magic of conversational AI, automated insights, live Vizpads, and predictive analytics.

    Tellius
  • AI Agents: Transforming Data Analytics Through Agentic AI
    Analytics & Insights

    AI Agents: Transforming Data Analytics Through Agentic AI

    How are AI agents taking enterprise data analysis to a new level? Here's what to expect in this new agentic analytics era.

    Tellius