Prices, Plans & Bundles - BB-Media-IT/Data-Hub GitHub Wiki
This document details the schemas used to manage the Prices, Plans & Bundles
product data. During the delivery process, a specific S3 Bucket is created for each client. In each of these buckets, we have a main folder containing files in JSONL format. This folder is named PPB
. Additionally, within this folder, there is a subfolder named latest
.
Document Structure
This document is organized into the following sections:
Details of the S3 Buckets
Each client receives an S3 Bucket where data is organized into specific folders to ensure efficient management and quick access. The folder names reflect the types of data they contain, facilitating the identification and specific processing of each data set:
Example
s3://bucket-client/PPB
This folder contains a latest
subfolder, which is periodically updated with the latest available snapshot, ensuring that customers always have access to the latest information.
Update frequency and scope
- The update of the data in S3 Bucket is defined according to the needs of each customer.
- The scope is defined according to the needs of each customer.
🚀 You can get a weekly updated demo by connecting to the following Bucket s3://bb-media-data/ppb/
using AWS CLI or any software and the endpoint parameter --endpoint https://nyc3.digitaloceanspaces.com
.
Command example
aws s3 --endpoint https://nyc3.digitaloceanspaces.com cp s3://bb-media-data/ppb/ /Demo/BB-Media --recursive
File Description
We provide a detailed description of the files contained in the PPB
folder, explaining the structure and type of data each one manages. If you want to see the schemas in YAML, click here.
Platforms
Field | Type | Description | Example |
---|---|---|---|
platform_code | string | Country ISO Code + platform name | |
entry_date | string | Date of the platforms first entry | 2020-01-24 |
country | string | Country of the platform being surveyed | |
country_iso_code | string | Country ISO Code | AR |
owner | string | Name of the Company that owns the platform | |
platform | string | Name of the platform being surveyed | |
bundle_access | boolean | Does the platform have bundles? YES/NO | |
vpn | string | VPN used to collect the data |
Plans_and_Prices
Field | Type | Description | Example |
---|---|---|---|
platform_code | string | Country ISO Code + platform name | |
country_iso_code | string | Country ISO Code | AR |
date | string | Date on which the plan is being surveyed | 2020-01-24 |
time | string | Timezone offset in HH:MM format | 17:00 |
plan_id | string | Platform Code + Plan Name | |
plan_type | string | Plan categorization (Basic/Additional/Free/Transactional) | |
tier_type | string/float | Plan's tier type according to its plan type | |
revenue_model | string | Revenue Model | |
plan_name | string | Name of the plan being surveyed, as advertised | |
plan_screenshot_link | string | Link to plan screenshot | |
svod_duration | string | For subscriptions only, time duration of subscription | |
tvod_content_type | array | Type of transactional content available to rent/purchase. (Movie, Serie, Season, Episode) | |
live_channels_amount | float | Number of live channels | |
currency | string | Currency in which price is charged to local customer | ARS |
price | float | Current price | |
price_in_usd | number | Current price in USD | |
price_first_date | string | Date price first seen/ scraped / recorded | 2020-01-24 |
price_change_date | string | Date of most recent price change (if date is known) | 2020-01-24 |
has_commercials | boolean | Does this product include any commercials? YES/NO | |
has_downloads | boolean | Allows downloading of content for later viewing? YES/NO | |
max_resolution | string | Maximum streaming resolution. SD/HD/UHD/Full HD/4K | |
max_profiles | float | Maximum number of profiles per account (if stated) | |
max_devices | float | Maximum number of registered devices (if stated) | |
max_streams | float | Maximum number of simultaneous streams (if stated) | |
max_downloads | float | Maximum number of simultaneous/stored downloads (if stated) | |
smart_tv_compatibility | boolean | Available to stream on smart TV. YES/NO | |
external_tv_device_compatibility | boolean | Available to stream on any external TV device. YES/NO | |
browser_compatibility | boolean | Available on browsers (laptops and desktops, possibly others).YES/NO | |
tablet_compatibility | boolean | Available on tablet devices/apps. YES/NO | |
mobile_compatibility | boolean | Available on mobile devices/apps. YES/NO | |
devices_screenshot_link | string | Link to devices screenshot | |
plan_status | string | Active/Inactive/New | |
price_url | string | Complete url where price information was obtained. | |
plan_url | string | Complete url where plan features are obtained (if different from source of price). | |
devices_url | string | Complete url where devices information was obtained | |
live_channels_url | string | Complete url where live channels information was obtained. | |
week_number | float | N° of deliverable week to which the data belongs | |
type_of_change | string | Type of data change made in the row. Modified/Deleted | |
inactive_plan_date | string | Date of invalid plan (if date is known) | 2020-01-24 |
entry_barrier | string | Is the entry barrier we have to access a platform | |
entry_barrier_details | string | Is the entity to which I must subscribe/be a customer, etc. |
Offers
Field | Type | Description | Example |
---|---|---|---|
date | string | Date on which the offer is being scraped | 2020-01-24 |
plan_id | string | Platform Code + Plan Name | |
offer_id | string | Product Plan ID + Offer Type + Offer Duration | |
offer_type | string | Free Trial/Discount/Amount/Price | |
offer_amount | float | Amount of money/percentage related to the offer, in numbers | |
offer_duration | integer | Duration of the offer, counted in days | |
offer_comunication | string | How is the offer duration being communicated? Days/Weeks/Months/Years | |
offer_screenshot_link | string | Link to offer Screenshot | |
offer_first_date | string | Date offer first seen / scraped / recorded | 2020-01-24 |
offer_change_date | string | Date of most recent offer change (if date is known) | 2020-01-24 |
offer_status | string | Active / Inactive / New | |
week_number | float | Nº of deliverable week to which the data belongs | |
type_of_change | string | Type of data change made in the row. | |
inactive_offer_date | string | Date of invalid offer (if date is known) | 2020-01-24 |
entry_barrier | string | Is the entry barrier we have to access a platform | |
entry_barrier_details | string | Is the entity to which I must subscribe/be a customer, etc. |
Bundles
Field | Type | Description | Example |
---|---|---|---|
country_iso_code | string | Country ISO Code | AR |
date | string | Date on which the bundle is being scraped | 2020-01-24 |
time | string | Timezone offset in HH:MM format | 17:00 |
plan_id | string | Platform Code + Plan Name | |
bundle_plan_id | string | Partner + Bundle Plan Name | |
partner | string | Name of platform/partner who is reselling/bundling *SVOD service | |
bundle_plan_name | string | Name of bundled plan, if different from product/tier names | |
bundle_type | string | Commercial Bundle/Billing Bundle/Deeplink Bundle | |
currency | string | Currency in which bundle price is charged to local customer | |
bundle_plan_price | float | Current price | |
bundle_price_in_usd | float | Bundle plan price in USD | |
has_parent_price | boolean | Does the bundle require acquiring any service as a prerequisite of getting the bundle? YES/NO | |
parent_price | float | Price of parent subscription that is prerequisite of getting bundle (cheapest if there are multiple) | |
ott_app_in_stb | boolean | Is the APP of the bundled platform available in the MSOs set-top box? YES/NO | |
bundle_offer_type | string | Type of bundled offer. Free Trial/Discount/Amount/Price | |
bundle_offer_amount | float | Amount of money/percentage related to the bundle offer, in numbers | |
bundle_offer_duration | float | Duration of the offer, counted in days | |
offer_communication | string | How is the offer duration being communicated? Days/Weeks/Months/Years | |
bundle_screenshot_link | string | Link to bundle screenshot | |
bundle_link | string | Link to bundle | |
bundle_status | string | Active/Inactive/New | |
week_number | float | Nº of deliverable week to which the data belongs | |
type_of_change | string | Type of data change made in the row. Modified/Deleted | |
inactive_bundle_date | string | Date of invalid offer (if date is known) | 2020-01-24 |
entry_barrier | string | Is the entry barrier we have to access a platform | |
entry_barrier_details | string | Is the entity to which I must subscribe/be a customer, etc. |
Table Visualization & Data Relationships
We include tables to clearly visualize the relationships and key fields in each JSONL file and analyze how the various files interrelate to provide a complete view of the overall Prices, Plans & Bundles product data model.