{
  "format": "dataset-manifest/1",
  "slug": "employee-management-insights",
  "version": 1,
  "seed": "employee-management-insights:1",
  "spec": {
    "format": "dataset/1",
    "slug": "employee-management-insights",
    "name": "Employee Management Insights",
    "tagline": "Employee profiles, payroll records, HR tickets, and benefits supplier interactions for efficient workforce management.",
    "description": "Employees actively engage in their roles, supported by a robust human resources framework that manages their profiles, payrolls, and benefits. This structure ensures that each employee's journey within the organization is well-documented, from onboarding through daily operations to offboarding. As HR teams address inquiries through a ticketing system, they efficiently streamline access to information, allowing them to focus on employee satisfaction and organizational success. Each record in the employee table represents an individual, showcasing essential details such as their role, hire date, and employment status, with a majority reflecting full-time staff. \n\nThe payroll table connects directly to the employees, detailing compensation information including salary, bonuses, and deductions, enabling precise financial management for the organization. Meanwhile, HR tickets provide insights into employee-related inquiries, categorized by type and urgency, illustrating the primary concerns of staff and the efficiency of the HR responses. The benefits suppliers table outlines the various partners and services available for employee benefits, while the employee benefits table links specific employees to the benefits they are enrolled in, presenting a comprehensive view of how different employees utilize these services. Each table thus interlocks to provide a complete picture of the HR landscape within the organization. \n\nThrough this dataset, developers can explore key questions such as: How does employee turnover correlate with the types of benefits offered? What is the average time taken to resolve HR tickets? How does payroll distribution vary across different departments? Practicing with this data can help enhance skills in data analysis, visualization, and management reporting, vital for optimizing HR operations. Remember, the data is synthetic, crafted to simulate realistic scenarios and relationships within a human resources context.",
    "domain": "hr",
    "shape": "star-schema",
    "useCases": [
      "bi-dashboards",
      "analytics-demo"
    ],
    "keywords": [
      "employee management",
      "HR analytics",
      "payroll",
      "employee profiles",
      "ticketing",
      "supplier interactions"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "employees": {
        "description": "This table contains information about employees, linking to payroll and HR tickets. Each row represents a unique employee with relevant details.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each employee."
          },
          "first_name": {
            "kind": "firstName",
            "description": "Employee's first name."
          },
          "last_name": {
            "kind": "lastName",
            "description": "Employee's last name."
          },
          "email": {
            "kind": "email",
            "from": [
              "first_name",
              "last_name"
            ],
            "description": "Employee's email address."
          },
          "hire_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Date the employee was hired.",
            "trend": "growing"
          },
          "status": {
            "kind": "enum",
            "values": [
              "active",
              "inactive",
              "temporary"
            ],
            "weights": [
              0.8,
              0.15,
              0.05
            ],
            "description": "Current employment status."
          }
        }
      },
      "payroll": {
        "description": "This table holds payroll information linked to employees. Each row corresponds to a unique payroll entry per employee.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each payroll entry."
          },
          "employee_id": {
            "kind": "fk",
            "ref": "employees.id",
            "description": "Reference to the employee."
          },
          "salary": {
            "kind": "decimal",
            "min": 30000,
            "max": 120000,
            "scale": 2,
            "distribution": "long-tail",
            "description": "Annual salary of the employee."
          },
          "pay_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Date of the payroll entry.",
            "trend": "seasonal"
          },
          "bonus": {
            "kind": "decimal",
            "min": 0,
            "max": 10000,
            "scale": 2,
            "description": "Bonus amount for the employee, if applicable."
          }
        }
      },
      "hr_tickets": {
        "description": "The HR tickets table tracks inquiries made by employees regarding HR services. Each row represents a unique ticket.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each HR ticket."
          },
          "employee_id": {
            "kind": "fk",
            "ref": "employees.id",
            "description": "Reference to the employee who raised the ticket."
          },
          "ticket_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Date the HR ticket was created.",
            "trend": "growing"
          },
          "status": {
            "kind": "enum",
            "values": [
              "open",
              "resolved",
              "closed"
            ],
            "weights": [
              0.4,
              0.4,
              0.2
            ],
            "description": "Current status of the ticket."
          },
          "issue_type": {
            "kind": "enum",
            "values": [
              "payroll",
              "benefits",
              "general inquiry"
            ],
            "description": "Type of issue raised in the ticket."
          }
        }
      },
      "benefits_suppliers": {
        "description": "This table contains information about suppliers providing benefits to employees. Each row represents a unique supplier.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each supplier."
          },
          "name": {
            "kind": "company",
            "description": "Name of the benefits supplier."
          },
          "contact_email": {
            "kind": "email",
            "description": "Contact email for the supplier."
          },
          "service_type": {
            "kind": "enum",
            "values": [
              "healthcare",
              "retirement",
              "wellness"
            ],
            "description": "Type of service offered by the supplier."
          }
        }
      },
      "employee_benefits": {
        "description": "This table links employees to their respective benefits suppliers. Each row represents a unique benefit entry for an employee.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each benefit entry."
          },
          "employee_id": {
            "kind": "fk",
            "ref": "employees.id",
            "description": "Reference to the employee receiving the benefit."
          },
          "supplier_id": {
            "kind": "fk",
            "ref": "benefits_suppliers.id",
            "description": "Reference to the supplier providing the benefit."
          },
          "benefit_start_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Start date of the benefit.",
            "trend": "growing"
          },
          "benefit_end_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "End date of the benefit, if applicable.",
            "trend": "growing"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "nullable",
      "timestamped",
      "categorical",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "What is the average salary of employees based on their hiring date?",
      "How many HR tickets are currently open and what are their common issues?",
      "Which suppliers provide the most benefits to employees?",
      "What is the distribution of employee statuses across the organization?",
      "How has the number of temporary employees changed over the past year?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Employees and Payroll",
        "sql": "SELECT e.first_name, e.last_name, p.salary FROM employees e JOIN payroll p ON e.id = p.employee_id;",
        "dialect": "postgres"
      },
      {
        "title": "Average Salary by Employment Status",
        "sql": "SELECT e.status, AVG(p.salary) AS average_salary FROM employees e JOIN payroll p ON e.id = p.employee_id GROUP BY e.status;",
        "dialect": "postgres"
      },
      {
        "title": "HR Ticket Status Count",
        "sql": "SELECT status, COUNT(*) AS ticket_count FROM hr_tickets GROUP BY status;",
        "dialect": "postgres"
      },
      {
        "title": "Employee Benefits by Supplier",
        "sql": "SELECT bs.name, COUNT(eb.id) AS benefit_count FROM benefits_suppliers bs JOIN employee_benefits eb ON bs.id = eb.supplier_id GROUP BY bs.name;",
        "dialect": "postgres"
      },
      {
        "title": "Monthly Payroll Expenditure",
        "sql": "SELECT DATE_TRUNC('month', p.pay_date) AS month, SUM(p.salary + COALESCE(p.bonus, 0)) AS total_expenditure FROM payroll p GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "HR Dashboard Creation",
        "body": "HR analysts can utilize this dataset to create comprehensive dashboards that visualize employee demographics, payroll distributions, and HR ticket resolutions. By integrating this data, they can provide insights into employee engagement and identify areas needing improvement."
      },
      {
        "title": "Payroll Analysis",
        "body": "Finance teams can leverage the payroll data to conduct analyses on salary distributions, bonus allocations, and overall payroll expenses. This information can help in budgeting and forecasting for future financial planning."
      },
      {
        "title": "Supplier Performance Monitoring",
        "body": "Procurement managers can use the benefits suppliers data to monitor the performance and services provided by different suppliers. By analyzing employee benefits utilization, they can make informed decisions on renewing contracts or seeking new partners."
      },
      {
        "title": "Employee Inquiry Trends",
        "body": "HR managers can analyze trends in HR tickets to understand prevalent employee concerns and issues. This knowledge can inform policy changes or staff training initiatives, enhancing overall employee satisfaction and retention."
      }
    ]
  },
  "counts": {
    "benefits_suppliers": 50,
    "employees": 500,
    "employee_benefits": 300,
    "hr_tickets": 400,
    "payroll": 600
  },
  "stats": {
    "employees": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "first_name": {
          "nulls": 0,
          "distinct": 80,
          "min": "Alice",
          "max": "Zoe"
        },
        "last_name": {
          "nulls": 0,
          "distinct": 80,
          "min": "Adams",
          "max": "Zhang"
        },
        "email": {
          "nulls": 0,
          "distinct": 497
        },
        "hire_date": {
          "nulls": 0,
          "distinct": 408,
          "min": "2020-01-10",
          "max": "2023-12-30"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "active",
          "max": "temporary"
        }
      }
    },
    "payroll": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "employee_id": {
          "nulls": 0,
          "distinct": 352,
          "min": 1,
          "max": 500
        },
        "salary": {
          "nulls": 0,
          "distinct": 600,
          "min": 30000.69,
          "max": 119746.01
        },
        "pay_date": {
          "nulls": 0,
          "distinct": 469,
          "min": "2020-01-01",
          "max": "2023-12-30"
        },
        "bonus": {
          "nulls": 0,
          "distinct": 598,
          "min": 2.63,
          "max": 9986.53
        }
      }
    },
    "hr_tickets": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "employee_id": {
          "nulls": 0,
          "distinct": 277,
          "min": 1,
          "max": 500
        },
        "ticket_date": {
          "nulls": 0,
          "distinct": 346,
          "min": "2020-01-09",
          "max": "2023-12-28"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "closed",
          "max": "resolved"
        },
        "issue_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "benefits",
          "max": "payroll"
        }
      }
    },
    "benefits_suppliers": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "name": {
          "nulls": 0,
          "distinct": 47,
          "min": "Acme Industries",
          "max": "Vista Studio"
        },
        "contact_email": {
          "nulls": 0,
          "distinct": 50
        },
        "service_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "healthcare",
          "max": "wellness"
        }
      }
    },
    "employee_benefits": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "employee_id": {
          "nulls": 0,
          "distinct": 231,
          "min": 4,
          "max": 500
        },
        "supplier_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "benefit_start_date": {
          "nulls": 0,
          "distinct": 268,
          "min": "2020-01-09",
          "max": "2023-12-31"
        },
        "benefit_end_date": {
          "nulls": 0,
          "distinct": 261,
          "min": "2020-01-01",
          "max": "2023-12-29"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/benefits_suppliers.csv",
      "format": "csv",
      "table": "benefits_suppliers",
      "key": "datasets/employee-management-insights/v1/csv/benefits_suppliers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/csv/benefits_suppliers.csv",
      "bytes": 2646,
      "sha256": "1b4e6efcbb839c0a2729ba3b92c2828f76f019cdc59b13b9cd69ce29484d7f73",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/employees.csv",
      "format": "csv",
      "table": "employees",
      "key": "datasets/employee-management-insights/v1/csv/employees.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/csv/employees.csv",
      "bytes": 29676,
      "sha256": "d1b383ce94d26565e08b52d20a20e3a4c8677ad2f177664966802a403bbc50f0",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/employee_benefits.csv",
      "format": "csv",
      "table": "employee_benefits",
      "key": "datasets/employee-management-insights/v1/csv/employee_benefits.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/csv/employee_benefits.csv",
      "bytes": 10037,
      "sha256": "fcf605ff38e18963a6e74914db96c75c4bf7656a5966527f70e7596d5da702ab",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/hr_tickets.csv",
      "format": "csv",
      "table": "hr_tickets",
      "key": "datasets/employee-management-insights/v1/csv/hr_tickets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/csv/hr_tickets.csv",
      "bytes": 15083,
      "sha256": "304e4fc8c8773cece08fe2f93fcb9400d80fccbfd4f7a2cb2910288e8381c6d5",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/payroll.csv",
      "format": "csv",
      "table": "payroll",
      "key": "datasets/employee-management-insights/v1/csv/payroll.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/csv/payroll.csv",
      "bytes": 22004,
      "sha256": "7af9385a977fcf932eb96dd52bbbe7661d7d6c175dc26b8055e8dc5ad53e8a41",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "employee-management-insights.json",
      "format": "json",
      "table": null,
      "key": "datasets/employee-management-insights/v1/employee-management-insights.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/employee-management-insights.json",
      "bytes": 290977,
      "sha256": "c2b2c6f9b341c1edc662b9520679e9c20e92d213a6faf207013e5de125be7132",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/employee-management-insights/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/sql/postgres.sql",
      "bytes": 111886,
      "sha256": "d338e45eb33fbee03a399a5e94dd7c8d1cda35c7b5b01bf6985cddc05e2c626d",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/employee-management-insights/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/sql/mysql.sql",
      "bytes": 111297,
      "sha256": "84b6394369f03719b9c79b89d5c01d810d02093db9d07d54c4af5897c80d699c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/employee-management-insights/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/sql/mssql.sql",
      "bytes": 116703,
      "sha256": "dae8687bc1d0a96a996ea84140f6613b3f8590113b4f5d420915ca2a17cb7538",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/employee-management-insights/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/sql/sqlite.sql",
      "bytes": 111050,
      "sha256": "cba21583814619ba288a364f0a7a17a3922b30d1ff2c5b55e46645fd6d8bb2fb",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/employee-management-insights/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/prisma/seed.ts",
      "bytes": 224362,
      "sha256": "ad3f955a978f24a402d5b820cb43a6d848c9e2b4dd083d36b0ec1b29bc13b5f7",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/employee-management-insights/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/employee-management-insights/v1/django/fixtures.json",
      "bytes": 373767,
      "sha256": "d4e513b87908e9f235615380cbb73016572d7426391e4d83740edda2acb96447",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768851847,
  "updatedAt": 1788768851847
}
