Data Tables
Competitor Table
Optional: This table contains competitor price data, where each row represents a competitor price for one of your SKUs, for one of your competitors, at a given times.
Time Period: At least 30 days
Why do we need this? Luca uses this information to enforce price constraints based competitor prices as well as input into elasticity calculations. Note that if you don’t already have this data, we will gather it for you.
Schema
Unique Constraint: sku_primary
, competitor_name
, competitor_sku
,
timestamp
.
Name | Required? | Type | Description | Example |
---|---|---|---|---|
Identifiers | ||||
unique_id | optional | string | If no ID is provided, it will be auto-populated based on the unique constraint. | |
sku_primary | required | string | This must match the SKU used in the Product Table. | sku_1 |
Competitor Identifiers | ||||
competitor_name | required | string | Name of the competitor. | "The Competition" |
competitor_logo | optional | string | Link to the logo of the competitor. | "competitor.com/logo.png" |
competitor_sku | optional | string | Competitor’s SKU. | "csku_1" |
competitor_sku_description | optional | string | Description of competitor’s SKU. | "Size XL, color blue" |
competitor_link | optional | string | URL where the data was scraped from. | "examplelinktoproduct.com" |
competitor_product_image_link | optional | string | Image URL for the competitor’s product. | "examplelinktoproduct.png" |
Scraped Info | ||||
competitor_product_name | optional | string | Product name | |
competitor_product_brand | optional | string | Product brand | |
found | required | boolean | Was the product found? | true |
in_stock | optional | boolean | Was the found product in or out of stock with the competitor? | true |
weight | optional | string | Total weight of the product | 8 |
weight_unit_of_measurement | optional | string | oz | |
count | optional | float | How many units included? | 2 |
count_unit_of_measurement | optional | float | ct | |
sold_by | optional | float | Is this sold by weight or by count? | count |
competitor_list_price | required | float | 14.99 | |
competitor_member_price | optional | float | 12.99 | |
competitor_subscriber_price | optional | float | 12.99 | |
competitor_discounted_price | optional | float | 14.49 | |
competitor_currency | optional | string | Currency. | "usd" |
country | optional | string | Country. | "usa" |
competitor_store_location | optional | string | Information about the location of the competitor store. | "San Francisco, CA" |
competitor_service | optional | string | Service which provided this price data. | "Awesome Scraping Service" |
match_level | optional | float | Between 0 and 1, depending on match quality. Should be 1 for products that are identical (e.g., resellers selling the same Nike shoe). | 1 |
match_reasoning | optional | string | Any relevant information about how the match was made. | "Matched based on SKU description on website." |
timestamp | required | datetime | Refers to when the competitor data was scraped. | 2023-01-01 1:00:00 |