Receptiv Analytics Report

The following report summarizes findings for the Mediabrix 360 video asset. This analysis includes a high level overview, a segmented analysis including viewer demographics and performance by device/platform, an analysis of bounce rate (when/why users leave the experience) and lower level examination of user behaviour inside the experience.

1.0 Basic Summary

To begin, we'll establish some vocabulary that will be used throughout the report:

  • View : We consider a view to be any user session that has been recorded by the plugin
  • Play : We consider a play to be any user session that has event data recorded. The number of views for an asset always greater than (or equal) to the number of plays. This is because some users will exit before playing the video, but their session is still recorded.
  • Bounce Rate : Percentage of users that leave after hitting the landing screen. A session is recorded, but no movement data.

Here are the high level metrics for the Mediabrix 360 video asset:

Total Views11 348
Total Plays1 297
Bounce Rate88.7 %
Average Time Watched5.1 seconds

2.0 Segmented Analysis

In this section we'll take a closer look at data to try and determine how different cohorts are performing with respect to one another.

2.1 Performance by Region

We begin by looking at geo-localization results for the asset.


The heat map presented focuses on the United States as all but a negligible amount of sessions where recorded from anywhere else. With that in mind, we take a closer look at the performance on a state-by-state basis. The following table shows significant findings in state performance relative to population percentage.

State% of US Population (Census 2015)% of ViewsDelta (% View - % Population)
New York6.28.11.9

We show Census data to highlight that the percentage of views needs to be weighed against the number of people in the state. If views where distributed evenly across the county, the % of Population and % of Views would be the same. The Delta column shows how much each state did better or worse than this even distribution. For brevity, we show only a representative view of the results by state, but the trend of high performance on the east coast relative to the west coast persists throughout the other results.

2.2 Performance by Device / Platform

Next we take a look at top ten devices by views. We truncate the list to ten devices for brevity once again. While the Android devices seem vastly outshined by Apple devices, one component of this is simply the sheer number of devices on the Android platform.

Device TypeViews% of Views
Apple iPhone593570.7
Apple iPad185122.1
Apple iPod touch2192.6
Motorola Moto Z580.7
Samsung S7550.7
Samsung S6540.6
Samsung S7 Active530.6
Motorola Nexus 6520.6
Samsung Tab A450.5

Aggregating these results by platform, however, we see that iOS devices (iPhone, iPad, iPod) indeed had a larger proportion of the views.

PlatformViews% of Views

2.3 Performance by Date

Next we examine view by date. Its is clear that this campaign was focused on the weekend of September 16, 2017. We note that views on the Friday, Saturday and Sunday of that weekend are all roughly the same (~2300 views per day) with diminished amounts to either end of this time period.

3.0 Bounce Rate Analysis

The bounce rate, as defined previously, is the percentage of users that hit the landing page and leave immediately. In 360 content this manifests as a session recorded without any movement data.

3.1 Summary

SegmentBounce Rate
Total88.7 %
iOS87.5 %
Android90.4 %

Once again we see that iOS is out-performing Android. Not only are more users viewing from iOS, but users on iOS are engaging with the content.

3.2 In-Content Analysis

We also examine the rate and time at which users leave the content (stop watching, close app etc.) by counting the number of events recorded per frame. This gives use the average times watched and other statistics related to viewer attrition.

Viewer in time

We see the viewer drop-off is roughly exponential as you might expect from a static asset like the Mediabrix asset. The average watch time is 5.1 seconds as stated in the summary.

4.0 Behavioural Analysis

In this section, we examine the users' movement behaviour inside the content.

4.1 Heatmap

The easiest way to visualize this is a heatmap showing the distribution of viewers in time.

NOTE: As you can see, the heatmap data seems wrong. This is probably caused by an incorrect conversion between your camera orientation and our coordinate system (UV). Also, the time index number seems incorrect, we get event in seconds instead of tenth of a second. Please contact us to fix this problem, we have the tool to test that in realtime and we can also help with the integration at no additional cost.

We note from the heatmap that most users do not move from what is presumably the starting position of the content. If they do move, is almost always up. We suspect that this is not user exploration, but a gesture to move to multitasking view by iOS users so they can close the application. In our experience, users explore on the horizontal plane or vertically down more readily than vertically up. Due to some technical issues as noted above, we cannot be certain precisely where users are looking inside the experience.

4.2 Activity Score

The activity score is a high level picture of how much users are moving inside the experience. Zero motion is typically a bad sign as quality immersive media often drives users to explore the scene. The activity score for all sessions is used a reference. We segment the sessions by platform to see which platforms are driving the highest user engagement.

SegmentActivity Score

Once again we see that iOS is out performing Android. iOS users are moving around and engaging more with the content. We can further subdivide the iOS devices as seen below.

SegmentActivity Score
iPod Touch0.77

Smoothed D3.js Radar Chart

(function() {

// Localize jQuery variable
var jQuery;

/******** Load jQuery if not present *********/
if (window.jQuery === undefined || window.jQuery.fn.jquery !== '1.4.2') {
    var script_tag = document.createElement('script');
    if (script_tag.readyState) {
      script_tag.onreadystatechange = function () { // For old versions of IE
          if (this.readyState == 'complete' || this.readyState == 'loaded') {
    } else {
      script_tag.onload = scriptLoadHandler;
    // Try to find the head, otherwise default to the documentElement
    (document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
} else {
    // The jQuery version on the window is the one we want to use
    jQuery = window.jQuery;

/******** Called once jQuery has loaded ******/
function scriptLoadHandler() {
    // Restore $ and window.jQuery to their previous values and store the
    // new jQuery in our local jQuery variable
    jQuery = window.jQuery.noConflict(true);
    // Call our main function

/******** Our main function ********/
function main() { 
    jQuery(document).ready(function($) { 
        /******* Load CSS *******/
        var css_link = $("<link>", { 
            rel: "stylesheet", 
            type: "text/css", 
            href: "style.css" 

        /******* Load HTML *******/
        var jsonp_url = "";
        $.getJSON(jsonp_url, function(data) {
          $('#example-widget-container').html("This data comes from another server: " + data.html);

})(); // We call our anonymous function immediately