{
  "format": "dataset-manifest/1",
  "slug": "precious-metals-trading-platform",
  "version": 1,
  "seed": "precious-metals-trading-platform:1",
  "spec": {
    "format": "dataset/1",
    "slug": "precious-metals-trading-platform",
    "name": "Precious Metals Market Activity",
    "tagline": "Metrics on trades, fees, metal prices, and user transactions in a precious metals trading platform.",
    "description": "A trading platform focuses on precious metals, seamlessly connecting buyers and sellers in a secure marketplace. Users actively engage in buying and selling metals, alongside managing asset transfers to storage facilities and processing withdrawals. This environment operates under strict compliance with know-your-customer regulations, ensuring smooth and trustworthy interactions. The dataset captures metrics essential to understanding the dynamics of this market, revealing transaction patterns and user behaviors during peak trading hours, while highlighting the infrequency yet considerable value of larger withdrawals that signify active trading engagement.\n\nThe dataset includes several interconnected tables: 'users', which outlines the individual participants in the marketplace, detailing their profiles and engagement levels; 'trades', recording the specific buying and selling transactions that occur; 'fees', which tracks the charges associated with each transaction; 'metal_prices', reflecting current market prices for various precious metals; and 'storage_facilities', providing information about the locations and capacities where these assets are securely stored.\n\nEach row in the 'trades' table corresponds to a unique transaction between users, linked to the 'users' table by user IDs, allowing analysts to identify trading patterns among different participant profiles. The 'fees' table links to 'trades' via transaction references, giving insight into the costs incurred during trading activities. The fluctuating values in 'metal_prices' can be joined with 'trades' to analyze how market volatility impacts user decisions. Finally, 'storage_facilities' connects with 'users' to track where assets are held.\n\nThis synthetic data is ideal for exploring questions like: What trading patterns emerge during different times of the day? How do fees influence user behavior? What correlations can be drawn between metal price fluctuations and trade volumes? Practicing on this dataset provides opportunities to develop insights into trading strategies, market dynamics, and user engagement within the precious metals landscape.",
    "domain": "banking",
    "shape": "slowly-changing",
    "useCases": [
      "etl-pipelines",
      "teaching"
    ],
    "keywords": [
      "trading",
      "precious metals",
      "user activity",
      "market trends",
      "financial data"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "A table capturing user details involved in trading activities. Each user can engage in multiple trades, and their KYC compliance status is recorded.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "User's email address."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "The date the user account was created."
          },
          "kyc_status": {
            "kind": "enum",
            "values": [
              "verified",
              "pending",
              "rejected"
            ],
            "description": "The KYC compliance status of the user."
          }
        }
      },
      "trades": {
        "description": "This table records transactions where users buy or sell precious metals. Each trade links back to a user and records the trade details.",
        "rows": {
          "per": "users",
          "via": "user_id",
          "min": 1,
          "max": 10,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each trade."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The ID of the user who made the trade."
          },
          "metal_type": {
            "kind": "enum",
            "values": [
              "gold",
              "silver",
              "platinum",
              "palladium"
            ],
            "description": "Type of metal traded."
          },
          "trade_amount": {
            "kind": "decimal",
            "min": 0.1,
            "max": 1000,
            "scale": 2,
            "description": "The amount of metal traded."
          },
          "trade_price": {
            "kind": "decimal",
            "min": 1000,
            "max": 2000,
            "scale": 2,
            "description": "The price at which the trade was executed."
          },
          "trade_time": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "dayProfile": "business",
            "description": "The time the trade was executed."
          }
        }
      },
      "fees": {
        "description": "This table captures the fees associated with each trade, linked to the trades table to maintain a record of costs for users.",
        "rows": {
          "per": "trades",
          "via": "trade_id",
          "min": 1,
          "max": 1,
          "skew": "flat"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each fee record."
          },
          "trade_id": {
            "kind": "fk",
            "ref": "trades.id",
            "description": "The ID of the trade associated with this fee."
          },
          "fee_amount": {
            "kind": "decimal",
            "min": 1,
            "max": 50,
            "scale": 2,
            "description": "The fee charged for the trade."
          },
          "fee_type": {
            "kind": "enum",
            "values": [
              "transaction",
              "storage",
              "withdrawal"
            ],
            "description": "Type of fee applied to the trade."
          }
        }
      },
      "metal_prices": {
        "description": "This table holds historical price data for precious metals, allowing the analysis of price fluctuations over time.",
        "rows": 365,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each price record."
          },
          "metal_type": {
            "kind": "enum",
            "values": [
              "gold",
              "silver",
              "platinum",
              "palladium"
            ],
            "description": "The type of metal for which the price is recorded."
          },
          "price": {
            "kind": "decimal",
            "min": 900,
            "max": 2500,
            "scale": 2,
            "description": "The recorded price for the metal."
          },
          "recorded_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date the price was recorded."
          }
        }
      },
      "storage_facilities": {
        "description": "Records the storage facilities associated with users' assets, reflecting the physical storage aspect of precious metals.",
        "rows": {
          "per": "users",
          "via": "user_id",
          "min": 1,
          "max": 3,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each storage facility record."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The ID of the user associated with the storage facility."
          },
          "facility_name": {
            "kind": "words",
            "max": 5,
            "description": "Name of the storage facility."
          },
          "storage_amount": {
            "kind": "decimal",
            "min": 0.1,
            "max": 1000,
            "scale": 2,
            "description": "Amount of metal stored in the facility."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "The date the storage facility record was created."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "monetary",
      "timestamped",
      "nullable"
    ],
    "analysisQuestions": [
      "How do trading volumes vary by metal type throughout the week?",
      "What is the average fee incurred per trade, and does it change over time?",
      "How do price fluctuations correlate with trading activity?",
      "What are the trends in user withdrawals compared to trade volumes?",
      "What impact does KYC status have on trading frequency?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Trades and Users",
        "sql": "SELECT trades.id, users.full_name, trades.trade_amount FROM trades JOIN users ON trades.user_id = users.id;",
        "dialect": "postgres"
      },
      {
        "title": "Aggregate Fees by Trade Type",
        "sql": "SELECT fee_type, SUM(fee_amount) AS total_fees FROM fees GROUP BY fee_type;",
        "dialect": "postgres"
      },
      {
        "title": "Daily Trade Volume Analysis",
        "sql": "SELECT DATE(trade_time) AS trade_date, SUM(trade_amount) AS total_volume FROM trades GROUP BY trade_date ORDER BY trade_date;",
        "dialect": "postgres"
      },
      {
        "title": "Price Change Impact on Trades",
        "sql": "SELECT metal_prices.recorded_at, COUNT(trades.id) AS trade_count FROM metal_prices LEFT JOIN trades ON metal_prices.metal_type = trades.metal_type WHERE metal_prices.price > 1500 GROUP BY metal_prices.recorded_at;",
        "dialect": "postgres"
      },
      {
        "title": "Withdrawal Patterns by KYC Status",
        "sql": "SELECT users.kyc_status, COUNT(trades.id) AS withdrawal_count FROM trades JOIN users ON trades.user_id = users.id WHERE trades.trade_amount < 10 GROUP BY users.kyc_status;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Educational Data Analysis",
        "body": "Instructors teaching finance or data analytics can utilize this dataset to help students understand trading behaviors and market dynamics. By using real-world scenarios, students can practice writing complex SQL queries and performing data analysis, enhancing their learning experience."
      },
      {
        "title": "ETL Pipeline Development",
        "body": "Data engineers can leverage this synthetic dataset to develop and test ETL pipelines that ingest trading data, transform it for reporting, and load it into a data warehouse. This allows them to simulate real-world data movements and validate processes without the need for sensitive information."
      },
      {
        "title": "Market Research and Insights",
        "body": "Analysts can use the dataset to study market trends, fee impacts, and user behaviors within the precious metals trading space. By querying the data, they can provide insights on trading patterns and create reports that inform business decisions in financial institutions."
      },
      {
        "title": "Compliance Training and Simulation",
        "body": "Compliance officers in financial institutions can use this dataset to simulate trading environments and test compliance measures. By analyzing user KYC status alongside trading activities, they can better understand the implications of compliance regulations in a trading platform."
      }
    ]
  },
  "counts": {
    "metal_prices": 365,
    "users": 200,
    "storage_facilities": 329,
    "trades": 662,
    "fees": 662
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 198,
          "min": "Alice Kaya",
          "max": "Zara Sato"
        },
        "email": {
          "nulls": 0,
          "distinct": 200
        },
        "created_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2020-01-12 03:40:57",
          "max": "2022-12-28 09:07:37"
        },
        "kyc_status": {
          "nulls": 0,
          "distinct": 3,
          "min": "pending",
          "max": "verified"
        }
      }
    },
    "trades": {
      "rows": 662,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 662,
          "min": 1,
          "max": 662
        },
        "user_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "metal_type": {
          "nulls": 0,
          "distinct": 4,
          "min": "gold",
          "max": "silver"
        },
        "trade_amount": {
          "nulls": 0,
          "distinct": 659,
          "min": 0.47,
          "max": 998.77
        },
        "trade_price": {
          "nulls": 0,
          "distinct": 662,
          "min": 1005.11,
          "max": 1998.84
        },
        "trade_time": {
          "nulls": 0,
          "distinct": 662,
          "min": "2023-01-01 14:13:47",
          "max": "2023-12-31 11:14:37"
        }
      }
    },
    "fees": {
      "rows": 662,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 662,
          "min": 1,
          "max": 662
        },
        "trade_id": {
          "nulls": 0,
          "distinct": 662,
          "min": 1,
          "max": 662
        },
        "fee_amount": {
          "nulls": 0,
          "distinct": 606,
          "min": 1.04,
          "max": 49.95
        },
        "fee_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "storage",
          "max": "withdrawal"
        }
      }
    },
    "metal_prices": {
      "rows": 365,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 365,
          "min": 1,
          "max": 365
        },
        "metal_type": {
          "nulls": 0,
          "distinct": 4,
          "min": "gold",
          "max": "silver"
        },
        "price": {
          "nulls": 0,
          "distinct": 365,
          "min": 901.9,
          "max": 2496.97
        },
        "recorded_at": {
          "nulls": 0,
          "distinct": 235,
          "min": "2023-01-01",
          "max": "2023-12-31"
        }
      }
    },
    "storage_facilities": {
      "rows": 329,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 329,
          "min": 1,
          "max": 329
        },
        "user_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "facility_name": {
          "nulls": 0,
          "distinct": 329
        },
        "storage_amount": {
          "nulls": 0,
          "distinct": 329,
          "min": 4.09,
          "max": 995.03
        },
        "created_at": {
          "nulls": 0,
          "distinct": 329,
          "min": "2020-01-02 06:45:35",
          "max": "2022-12-31 14:05:26"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/metal_prices.csv",
      "format": "csv",
      "table": "metal_prices",
      "key": "datasets/precious-metals-trading-platform/v1/csv/metal_prices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/csv/metal_prices.csv",
      "bytes": 11446,
      "sha256": "9af956b4e36c1362de3349d2fc7236ca8957a11a3a3a4fb95dcb30c1fa8223f4",
      "rows": 365,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/precious-metals-trading-platform/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/csv/users.csv",
      "bytes": 13886,
      "sha256": "db4bae98595e6d0e6f1cdd58174eb0a40bd29d2b19c424368b8890e3fdc85e1e",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/storage_facilities.csv",
      "format": "csv",
      "table": "storage_facilities",
      "key": "datasets/precious-metals-trading-platform/v1/csv/storage_facilities.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/csv/storage_facilities.csv",
      "bytes": 19469,
      "sha256": "9d79154b853082dce8ec59a3814a5ce25be2e0215b3b18e3e37ebc009a31aa05",
      "rows": 329,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/trades.csv",
      "format": "csv",
      "table": "trades",
      "key": "datasets/precious-metals-trading-platform/v1/csv/trades.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/csv/trades.csv",
      "bytes": 33913,
      "sha256": "3a4e78cb67f2c2e0cfa96c218a9d9d164e22373724c415942517862ca7ad335b",
      "rows": 662,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/fees.csv",
      "format": "csv",
      "table": "fees",
      "key": "datasets/precious-metals-trading-platform/v1/csv/fees.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/csv/fees.csv",
      "bytes": 16471,
      "sha256": "1199419374df174cd336c15b727ae06b4b9bbbcd13d4feac9441d64c4589a1b6",
      "rows": 662,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "precious-metals-trading-platform.json",
      "format": "json",
      "table": null,
      "key": "datasets/precious-metals-trading-platform/v1/precious-metals-trading-platform.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/precious-metals-trading-platform.json",
      "bytes": 330990,
      "sha256": "bb21a9f917c58b62dc2455d0b354b2a25d407058e9014332b9174c8c85367a53",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/precious-metals-trading-platform/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/sql/postgres.sql",
      "bytes": 128622,
      "sha256": "a40ef9a20034ac65442e23ab9ba8b9cb9e05dc9772fd657fdc3e2810e92012bf",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/precious-metals-trading-platform/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/sql/mysql.sql",
      "bytes": 128066,
      "sha256": "d792130fd3cc86fdf07f797382600e13dcd635fc5d59dade72485f6990c849b8",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/precious-metals-trading-platform/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/sql/mssql.sql",
      "bytes": 132565,
      "sha256": "de5a12195b54818bb1c07545c656b364a8b2846c01d7af26f85a196ac70be3b7",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/precious-metals-trading-platform/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/sql/sqlite.sql",
      "bytes": 127889,
      "sha256": "f7aa2dccb0274197e09e956932e9371fa19cb14a3f294ea13efd3c13dbf77887",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/precious-metals-trading-platform/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/prisma/seed.ts",
      "bytes": 273936,
      "sha256": "a88aee592f18d5859c2378224789c9d243dd6aa09ba8b86f6dfc334f7df4a3c5",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/precious-metals-trading-platform/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/precious-metals-trading-platform/v1/django/fixtures.json",
      "bytes": 429543,
      "sha256": "9b9b99698b18b357877bfb5798ff391e927e58f27dc13037471d566f239670ca",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768030319,
  "updatedAt": 1788768030319
}
