Case study: How to set up advanced analytics for an online movie streaming service
A large number of case studies are written about how to set up advanced analytics in a regular e-commerce project with an AIDA funnel. Many businesses know how to do this and don’t have problems setting up the funnel. But difficulties arise when you have a complex and unobvious sales funnel, many conversion types, and targeted actions. Let's see how can we bring all our data into one dashboard for online cinema?
grow 22% faster
Grow faster by measuring what works best in your marketing
Analyze your marketing efficiency, find the growth areas, increase ROIGet demo
1. Set up advanced analytics to measure conversion before subscription and other goals
At the online moving service, we have two types of transactions, and they aren’t equivalent as transactions typically are in e-commerce. There are transactional video on demand (TVOD) transactions (renting or buying a movie) for which we immediately receive money, while subscription video on demand (SVOD) transactions (subscriptions and trials) involve regular recurring payments.
Each month, a user can renew or not renew their subscription. It’s logical for us to focus on the growth of customer lifetime value (LTV) and not on one-time transactions, and the mechanics of working with LTV are different from the mechanics of working with other metrics.
To control conversions, we place trials in a separate group. In fact, trials are the same as subscriptions, only they’re offered for free or for 1 ruble. A trial can be converted into a paid subscription at the end of the promotional period (7 or 14 days). It’s very important for us to monitor such conversions.
Plus, there are also purchases and rentals — users can buy content that isn’t available as part of the main subscription, such as new films, or get temporary access to content for 48 hours.
2. Set up attribution to estimate channel contributions at each funnel stage
The marketing department aims to triple the number of paying users with a fixed maximum CAC. However, an atypical sales funnel and a large number of targeted actions greatly complicates both the management and evaluation of advertising campaigns. To achieve this goal, they needed a tool that would allow us to objectively evaluate advertising channels, taking into account all types of transactions. The analytics built based on internal storage and their own solutions weren’t sufficient.
3. Create a tool that monitors data quality for precise analysis
There also were questions about the quality of the analyzed data. Not all subscription form submissions were tracked on the website, and data downloaded from the CRM contained keys for matching data in a format different from the website. To increase the proportion of matching data and, accordingly, the quality of data, a monitoring tool was needed that would show the scale and dynamics of deviations and allow to identify problems on the website.
To get a report on all types of transactions and a tool for automatically monitoring data quality, the decision was to configure advanced analytics based on Google BigQuery.
To collect data from the website and advertising services in Google BigQuery, the team used Google Analytics 360 and OWOX BI. OWOX analysts helped to develop and implement a metrics system that considers the features of the online movie streaming service's business model, checks the quality of online data, and combines it with data from the CRM system since they need to see paying users in reports and this information is only in the CRM.
How to combine data for the dashboard:
- Automatically import cost data from advertising services into Google Analytics and Google BigQuery using OWOX BI Pipeline.
- Collect user behavior data on the website and transmit it to Google BigQuery using Google Analytics 360.
- Upload sales data from the CRM to BigQuery using a custom solution.
- Set up a data-driven funnel-based attribution model using OWOX BI Attribution.
- In Google BigQuery, combine website data, advertising services data, and the results of attribution calculations into one view.
- Transfer data from the BigQuery view into the Google Data Studio dashboard.
1. As a result, we got a sales funnel. We now see conversions to each target for each channel and can draw conclusions about the effectiveness of different scenarios.
For example, the performance report with overall metrics helps to see the objective contribution of sources, channels, and campaigns on different types of conversions (trials, activated trials, subscriptions, purchases, rentals):
The dashboard has many options to ease the work of marketers. For example, there are filters to analyze data on a particular film or product and track a user’s status. For example, a user could be on trial and subscribe after a campaign. There are many similar statuses: they help evaluate how campaigns aimed at certain users and results work out in particular segments.
For example, the chart below shows how purchases of the film Soul flow into rentals after its premiere when popularity starts to fall from its peak:
There is a page that shows the conversion rate of sessions to trials and trials to subscriptions. Before setting up advanced analytics, it was difficult for the team to track this information.
There are also separate pages for expenses and all types of transactions on which marketers can look at more detailed information.
2. It’s not enough to calculate metrics and scenarios when you want to find growth points in campaigns. Therefore, the funnel-based attribution from OWOX based on data collected in BigQuery was set up:
And based on attribution data, the team created this report:
In the report, you can view the value of channels (number of conversions) for all types of transactions (Trials, Activated Trials, Subscriptions, Data for Own, Rentals, etc.). All metrics in the performance report are counted according to two attribution models: Last Non-Direct Click and ML Funnel Based Attribution from OWOX BI.
In the screenshot, you can see the percentage deviation between these attribution models for all conversion types. The report helps marketers trace overestimated or underestimated channels according to the Last Non-Direct Click model and allocate the advertising budget.
3. A fair question is How can we control the quality of data from so many sources and for so many metrics? The team has built a separate dashboard that shows the quality of data matching to make decisions:
Matching is the process of collecting transaction data from a website and comparing it to the data in the CRM. Typically, CRM data is linked to online data by transaction ID. Before the service started working with OWOX, they didn’t transfer about 60% of transaction IDs. That is, the share of matching was about 40%.
Trust in data is important. If the input for analysis uses poor quality data that doesn’t agree with the real picture, then the results at the output can hardly be trusted.
Previously, the team spent a lot of time checking match percentages. Now they have a tool that clearly shows what percentage of transactions have been evaluated. They can see at any time how much they are matching data from the CRM with online data and not waste additional time on it. If suddenly something falls off in the online data, it’s immediately visible.
By applying additional data linking logic (which the OWOX colleagues helped with), the team raised the matching ratio from 40% to an acceptable 85%. And since this report gives feedback on actions on the front end, at some point they were able to fix the main bugs on the website and get a matching ratio of 90%.
4. While working on this project, the service team faced another task: controlling Google BigQuery costs.
Data quality is not the only important object of daily control. The online movie streaming service empowers dozens of employees with data. And poor handling of requests can unexpectedly increase the company’s spending on analytics support.
To keep our hand on the pulse, they use two solutions:
1. Dashboard for monitoring the amount of data (in GB) processed by Google BigQuery, along with the associated cost:
Here you can see under which account the most data was processed and warn a specific manager who exceeded the limit.
2. Chatbot with messages if the report isn’t updated or exceeds planned expenses on Google BigQuery. This helps to plan monthly data processing costs. The same bot alerts immediately after updating data from all sources in the report so the team don’t waste time on comparisons and can immediately begin to analyze campaigns.
The team uses the resulting dashboard in all regular processes to manage performance campaigns. In the future, they plan to create a mobile application and solve the cross-device attribution problem, as well as to assess the impact of media campaigns in the analysis.