We all know what data is – digits and text stretched over a large expanse of spreadsheets or databases. We use data to store anything from financial information, such as transactions and customers details, to weather and demographic statistics. But how do we store what people do online as rows and columns?
The common way to tackle this is by Events and Properties.
What is an event?
An event is any user action on your website or app. For example, an event can be a ‘login’, ‘checkout’, ‘watch video’, ‘start game’, etc.
A user will typically go through several such actions during their session on the website or app. In the behavioral data world, the data this user will create will consist of several such ‘events’. For example, in the checkout process, once the user clicks a button which says “Add item to cart”, we’ll define the event name as ‘Add Item’ and register the action as a new event.
What is a Property?
Each action a user performs typically has additional information related to it. To understand exactly what our users do, we want to know specifics, not just action names. For example, with our ‘Add Item’ event, we would likely want to know which item the user decided to add to the shopping cart. We can do this by adding the item type and number of items added to the action information we log. To do so, we’ll add two properties: ‘Type’ and ‘Amount’. In this case, if our user added two T-shirts to his cart, ‘Type’ will have the value ‘T-Shirt’ and ‘Amount’ will have a value of 2. To associate the new information to this specific action, we’ll save the data along with the event we captured – ‘Add Item’.
Note however, that ‘Type’ and ‘Amount’ don’t have to be associated only with this event. For instance, if we also have a “Buy Now” button on the same page, we can record the exact same properties with the ‘Buy Now’ event as well.
How are events and properties stored?
Typically, you can define as many events and properties as you’d like. To connect them, all you have to do is save the relevant properties with each event.
Modern databases can be broadly divided into two categories: Document-Oriented Databases – typically used in big data, and Relational Databases – saved in tabular form. Without going too much into the technical explanation, while document-oriented databases offer bigger storage and performance, they are very hard to look at and read for a common user. Most of us would be more accustomed to looking at data in tables, built from rows and columns.
Regardless of where you data is stored and what type of storage system you are using, data is easier to understand in tables. Typically, we’ll store each event as a row in our table, and the properties that go along with it will be the columns of the table. If we take our two events above for example, out table will look something like this:
A typical behavioral data system will obviously have to record a lot more data than the table above, such as user identification, the time the events took place, device and so on. Such
tables can grow to great sizes, which is why you would need advanced system to log and query the data.
What can we do with behavioral data?
Tracking our user information gives us the power to understand what works best for them on our site or app. To derive meaningful insights from data we require smart analysis tools that produce graphs and aggregations we can understand.
Several common behavioral analyses are:
- conversion funnels – how many users went through each of the steps (events) they have to in order to convert
- paths – what are the most common actions (events) performed by our users
- cohorts – how do our users segment and what are the differences between these segments
Few tools on the market allow you to both store and analyze behavioral data in one place. CoolaData provides you with both big-data storage, and the powerful analytics to query and understand this data.
For more details on how CoolaData tracks your events see Managing Events.
For more details on properties in CoolaData see Managing Properties.