Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
EVOLVING YOUR ANALYTICS
STACK WITH YOUR BUSINESS
SNOWPLOW - LONDON MEETUP #4
SNOWPLOW - LONDON MEETUP #4
BUSINESSES ARE CONSTANTLY EVOLVING…
▸ Your products (apps & platforms) change
▸ Your questions...
SNOWPLOW - LONDON MEETUP #4
SELF-DESCRIBING DATA EVENT DATA MODELING+
EVOLVING EVENT DATA PIPELINE
HOW?
SELF-DESCRIBING DATA
PART 1
SNOWPLOW - LONDON MEETUP #4
NO TWO COMPANIES ARE ALIKE
SNOWPLOW - LONDON MEETUP #4
DEFINE YOUR OWN EVENTS AND ENTITIES
Events
Entities
‣ Build castle
‣ Form alliance
‣ Declare w...
"description": "Schema for a fighter context",
"vendor": "com.ufc",
"name": “fighter",
"version": “1-0-2“,
"properties": {
"...
SNOWPLOW - LONDON MEETUP #4
YOU THEN DEFINE A SCHEMA FOR EACH EVENT AND ENTITY
"schema": "iglu:ufc/fighter/jsonschema/1-0-2...
SNOWPLOW - LONDON MEETUP #4
THE SCHEMAS CAN THEN BE USED IN A NUMBER OF WAYS
▸ Validate the data (important for data quali...
EVENT DATA MODELING
PART 2
SNOWPLOW - LONDON MEETUP #4
WHAT IS EVENT DATA MODELING?
▸ Event data modeling is the process of using business logic
to a...
SNOWPLOW - LONDON MEETUP #4
MODELED VS UNMODELED DATA
event 1
event n
…
Users
Sessions
…
Funnels
IMMUTABLE.
UNOPINIATED. H...
SNOWPLOW - LONDON MEETUP #4
IN GENERAL, EVENT DATA MODELING IS PERFORMED ON THE COMPLETE EVENT STREAM
▸ Late arriving even...
EVOLVING THE DATA PIPELINE
PART 3
SNOWPLOW - LONDON MEETUP #4
HOW DO WE HANDLE PIPELINE EVOLUTION?
▸ Businesses change over time
▸ The events that occur are...
SNOWPLOW - LONDON MEETUP #4
PUSH EXAMPLE:
▸ If data is self-describing it is easy to add an additional
sources
▸ Self-desc...
SNOWPLOW - LONDON MEETUP #4
ANSWERING THE QUESTION:
1. EXISTING DATA MODEL
SUPPORTS ANSWER
2. NEED TO UPDATE DATA
MODEL
3....
SNOWPLOW - LONDON MEETUP #4
SELF-DESCRIBING DATA AND THE ABILITY TO RECOMPUTE DATA MODELS ARE ESSENTIAL TO ENABLE PIPELINE...
QUESTIONS?
SNOWPLOW - LONDON MEETUP #4
Upcoming SlideShare
Loading in …5
×

How to evolve your analytics stack with your business using Snowplow

751 views

Published on

Presented at Snowplow London Meetup, 8 February 2017

Christophe Bogaert, Data Scientist at Snowplow, talked about how businesses are constantly evolving, why that means their analytics stack needs to evolve with it and how Snowplow supports that evolution. With Snowplow, you can flexibly define the events and entities to represent your business. Finally, he talked about event data modeling and how to handle the evolution of your data pipeline.

Published in: Data & Analytics
  • Login to see the comments

  • Be the first to like this

How to evolve your analytics stack with your business using Snowplow

  1. 1. EVOLVING YOUR ANALYTICS STACK WITH YOUR BUSINESS SNOWPLOW - LONDON MEETUP #4
  2. 2. SNOWPLOW - LONDON MEETUP #4 BUSINESSES ARE CONSTANTLY EVOLVING… ▸ Your products (apps & platforms) change ▸ Your questions should change too ▸ It’s critical that the analytics stack can evolve with your business
  3. 3. SNOWPLOW - LONDON MEETUP #4 SELF-DESCRIBING DATA EVENT DATA MODELING+ EVOLVING EVENT DATA PIPELINE HOW?
  4. 4. SELF-DESCRIBING DATA PART 1
  5. 5. SNOWPLOW - LONDON MEETUP #4 NO TWO COMPANIES ARE ALIKE
  6. 6. SNOWPLOW - LONDON MEETUP #4 DEFINE YOUR OWN EVENTS AND ENTITIES Events Entities ‣ Build castle ‣ Form alliance ‣ Declare war ‣ Player ‣ Game ‣ Level ‣ Castle ‣ View product ‣ Buy product ‣ Deliver product ‣ Product ‣ Customer ‣ Basket ‣ Vehicle
  7. 7. "description": "Schema for a fighter context", "vendor": "com.ufc", "name": “fighter", "version": “1-0-2“, "properties": { "FirstName": {"type": "string"}, "LastName": {"type": "string"}, "Nickname": {"type": "string"}, "FacebookProfile": {"type": "string"}, "WeightLbs": {"type": ["integer", "null"]}, "Record": {"type": “string", "pattern": "^[0-9]+-[0-9]+-[0-9]+$"} } } SNOWPLOW - LONDON MEETUP #4 YOU THEN DEFINE A SCHEMA FOR EACH EVENT AND ENTITY I DON’T DO EVENTS THAT AREN’T SCHEMA’ED
  8. 8. SNOWPLOW - LONDON MEETUP #4 YOU THEN DEFINE A SCHEMA FOR EACH EVENT AND ENTITY "schema": "iglu:ufc/fighter/jsonschema/1-0-2", "data": { "FirstName": “Daniel” "LastName": “Cormier”, "Nickname": “DC”, "FacebookProfile": “Daniel-Cormier”, "TwitterName": “dc_mma”, "WeightLbs": 205 } }
  9. 9. SNOWPLOW - LONDON MEETUP #4 THE SCHEMAS CAN THEN BE USED IN A NUMBER OF WAYS ▸ Validate the data (important for data quality) ▸ Load the data into tidy tables in your data warehouse ▸ Make it easy / safe to write downstream data processing application (e.g. for real-time users)
  10. 10. EVENT DATA MODELING PART 2
  11. 11. SNOWPLOW - LONDON MEETUP #4 WHAT IS EVENT DATA MODELING? ▸ Event data modeling is the process of using business logic to aggregate over event-level data to produce 'modeled' data that is simpler for querying.
  12. 12. SNOWPLOW - LONDON MEETUP #4 MODELED VS UNMODELED DATA event 1 event n … Users Sessions … Funnels IMMUTABLE. UNOPINIATED. HARD TO CONSUME. NOT MUTABLE AND OPINIONATED. EASY TO CONSUME.
  13. 13. SNOWPLOW - LONDON MEETUP #4 IN GENERAL, EVENT DATA MODELING IS PERFORMED ON THE COMPLETE EVENT STREAM ▸ Late arriving events can change the way you understand earlier arriving events ▸ If we change our data models: this gives us the flexibility to recompute historical data based on the new model
  14. 14. EVOLVING THE DATA PIPELINE PART 3
  15. 15. SNOWPLOW - LONDON MEETUP #4 HOW DO WE HANDLE PIPELINE EVOLUTION? ▸ Businesses change over time ▸ The events that occur are going to change ▸ Use of the data will change ▸ Insight -> more questions -> more insight -> more questions ▸ Two types of evolution: push and pull BUSINESSES ARE NOT STATIC, SO EVENT PIPELINES SHOULD NOT BE EITHER
  16. 16. SNOWPLOW - LONDON MEETUP #4 PUSH EXAMPLE: ▸ If data is self-describing it is easy to add an additional sources ▸ Self-describing data is good for managing bad data and pipeline evolution I’M AN EMAIL SEND EVENT AND I HAVE INFORMATION ABOUT THE RECIPIENT (EMAIL
  17. 17. SNOWPLOW - LONDON MEETUP #4 ANSWERING THE QUESTION: 1. EXISTING DATA MODEL SUPPORTS ANSWER 2. NEED TO UPDATE DATA MODEL 3. NEED TO UPDATE DATA MODEL AND DATA COLLECTION
  18. 18. SNOWPLOW - LONDON MEETUP #4 SELF-DESCRIBING DATA AND THE ABILITY TO RECOMPUTE DATA MODELS ARE ESSENTIAL TO ENABLE PIPELINE EVOLUTION SELF-DESCRIBING DATA RECOMPUTE DATA MODELS ON ENTIRE DATA SET ‣ Updating existing events and entities in a backward compatible way e.g. add optional new fields ‣ Update existing events and entities in a backwards incompatible way e.g. change field types, remove fields, add compulsory fields ‣ Add new event and entity types ‣ Add new columns to existing derived tables e.g. add new audience segmentation ‣ Change the way existing derived tables are generated e.g. change sessionization logic ‣ Create new derived tables
  19. 19. QUESTIONS? SNOWPLOW - LONDON MEETUP #4

×