Luke Lewandowski presents challenges and solutions for consolidating analytics across multiple platforms. The challenges include making event comparisons meaningful across different platforms, dealing with separate SDKs for each platform, and high costs of implementation. The solutions proposed unify all events and attributes, use a single analytics platform via a proxy, and develop a lightweight custom SDK to push standardized events. This reduces costs while improving consistency, implementation, and maintenance of analytics across over a dozen platforms.
2. Introduction
Luke Lewandowski
Head of Development and Quality Assurance at Seven
Nearly 12 months ago we launched 7plus - OTT product
MVP was developed in 8 months - 5 platforms launched -
HbbTV, AppleTV, Web, iOS & Android
Currently over 12 platforms that 7plus runs on
P&T department runs more than just one product now
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
4. Challenge #1 -
Event Comparison
Multiple platforms with each having different event types
Meaningful comparison between platforms becomes
problematic - even though it shouldn't!
A non-technical person should NOT need to know about
differences between platforms (within reason)
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
5. Challenge #2 - SDKs!
Every platform has its own SDK with their own "smarts". Eg. page load
analytics or GPS location for mobile device.
Right now there are 16 open trackers for SnowPlow on GitHub
Testing becomes a little bit harder as you don't know what to expect
from each SDK. The "It is 2 lines of code" scenario - but many hours
of scratching your head from QA perspective.
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
6. Challenge #3 - Cost
Each industry metric has to go through certification/testing process.
Industry metrics - means even more SDKs to be implemented.
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
Justifying the ROI on each platform is very cumbersome and to achieve
analytics alignment across 10+ platforms is very hard.
7. Challenge #3 - Cost CD.
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
MVP Scenario - 7plus
- 5 platforms
- 4 different SDK (DMP, Industry Metric #1, Industry Metric #2, Analytics #1)
- Each analytics platform, implementation + testing (and certification if required) - 1 weeks
Example rate $800 p/day for developer = $16,000 per platform
MVP = $80,000 just to implement basic stuff JUST FOR DEV!
8. “We cannot solve our problems with the same
thinking that created them.”
Solutions
Unknown
9. Unify all events & attributes
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
GOAL: Roll out analytics/data in a way where anyone in the business is empowered to use that
data for business/product decisions.
Consolidate all events across all devices. eg. Application Launch event means the same thing
across all platforms.
Version all of our events.
Each version bundles product and technical events. Allows for events that
would have never been ROI justified to be implemented that benefit
analytics team as well as dev & qa. Often those events end up actually
being used for product!
Major versions are backward compatible.
10. Unify all events & attributes cd.
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
GOAL: Roll out analytics/data in a way where anyone in the business is empowered to use that
data for business/product decisions.
Provide tools & educate business stakeholders how to use
their data to find information they are seeking.
Utilise concept of inheritance for our attributes to make
implementation a lot easier for developers & QA.
12. Tackling SDK Nightmare!
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
GOAL: Keep the cost of roll out and maintenance low (both dev & qa). As well keep consistency
across platforms - even if they are on yearly release cycles!
One analytics platform - proxy them all!
13. Tackling SDK Nightmare Cd. !
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
GOAL: Keep the cost of roll out and maintenance low (both dev & qa). As well keep consistency
across platforms - even if they are on yearly release cycles!
We have found a lot of SDKs to be easy to roll out - however, not to deliver what we want.
We have failed pretty bad the first time we tried to roll out iOS, Web & Android. All events
were inconsistent with different properties.
We have created our own very light weight SDK that pushes events through
POST and it only contains what's absolutely required.
We write application that validates events against our custom context /
properties to make life a lot easier for everyone involved in analytics.
This also ensures that certifications are also much easier as we test at
the source.
14. Benefits
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
Every platform uses same set of events that are easy to understand - regardless of platform.
Implementation of new destinations - eg. Google Analytics is simplified - roll it out once and all
platforms benefit. Big cost efficiency!
Internal data department gets a copy of all events - where before they had to ask each
product to roll things out - which is sadly never a priority! We are now benefiting from
some of the interesting work they do because of it.
Our product features can now consume some of the events to make our
product better. (eg. CRM, notifications, marketing, continue watching etc.)
Our certification process is much easier with the time we
invested into internal tooling that can easily pick up issues
with events early.
15.
16. Drawbacks
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
As we are working on getting more products on the platform - we are having to reshuffle the
infrastructure to ensure separations of concerns, stability etc.
Bottlenecks related to throughput - Kinesis Sharding - although we are Melbourne Cup
battle tested.
How do we manage development across departments that might want their own
destinations?
How do we manage cost across product / ROI etc. ?
17. Things still to tackle
in/luke-lewandowski
Creative Commons Attribution 4.0 International License
Produced in 2018
Utilise SnowPlows' built in features - eg. schema validation, enrichment (we tried but failed)
Roll out all platforms with our TinySDK instead of full SDK.
Next iteration of our standard of events - including features to make analytics even
more maintenance / dev friendly.
Monitoring (especially when it comes to context) eg. you can't pause
video that you haven't started watching.
Implement context testing on the validation tool.