App Usage User Guide
Executive Summary
This document provides a description of the Gener8 Labs’ App Usage data product. It explains the collection methodology and gives an in-depth explanation of the variables composing the dataset, with the aim of enabling the user to easily and effectively deploy the App Usage dataset. The steps performed to transform the collected data into the end product are also laid out.
Key takeaways of the user guide:
- Composition of the App Usage dataset;
- How to effectively deploy the App Usage dataset;
Client Support
Technical
[email protected]
About Gener8
Since its launch in 2018, Gener8 has been at the forefront of the “open data” movement: the belief that people should be able to control and be rewarded from their data. Gener8 makes it easy for its users to anonymously share their digital data, in exchange for rewards through its mobile and desktop apps.
This clear and transparent value exchange means that Gener8 has access to a uniquely comprehensive dataset. Gener8 upholds the highest standards of informed consent on every data set a user chooses to share with us.
Introduction
Gener8 Labs’ App Usage product describes detailed, app-level information regarding a users activity on their device.
Gener8 Labs receives the usage information from the devices on a regular interval and stores it in a structured format, enriching it further with information gathered from the Google Playstore. Please note that Gener8 only collects app activity from Android devices and not iOS devices.
Product Overview
Gener8 Labs takes care of the needs of clients by creating a well-structured dataset. In doing so, Gener8 Labs is committed to adhering to robust industry standards, ensuring precision and seamless deployability.
Every table reports the name of the column (i.e., Field) that can be used to access the specific observation; the format of the observation (i.e., Type) to ensure that the accessed raw can be manipulated according to the type of columns; whether the column might contain an empty observation (i.e., Y) or not (i.e., N) (i.e., Null Value); and finally, the columns description, where the interpretation of the observation is reported.
Data Schema
The App Usage dataset comprises the observations gathered from the Gener8 app products. Gener8 Labs formats and cleans this dataset to ensure that, each observation, is relevant and precise.
| Name | Type | Optional | Description |
|---|---|---|---|
| activity_started | TIMESTAMP | N | Timestamp indicating when the App activity began, represented in UTC |
| activity_stopped | TIMESTAMP | N | Timestamp indicating when the App activity ended, represented in UTC |
| interval_type | STRING | N | Human readable description for the length of the interval described by the record |
| country_iso_code | STRING | N | Country in which the App has been used in, derived from the client IP using a Geo IP solution. If a user uses a VPN the accuracy of this value may be impacted. |
| app_bundle_id | STRING | N | The unique descriptor for the App as a piece of software. This is not mutable |
| app_name | STRING | Y | The human readable title of the App. This value is mutable and has the potential to shift over time as a vendor updates their app name |
| session_duration | INTEGER | N | The number of seconds the App was active on the users device for during that interval |
| hardware_type | STRING | Y | An indicator of Phone vs Tablet |
| user_agent | STRING | Y | The user agent of the Gener8 App |
| device_make | STRING | Y | The make of the phone or tablet that the app usage data was collected from. This field is collected by the App & sent to the server at registration for App Time. I.e. when the feed is enabled |
| device_model | STRING | Y | The model of the phone or tablet that the app usage data was collected from. This field is collected by the App & sent to the server at registration for App Time. I.e. when the feed is enabled |
| os | STRING | N | The brand of OS that was running on the device |
| os_version | STRING | Y | The Android version that was running on the device at the time of upload |
| device_id | STRING | N | A unique identifier for the device that the App Usage data belongs to. This field is collected by the App & sent to the server at registration for App Time. I.e. when the feed is enabled |
| user_id | STRING | N | The Gener8 User ID of the user that connected the device |
| app_category | STRING | Y | The category of the App as per the Google Playstore. The enriched category is mutable and has the potential to change over time. When this happens, this field will show the most recent category assigned by Google Playstore |
| received_at | TIMESTAMP | N | The timestamp of when this observation was ingested, represented in UTC |
Data Availability and Description
Gener8 receives the App usage data from our users on a nightly basis. While the overarching goal is to represent accurate values for all fields pertaining to each device, user & App, it's important to acknowledge that not every App has information readily available from the Google Playstore for enrichment, and that we are also subject to the limitations of the data that is presented by the device.
The granular data we retrieve from device is not retained indefinitely by the device, and the availability of historical events depends on the device's data retention policies and the Android OS version.
Event-Level Data
Each record in the dataset represents a unique combination of Device, App, and Event Timestamp. Unlike the aggregated intervals provided by the UsageStats API, the UsageEvents API offers granular, event-level data. This means we capture precise user interactions with apps.
The intervals themselves have a high temporal resolution, recording very granular time which represents individual sessions of activity.