{
  "format": "dataset-manifest/1",
  "slug": "ecommerce-insights",
  "version": 2,
  "seed": "ecommerce-insights:1",
  "spec": {
    "format": "dataset/1",
    "slug": "ecommerce-insights",
    "name": "Ecommerce Insights",
    "tagline": "Customer orders, items, inventory warehouses, and coupon promotions from an online shopping platform.",
    "description": "Customers browse through a plethora of products on an e-commerce platform, eagerly adding items to their shopping carts and refining their wishlists. As they finalize their selections, they apply various discount coupons, aiming to maximize value on their purchases. This process generates a wealth of data centered around customer orders, capturing the intricate details of what products were chosen, the timing of purchases, and how promotional strategies influence buying behavior. Each order reflects a snapshot of consumer decisions, revealing patterns that emerge during peak shopping seasons or in response to specific marketing campaigns.  \n\nThe primary table, 'orders', serves as the backbone of this dataset, detailing each transaction made by customers. Each row represents a distinct order, capturing critical information such as the order ID, customer details, product selections, quantities, and the discount coupons applied. Analyzing this table allows developers to understand the relationships between customer behavior and sales outcomes. By focusing on individual orders, one can discern trends in product popularity, evaluate the effectiveness of promotions, and identify seasonal spikes in purchasing activity.  \n\nThis dataset is particularly useful for those looking to practice querying skills and data analysis. Questions that can be answered include: Which products are frequently purchased together? How do discount coupons impact overall sales? What times of the year see the highest order volumes? Such inquiries not only enhance technical proficiency but also provide insights into consumer habits and business performance.  \n\nIt's important to note that this data is synthetic, created to simulate real-world e-commerce transactions while allowing for diverse testing and analytical practice.",
    "domain": "ecommerce",
    "shape": "star-schema",
    "useCases": [
      "bi-dashboards",
      "analytics-demo"
    ],
    "keywords": [
      "ecommerce",
      "customer behavior",
      "sales analysis",
      "promotions",
      "product trends",
      "synthetic data"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "orders": {
        "description": "Each row in this table represents a customer order, detailing the selected products, utilized coupons, and the warehouses from which items are dispatched. The table captures key elements of the order process, linking customer decisions to product and promotional effectiveness.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each order."
          },
          "customer_id": {
            "kind": "int",
            "min": 1,
            "max": 1000,
            "description": "Identifier for the customer placing the order, ranging from 1 to 1000."
          },
          "product_id": {
            "kind": "int",
            "min": 1,
            "max": 200,
            "description": "Identifier for the product being ordered, ranging from 1 to 200."
          },
          "warehouse_id": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "description": "Identifier for the warehouse fulfilling the order, ranging from 1 to 10."
          },
          "coupon_id": {
            "kind": "int",
            "min": 1,
            "max": 50,
            "nullable": true,
            "description": "Identifier for the coupon used in the order, if applicable, ranging from 1 to 50."
          },
          "order_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date and time when the order was placed.",
            "dayProfile": "waking"
          },
          "quantity": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "description": "The quantity of the product ordered, ranging from 1 to 10.",
            "distribution": "long-tail"
          },
          "total_amount": {
            "kind": "decimal",
            "min": 10,
            "max": 500,
            "scale": 2,
            "description": "The total amount for the order, reflecting the price and quantity of items ordered.",
            "distribution": "long-tail"
          }
        }
      }
    },
    "structure": "single-table",
    "traits": [
      "monetary",
      "timestamped",
      "nullable"
    ],
    "analysisQuestions": [
      "What are the most popular products among customers?",
      "How do coupon promotions affect overall sales?",
      "What times of the year see the highest order volumes?",
      "Which warehouses are most frequently utilized for orders?",
      "What is the average order value when using a coupon?"
    ],
    "suggestedQueries": [
      {
        "title": "List all orders with their total amounts",
        "sql": "SELECT * FROM orders;",
        "dialect": "postgres"
      },
      {
        "title": "Count orders per product",
        "sql": "SELECT product_id, COUNT(*) FROM orders GROUP BY product_id;",
        "dialect": "postgres"
      },
      {
        "title": "Calculate average order value with and without coupons",
        "sql": "SELECT AVG(total_amount) AS avg_amount, COUNT(coupon_id) AS coupon_orders FROM orders GROUP BY coupon_id;",
        "dialect": "postgres"
      },
      {
        "title": "Find total sales per month",
        "sql": "SELECT DATE_TRUNC('month', order_date) AS month, SUM(total_amount) AS total_sales FROM orders GROUP BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Business Intelligence Dashboard Creation",
        "body": "Data analysts can utilize this dataset to create business intelligence dashboards that visualize the relationship between product sales and promotional effectiveness. By showcasing trends over time, stakeholders can make informed decisions regarding inventory and marketing strategies."
      },
      {
        "title": "Consumer Behavior Analysis",
        "body": "Marketers can leverage this dataset to study consumer behavior patterns, such as the impact of discount coupons on purchasing decisions. This analysis aids in crafting targeted promotional campaigns aimed at maximizing sales."
      },
      {
        "title": "Seasonal Sales Strategy Development",
        "body": "Ecommerce managers can analyze seasonal trends in order volume to better prepare for peak shopping periods. Understanding when customers are most active helps in optimizing stock levels and marketing efforts during high-demand times."
      },
      {
        "title": "Inventory Management Optimization",
        "body": "Warehouse managers can use this dataset to evaluate which warehouses are most frequently utilized for fulfilling orders. This insight can enhance inventory distribution strategies and improve logistics efficiency."
      }
    ]
  },
  "counts": {
    "orders": 500
  },
  "stats": {
    "orders": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 390,
          "min": 2,
          "max": 998
        },
        "product_id": {
          "nulls": 0,
          "distinct": 192,
          "min": 1,
          "max": 200
        },
        "warehouse_id": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "coupon_id": {
          "nulls": 50,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "order_date": {
          "nulls": 0,
          "distinct": 500,
          "min": "2023-01-01 22:43:58",
          "max": "2023-12-31 03:41:25"
        },
        "quantity": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "total_amount": {
          "nulls": 0,
          "distinct": 497,
          "min": 10,
          "max": 498.6
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/orders.csv",
      "format": "csv",
      "table": "orders",
      "key": "datasets/ecommerce-insights/v2/csv/orders.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ecommerce-insights/v2/csv/orders.csv",
      "bytes": 22784,
      "sha256": "01f033f3473201406c405664d7c99709aa2c5d3a23b0314c1a0053e4123ef7da",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "ecommerce-insights.json",
      "format": "json",
      "table": null,
      "key": "datasets/ecommerce-insights/v2/ecommerce-insights.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ecommerce-insights/v2/ecommerce-insights.json",
      "bytes": 110349,
      "sha256": "5dd1b25d49a283675ac3ac4ec08d0d0bfbb2dbdfa82a91cc702281a1ce0531ba",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/ecommerce-insights/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ecommerce-insights/v2/sql/postgres.sql",
      "bytes": 31511,
      "sha256": "49c24b77a1cdf04ed0264688ee37e96802bcdfc72e0b48c878519df85f4d1850",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/ecommerce-insights/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ecommerce-insights/v2/sql/mysql.sql",
      "bytes": 31395,
      "sha256": "82738008a018a67e99e77ccae0fe53d0ff4d65d4d95e66b16cbc721a83179510",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/ecommerce-insights/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ecommerce-insights/v2/sql/mssql.sql",
      "bytes": 31953,
      "sha256": "94b3d3b15af5a1a7789fd1298a07ab510f01c938eebafbc4302e181999fc9521",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/ecommerce-insights/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ecommerce-insights/v2/sql/sqlite.sql",
      "bytes": 31394,
      "sha256": "1301ba9d2664e49e6df08e61007960b8c5d0a08ddb0f7907fe439a0c3e9075f4",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/ecommerce-insights/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ecommerce-insights/v2/prisma/seed.ts",
      "bytes": 87625,
      "sha256": "dbbac716df436955107f8026fb0cf392afd823b905479fdb155c5dd1dab3f595",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/ecommerce-insights/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ecommerce-insights/v2/django/fixtures.json",
      "bytes": 132904,
      "sha256": "56f222173ab26f903920113b0d629ceed74a35ec35c63e6c1a509ef89ff5a06d",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767356367,
  "updatedAt": 1788778460578
}
