{
  "format": "dataset-manifest/1",
  "slug": "central-supplier",
  "version": 2,
  "seed": "central-supplier:1",
  "spec": {
    "format": "dataset/1",
    "slug": "central-supplier",
    "name": "Supplier Performance Snapshot",
    "tagline": "Evaluate supplier performance and manage logistics effectively.",
    "description": "Suppliers play a vital role in logistics operations, ensuring that goods are delivered on time and at the right cost. This business evaluates suppliers based on their performance, managing the entire lifecycle from purchase orders to payments. Each supplier's performance is assessed through structured evaluations that include criteria like delivery timeliness, quality of goods, and responsiveness. Alongside evaluations, the processing of purchase orders ensures that inventory levels at warehouse locations are maintained, facilitating efficient logistics operations. Financial transactions, including invoices and payments, are closely monitored to streamline cash flow and supplier relationships.\n\nIn this dataset, the suppliers table lists individual suppliers, including their names, contact details, and performance metrics. The evaluations table details the specific criteria and scores assigned to each supplier, capturing both their strengths and areas for improvement. Purchase orders link to specific suppliers, showcasing the volume and types of goods ordered, while invoices record the details of billed amounts for those orders. Payments are tied to invoices, reflecting the financial commitments made to suppliers. Finally, warehouse locations provide context for where goods are stored and dispatched, linking the physical logistics to supplier performance.\n\nBy analyzing this data, developers can answer key questions about supplier reliability, trends in purchase orders, and payment practices within the logistics industry. For example, one could explore patterns of supplier performance over time or investigate how payment cycles affect supplier satisfaction. This synthetic dataset offers a practical opportunity for users to practice querying and analyzing data in a real-world business context, providing insights into supply chain management and operational efficiency.",
    "domain": "logistics",
    "shape": "time-series",
    "useCases": [
      "analytics-demo",
      "bi-dashboards"
    ],
    "keywords": [
      "supplier performance",
      "evaluations",
      "purchase orders",
      "invoices",
      "payments",
      "logistics"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "suppliers": {
        "description": "This table holds information about suppliers, including their unique identifiers and names. Each supplier can have multiple evaluations, purchase orders, and invoices linked to them.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each supplier."
          },
          "name": {
            "kind": "fullName",
            "description": "Full name of the supplier.",
            "nullable": true
          },
          "category": {
            "kind": "enum",
            "values": [
              "raw materials",
              "transport",
              "packaging"
            ],
            "description": "Category of supplies provided by the supplier.",
            "nullable": true
          }
        }
      },
      "evaluations": {
        "description": "This table captures periodic evaluations of suppliers based on performance metrics. Each evaluation links to a specific supplier and includes a score and evaluation date.",
        "rows": {
          "per": "suppliers",
          "via": "supplier_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each evaluation."
          },
          "supplier_id": {
            "kind": "fk",
            "ref": "suppliers.id",
            "description": "Identifier linking to the supplier being evaluated."
          },
          "score": {
            "kind": "int",
            "min": 1,
            "max": 100,
            "description": "Performance score assigned to the supplier.",
            "nullable": true,
            "distribution": "high"
          },
          "evaluation_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the evaluation was conducted.",
            "nullable": true,
            "trend": "seasonal"
          }
        }
      },
      "purchase_orders": {
        "description": "This table contains details of purchase orders made to suppliers. Each order is linked to a specific supplier and includes order amounts and dates.",
        "rows": {
          "per": "suppliers",
          "via": "supplier_id",
          "min": 1,
          "max": 10,
          "skew": "heavy-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each purchase order."
          },
          "supplier_id": {
            "kind": "fk",
            "ref": "suppliers.id",
            "description": "Identifier linking to the supplier associated with the order."
          },
          "order_amount": {
            "kind": "decimal",
            "min": 100,
            "max": 10000,
            "scale": 2,
            "description": "Total amount for the purchase order.",
            "nullable": true,
            "distribution": "long-tail"
          },
          "order_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the purchase order was placed.",
            "nullable": true,
            "trend": "growing"
          }
        }
      },
      "invoices": {
        "description": "This table records the invoices generated for purchase orders. Each invoice is linked to a specific purchase order and contains payment status.",
        "rows": {
          "per": "purchase_orders",
          "via": "purchase_order_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each invoice."
          },
          "purchase_order_id": {
            "kind": "fk",
            "ref": "purchase_orders.id",
            "description": "Identifier linking to the related purchase order."
          },
          "invoice_amount": {
            "kind": "decimal",
            "min": 100,
            "max": 10000,
            "scale": 2,
            "description": "Total amount billed in the invoice.",
            "nullable": true,
            "when": {
              "column": "payment_status",
              "in": [
                "paid",
                "pending"
              ]
            },
            "distribution": "long-tail"
          },
          "invoice_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the invoice was issued.",
            "nullable": true,
            "trend": "growing"
          },
          "payment_status": {
            "kind": "enum",
            "values": [
              "paid",
              "pending",
              "overdue"
            ],
            "description": "Current payment status of the invoice."
          }
        }
      },
      "payments": {
        "description": "This table tracks payment transactions made against invoices. Each payment is linked to a specific invoice, detailing the payment amount and date.",
        "rows": {
          "per": "invoices",
          "via": "invoice_id",
          "min": 1,
          "max": 3,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each payment."
          },
          "invoice_id": {
            "kind": "fk",
            "ref": "invoices.id",
            "description": "Identifier linking to the corresponding invoice."
          },
          "payment_amount": {
            "kind": "decimal",
            "min": 50,
            "max": 10000,
            "scale": 2,
            "description": "Amount paid in the transaction.",
            "distribution": "long-tail"
          },
          "payment_date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the payment was processed.",
            "trend": "growing"
          }
        }
      },
      "warehouse_locations": {
        "description": "This table contains information about various warehouse locations involved in the logistics process. Each warehouse may receive orders from different suppliers.",
        "rows": 20,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each warehouse location."
          },
          "name": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Name of the warehouse.",
            "pool": [
              "central",
              "north",
              "east",
              "south",
              "west",
              "main",
              "regional",
              "local",
              "distribution",
              "logistics",
              "express",
              "bulk",
              "storage",
              "supply",
              "freight",
              "inventory",
              "warehouse",
              "hub",
              "terminal",
              "facility",
              "depot",
              "service",
              "transit",
              "shipment",
              "cargo",
              "goods",
              "transport",
              "network",
              "operation",
              "center",
              "zone",
              "area",
              "point",
              "location",
              "branch",
              "section",
              "unit",
              "region",
              "site",
              "platform",
              "base",
              "compound",
              "sectional",
              "complex",
              "warehouse-1",
              "warehouse-2",
              "warehouse-3",
              "warehouse-4",
              "warehouse-5",
              "warehouse-6",
              "warehouse-7",
              "warehouse-8",
              "warehouse-9",
              "warehouse-10"
            ]
          },
          "city": {
            "kind": "city",
            "description": "City where the warehouse is located."
          },
          "capacity": {
            "kind": "int",
            "min": 1000,
            "max": 100000,
            "description": "Total capacity of the warehouse in cubic meters.",
            "distribution": "normal"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "monetary",
      "categorical"
    ],
    "analysisQuestions": [
      "What are the trends in supplier evaluations over the past year?",
      "How do purchase order amounts vary across different supplier categories?",
      "What percentage of invoices are paid on time, and how does that vary by supplier?",
      "Which suppliers have the highest average evaluation scores?",
      "What is the relationship between payment delays and order amounts?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Suppliers with Evaluations",
        "sql": "SELECT s.name, e.score FROM suppliers s JOIN evaluations e ON s.id = e.supplier_id;",
        "dialect": "postgres"
      },
      {
        "title": "Aggregate Purchase Orders by Supplier Category",
        "sql": "SELECT s.category, SUM(po.order_amount) AS total_orders FROM purchase_orders po JOIN suppliers s ON po.supplier_id = s.id GROUP BY s.category;",
        "dialect": "postgres"
      },
      {
        "title": "Invoices Payment Status by Supplier",
        "sql": "SELECT s.name, COUNT(i.id) AS total_invoices, SUM(CASE WHEN i.payment_status = 'paid' THEN 1 ELSE 0 END) AS paid_count FROM invoices i JOIN purchase_orders po ON i.purchase_order_id = po.id JOIN suppliers s ON po.supplier_id = s.id GROUP BY s.name;",
        "dialect": "postgres"
      },
      {
        "title": "Payments Over Time",
        "sql": "SELECT DATE_TRUNC('month', p.payment_date) AS month, SUM(p.payment_amount) AS total_payments FROM payments p GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Supplier Evaluation Analysis",
        "body": "Logistics managers can utilize this dataset to perform in-depth analyses on supplier evaluations over time, identifying trends and making informed decisions on supplier retention and improvements."
      },
      {
        "title": "Financial Performance Tracking",
        "body": "Finance teams can track payment patterns and invoice statuses, allowing them to manage cash flow and optimize payment schedules based on supplier performance and order volumes."
      },
      {
        "title": "Operational Performance Insights",
        "body": "Operations teams can analyze purchase order trends and supplier categories to optimize sourcing strategies, ensuring that top-performing suppliers are prioritized for critical orders."
      },
      {
        "title": "Warehouse Management Optimization",
        "body": "Warehouse managers can leverage the data to understand which suppliers contribute most to their operations, focusing on enhancing relationships with key suppliers for better inventory management."
      }
    ]
  },
  "counts": {
    "suppliers": 100,
    "evaluations": 212,
    "purchase_orders": 297,
    "invoices": 666,
    "payments": 1094,
    "warehouse_locations": 20
  },
  "stats": {
    "suppliers": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "name": {
          "nulls": 6,
          "distinct": 94,
          "min": "Amir Almeida",
          "max": "Zoe Hassan"
        },
        "category": {
          "nulls": 14,
          "distinct": 3,
          "min": "packaging",
          "max": "transport"
        }
      }
    },
    "evaluations": {
      "rows": 212,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 212,
          "min": 1,
          "max": 212
        },
        "supplier_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "score": {
          "nulls": 20,
          "distinct": 77,
          "min": 5,
          "max": 100
        },
        "evaluation_date": {
          "nulls": 20,
          "distinct": 159,
          "min": "2022-01-04",
          "max": "2023-12-30"
        }
      }
    },
    "purchase_orders": {
      "rows": 297,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 297,
          "min": 1,
          "max": 297
        },
        "supplier_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "order_amount": {
          "nulls": 28,
          "distinct": 269,
          "min": 101.05,
          "max": 9914.57
        },
        "order_date": {
          "nulls": 32,
          "distinct": 229,
          "min": "2022-01-12",
          "max": "2023-12-31"
        }
      }
    },
    "invoices": {
      "rows": 666,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 666,
          "min": 1,
          "max": 666
        },
        "purchase_order_id": {
          "nulls": 0,
          "distinct": 297,
          "min": 1,
          "max": 297
        },
        "invoice_amount": {
          "nulls": 236,
          "distinct": 430,
          "min": 100,
          "max": 9961.6
        },
        "invoice_date": {
          "nulls": 66,
          "distinct": 398,
          "min": "2022-01-01",
          "max": "2023-12-31"
        },
        "payment_status": {
          "nulls": 0,
          "distinct": 3,
          "min": "overdue",
          "max": "pending"
        }
      }
    },
    "payments": {
      "rows": 1094,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 1094,
          "min": 1,
          "max": 1094
        },
        "invoice_id": {
          "nulls": 0,
          "distinct": 666,
          "min": 1,
          "max": 666
        },
        "payment_amount": {
          "nulls": 0,
          "distinct": 1094,
          "min": 50,
          "max": 9959.37
        },
        "payment_date": {
          "nulls": 0,
          "distinct": 543,
          "min": "2022-01-02",
          "max": "2023-12-31"
        }
      }
    },
    "warehouse_locations": {
      "rows": 20,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "name": {
          "nulls": 0,
          "distinct": 19
        },
        "city": {
          "nulls": 0,
          "distinct": 18,
          "min": "Amsterdam",
          "max": "Vancouver"
        },
        "capacity": {
          "nulls": 0,
          "distinct": 20,
          "min": 22776,
          "max": 81084
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/suppliers.csv",
      "format": "csv",
      "table": "suppliers",
      "key": "datasets/central-supplier/v2/csv/suppliers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/csv/suppliers.csv",
      "bytes": 2557,
      "sha256": "dcf467be58175715e3350f91bee7289235cb711ce1484a1307f9f7b3d8441bde",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/evaluations.csv",
      "format": "csv",
      "table": "evaluations",
      "key": "datasets/central-supplier/v2/csv/evaluations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/csv/evaluations.csv",
      "bytes": 4350,
      "sha256": "9cde95b1a557791ec150bbc3276847155122f480f00680583d3dfc3b394d7037",
      "rows": 212,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/purchase_orders.csv",
      "format": "csv",
      "table": "purchase_orders",
      "key": "datasets/central-supplier/v2/csv/purchase_orders.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/csv/purchase_orders.csv",
      "bytes": 7339,
      "sha256": "c8e56ec179391448f381d6bd0237a27fcff1655e861633bb32d1e8ec0ddad345",
      "rows": 297,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/invoices.csv",
      "format": "csv",
      "table": "invoices",
      "key": "datasets/central-supplier/v2/csv/invoices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/csv/invoices.csv",
      "bytes": 20583,
      "sha256": "a30d68f1058fc7f2f072bd276ab2f0a60fd5d0d052dc9f7043016cf00dc4d890",
      "rows": 666,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/payments.csv",
      "format": "csv",
      "table": "payments",
      "key": "datasets/central-supplier/v2/csv/payments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/csv/payments.csv",
      "bytes": 30048,
      "sha256": "a7c6d79cc11081ec100f959891b698ed527974d8bb8dffb6a986754531f73a24",
      "rows": 1094,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/warehouse_locations.csv",
      "format": "csv",
      "table": "warehouse_locations",
      "key": "datasets/central-supplier/v2/csv/warehouse_locations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/csv/warehouse_locations.csv",
      "bytes": 708,
      "sha256": "d6f4ef762f892771173318ee5206bc85d8962bb3c8e2df0211cc0e6630e88f3f",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "central-supplier.json",
      "format": "json",
      "table": null,
      "key": "datasets/central-supplier/v2/central-supplier.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/central-supplier.json",
      "bytes": 310685,
      "sha256": "96d7d5dbf5a2331398ab6df09290cdadf36337103d07df76aaf7e4b5374dafc4",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/central-supplier/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/sql/postgres.sql",
      "bytes": 99210,
      "sha256": "4bea4786e47f08c4f67a814f723aa33b121fff415d76371c97f8b9d4575da7d4",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/central-supplier/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/sql/mysql.sql",
      "bytes": 98503,
      "sha256": "fce870d4dccf8e5c70d62bb1ae2eb892cdf0af7fd754c03922fa6e9bded694cf",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/central-supplier/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/sql/mssql.sql",
      "bytes": 101955,
      "sha256": "d89e239a067163fef66508867fe3a305b8cad469be204158a0cc2b6725162032",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/central-supplier/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/sql/sqlite.sql",
      "bytes": 98299,
      "sha256": "4d9c52b8dda5cca9f5f0b5b2a03f0d574d5875f6b06f2b8ef4af85b9a10bc68a",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/central-supplier/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/prisma/seed.ts",
      "bytes": 244276,
      "sha256": "d185531fd374a1690d28c86b381477d7661f7051e816bb21e83523ac3b361b29",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/central-supplier/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/central-supplier/v2/django/fixtures.json",
      "bytes": 415374,
      "sha256": "f19578752ebdc566ff34b7f824b72143b4a287999887e340e4bc99e0829902a1",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788734192616,
  "updatedAt": 1788777746591
}
