{
  "format": "dataset-manifest/1",
  "slug": "claims-processing-insights",
  "version": 5,
  "seed": "claims-processing-insights:1",
  "engine": 1,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "slug": "claims-processing-insights",
    "name": "Claims Processing Insights",
    "tagline": "Claims, policies, beneficiaries, and fraud notes from the insurance claims processing workflow.",
    "description": "Claims processors evaluate submitted claims, ensuring that policyholders receive appropriate compensation for their losses. This role involves closely examining claims filings, assessing the details of policies, and identifying all beneficiaries involved in each case. Throughout the claims process, various notes and information are recorded to document the progress and any pertinent findings, particularly in cases where fraud is suspected. Adjusters work tirelessly to balance expediency and thoroughness, often encountering straightforward claims that can be processed quickly, while also dealing with intricate cases that require more extensive investigations.\n\nIn this dataset, the primary tables include claims, policies, beneficiaries, claims_notes, and claims_fraud. Each row in the claims table represents an individual claim submitted by a policyholder, detailing the claim amount, status, and resolution. The policies table contains information about the insurance policies that cover these claims, such as policy type and coverage limits. Each beneficiary row corresponds to individuals entitled to benefits under a particular policy, establishing connections between policyholders and their dependents. Claims_notes document the actions taken by adjusters or any observations related to claims processing, while the claims_fraud table tracks instances where fraud has been detected, linking back to the specific claims involved. \n\nThis data allows analysts to explore various questions such as: What types of policies generate the most claims? How frequently do claims result in fraud investigations? What is the average time taken to resolve different types of claims? This dataset is particularly useful for practitioners looking to hone their skills in data analysis, providing a synthetic yet realistic playground for exploring claims processing metrics and trends.",
    "domain": "insurance",
    "shape": "slowly-changing",
    "useCases": [
      "etl-pipelines",
      "teaching"
    ],
    "keywords": [
      "insurance",
      "claims",
      "fraud",
      "policies",
      "data analysis",
      "etl",
      "synthetic",
      "SQL"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "claims": {
        "description": "Each row represents an insurance claim, detailing its status, amounts, and timestamps. Claims are linked to policies and may have associated notes or fraud investigations.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each claim."
          },
          "policy_id": {
            "kind": "fk",
            "ref": "policies.id",
            "description": "Foreign key linking to the associated policy."
          },
          "status": {
            "kind": "enum",
            "values": [
              "submitted",
              "in_review",
              "approved",
              "denied"
            ],
            "description": "Current status of the claim.",
            "weights": [
              6,
              2,
              3,
              1
            ]
          },
          "amount": {
            "kind": "decimal",
            "min": 100,
            "max": 10000,
            "scale": 2,
            "description": "Amount claimed by the policyholder.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "in_review",
                "denied"
              ]
            },
            "distribution": "long-tail"
          },
          "submitted_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "Date when the claim was submitted.",
            "trend": "growing"
          },
          "created_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "Date when the claim record was created.",
            "trend": "growing"
          },
          "updated_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "Date when the claim record was last updated.",
            "nullable": true,
            "trend": "growing"
          }
        }
      },
      "policies": {
        "description": "Each row represents an insurance policy, detailing its type, coverage, and validity period. Policies can have multiple claims associated with them.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each policy."
          },
          "policy_number": {
            "kind": "pattern",
            "pattern": "POL-####",
            "description": "Unique policy number."
          },
          "type": {
            "kind": "enum",
            "values": [
              "home",
              "auto",
              "health"
            ],
            "description": "Type of insurance policy.",
            "weights": [
              5,
              4,
              3
            ]
          },
          "start_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "Start date of the policy coverage.",
            "trend": "seasonal"
          },
          "end_date": {
            "kind": "date",
            "from": "2024-01-01",
            "to": "2025-12-31",
            "description": "End date of the policy coverage.",
            "nullable": true,
            "when": {
              "column": "type",
              "in": [
                "home",
                "auto"
              ]
            },
            "trend": "seasonal"
          }
        }
      },
      "beneficiaries": {
        "description": "Each row represents a beneficiary linked to a specific policy, showing who is entitled to claim under that policy.",
        "rows": {
          "per": "policies",
          "via": "policy_id",
          "min": 1,
          "max": 3,
          "skew": "flat"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each beneficiary."
          },
          "policy_id": {
            "kind": "fk",
            "ref": "policies.id",
            "description": "Foreign key linking to the associated policy."
          },
          "name": {
            "kind": "fullName",
            "description": "Full name of the beneficiary.",
            "nullable": true,
            "when": {
              "column": "relationship",
              "in": [
                "spouse",
                "partner"
              ]
            }
          },
          "relationship": {
            "kind": "enum",
            "values": [
              "spouse",
              "child",
              "partner",
              "parent"
            ],
            "description": "Relationship of the beneficiary to the policyholder.",
            "nullable": true,
            "weights": [
              5,
              4,
              2,
              1
            ]
          },
          "date_of_birth": {
            "kind": "date",
            "from": "1940-01-01",
            "to": "2023-12-31",
            "description": "Date of birth of the beneficiary."
          }
        }
      },
      "claims_notes": {
        "description": "Each row represents a note made by an adjuster regarding a specific claim, providing additional context or updates.",
        "rows": {
          "per": "claims",
          "via": "claim_id",
          "min": 0,
          "max": 5,
          "skew": "flat"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each note."
          },
          "claim_id": {
            "kind": "fk",
            "ref": "claims.id",
            "description": "Foreign key linking to the associated claim."
          },
          "note": {
            "kind": "sentence",
            "max": 250,
            "description": "Content of the note made by the adjuster."
          },
          "created_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "Date when the note was created.",
            "trend": "growing"
          },
          "priority": {
            "kind": "enum",
            "values": [
              "low",
              "medium",
              "high"
            ],
            "weights": [
              50,
              30,
              20
            ],
            "description": "Priority level of the note."
          },
          "updated_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "Date when the note was last updated."
          }
        }
      },
      "claims_fraud": {
        "description": "Each row represents an investigation into potential fraud associated with a claim, detailing findings and outcomes.",
        "rows": {
          "per": "claims",
          "via": "claim_id",
          "min": 0,
          "max": 2,
          "skew": "flat"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each fraud case."
          },
          "claim_id": {
            "kind": "fk",
            "ref": "claims.id",
            "description": "Foreign key linking to the associated claim."
          },
          "investigation_notes": {
            "kind": "sentence",
            "max": 250,
            "description": "Notes from the fraud investigation."
          },
          "created_at": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2024-12-31",
            "description": "Date when the fraud investigation was initiated.",
            "trend": "growing"
          },
          "fraud_type": {
            "kind": "enum",
            "values": [
              "internal",
              "external",
              "collusion"
            ],
            "weights": [
              40,
              40,
              20
            ],
            "description": "Type of fraud investigation."
          },
          "outcome": {
            "kind": "enum",
            "values": [
              "confirmed",
              "unconfirmed",
              "dismissed"
            ],
            "weights": [
              30,
              50,
              20
            ],
            "description": "Outcome of the fraud investigation."
          }
        }
      }
    },
    "traits": [
      "timestamped",
      "monetary",
      "categorical",
      "nullable"
    ],
    "analysisQuestions": [
      "What percentage of claims are flagged for fraud investigations?",
      "How long do claims typically take to process from submission to resolution?",
      "Which policies have the highest average claim amounts?",
      "What trends can be observed in claim statuses over time?"
    ],
    "suggestedQueries": [
      {
        "title": "Get all claims and their statuses",
        "sql": "SELECT claims.id, claims.status FROM claims;",
        "dialect": "postgres"
      },
      {
        "title": "Count claims by policy type",
        "sql": "SELECT policies.type, COUNT(claims.id) FROM claims JOIN policies ON claims.policy_id = policies.id GROUP BY policies.type;",
        "dialect": "postgres"
      },
      {
        "title": "Average claim amount by status",
        "sql": "SELECT status, AVG(amount) FROM claims GROUP BY status;",
        "dialect": "postgres"
      },
      {
        "title": "Get notes for each claim",
        "sql": "SELECT claims.id, claims_notes.note FROM claims LEFT JOIN claims_notes ON claims.id = claims_notes.claim_id;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Insurance Data Analyst",
        "body": "An insurance data analyst can use this dataset to explore trends in claims processing, identifying patterns in claim statuses and the impact of fraud on overall claims management. By analyzing this data, they can provide insights to improve the efficiency of claims processing."
      },
      {
        "title": "Teaching SQL",
        "body": "Instructors can utilize this dataset to teach students about database management and SQL querying techniques. It provides a realistic context in which students can practice writing queries, joining tables, and analyzing data in a meaningful way."
      },
      {
        "title": "ETL Pipeline Development",
        "body": "Data engineers can leverage this dataset for developing ETL pipelines that extract, transform, and load insurance claims data into analytical databases. They can simulate real-world scenarios to test the robustness of their ETL processes."
      }
    ]
  },
  "counts": {
    "policies": 50,
    "beneficiaries": 100,
    "claims": 100,
    "claims_fraud": 102,
    "claims_notes": 238
  },
  "stats": {
    "claims": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "policy_id": {
          "nulls": 0,
          "distinct": 43,
          "min": 1,
          "max": 50
        },
        "status": {
          "nulls": 0,
          "distinct": 4,
          "min": "approved",
          "max": "submitted"
        },
        "amount": {
          "nulls": 73,
          "distinct": 27,
          "min": 103.53,
          "max": 9026.19
        },
        "submitted_at": {
          "nulls": 0,
          "distinct": 95,
          "min": "2023-01-08",
          "max": "2024-12-31"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 91,
          "min": "2023-01-03",
          "max": "2024-12-23"
        },
        "updated_at": {
          "nulls": 5,
          "distinct": 87,
          "min": "2023-01-08",
          "max": "2024-12-31"
        }
      }
    },
    "policies": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "policy_number": {
          "nulls": 0,
          "distinct": 50
        },
        "type": {
          "nulls": 0,
          "distinct": 3,
          "min": "auto",
          "max": "home"
        },
        "start_date": {
          "nulls": 0,
          "distinct": 50,
          "min": "2023-01-03",
          "max": "2024-12-27"
        },
        "end_date": {
          "nulls": 7,
          "distinct": 39,
          "min": "2024-01-21",
          "max": "2025-12-31"
        }
      }
    },
    "beneficiaries": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "policy_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "name": {
          "nulls": 49,
          "distinct": 51,
          "min": "Alice Martin",
          "max": "Zoe Novak"
        },
        "relationship": {
          "nulls": 9,
          "distinct": 4,
          "min": "child",
          "max": "spouse"
        },
        "date_of_birth": {
          "nulls": 0,
          "distinct": 100,
          "min": "1940-01-10",
          "max": "2022-09-21"
        }
      }
    },
    "claims_notes": {
      "rows": 238,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 238,
          "min": 1,
          "max": 238
        },
        "claim_id": {
          "nulls": 0,
          "distinct": 83,
          "min": 1,
          "max": 99
        },
        "note": {
          "nulls": 0,
          "distinct": 238
        },
        "created_at": {
          "nulls": 0,
          "distinct": 204,
          "min": "2023-01-04",
          "max": "2024-12-31"
        },
        "priority": {
          "nulls": 0,
          "distinct": 3,
          "min": "high",
          "max": "medium"
        },
        "updated_at": {
          "nulls": 0,
          "distinct": 211,
          "min": "2023-01-01",
          "max": "2024-12-27"
        }
      }
    },
    "claims_fraud": {
      "rows": 102,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 102,
          "min": 1,
          "max": 102
        },
        "claim_id": {
          "nulls": 0,
          "distinct": 67,
          "min": 2,
          "max": 99
        },
        "investigation_notes": {
          "nulls": 0,
          "distinct": 102
        },
        "created_at": {
          "nulls": 0,
          "distinct": 95,
          "min": "2023-01-14",
          "max": "2024-12-20"
        },
        "fraud_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "collusion",
          "max": "internal"
        },
        "outcome": {
          "nulls": 0,
          "distinct": 3,
          "min": "confirmed",
          "max": "unconfirmed"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/policies.csv",
      "format": "csv",
      "table": "policies",
      "key": "datasets/claims-processing-insights/v5/csv/policies.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/csv/policies.csv",
      "bytes": 1978,
      "sha256": "349f4af72a0e7dd9cf6bfb43d2a41ac04945d26078bda2c67ee686088e138ece",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/beneficiaries.csv",
      "format": "csv",
      "table": "beneficiaries",
      "key": "datasets/claims-processing-insights/v5/csv/beneficiaries.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/csv/beneficiaries.csv",
      "bytes": 3122,
      "sha256": "fa9a4af85c9d70161ac736d7f9c514407c1c7bb7096f3e5d42565f3d23dd44d7",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/claims.csv",
      "format": "csv",
      "table": "claims",
      "key": "datasets/claims-processing-insights/v5/csv/claims.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/csv/claims.csv",
      "bytes": 5227,
      "sha256": "37c3356f86d15abc72bd114a9b6b0b66ddb7f560fe1a5ac5a9c3018a26e20c42",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/claims_fraud.csv",
      "format": "csv",
      "table": "claims_fraud",
      "key": "datasets/claims-processing-insights/v5/csv/claims_fraud.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/csv/claims_fraud.csv",
      "bytes": 9785,
      "sha256": "ad23646f29a178073ed26353de9b826bd4e980484d5645ff30ddec083a2d29dd",
      "rows": 102,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/claims_notes.csv",
      "format": "csv",
      "table": "claims_notes",
      "key": "datasets/claims-processing-insights/v5/csv/claims_notes.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/csv/claims_notes.csv",
      "bytes": 22052,
      "sha256": "c11dafbfeba0da4db646339f3d3af6aa4609cb29014aa56c9deb085282a92147",
      "rows": 238,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "claims-processing-insights.json",
      "format": "json",
      "table": null,
      "key": "datasets/claims-processing-insights/v5/claims-processing-insights.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/claims-processing-insights.json",
      "bytes": 118749,
      "sha256": "37d9fc1e44d19db725a73645633466ec42b3fff3060082a88a65f5cf398e42e4",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/claims-processing-insights/v5/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/sql/postgres.sql",
      "bytes": 56291,
      "sha256": "808c84551610aaddca616d05754514911c0ae754a356c6178ded2e8da86a124f",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/claims-processing-insights/v5/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/sql/mysql.sql",
      "bytes": 55722,
      "sha256": "5353806b295f68a5fb3719b16b8ec53074d5c548b14b4c329cc1f545b5abb4ef",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/claims-processing-insights/v5/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/sql/mssql.sql",
      "bytes": 58265,
      "sha256": "b651cc492182f3034c2da1059b566c139ecca995736c4d831d73dcf556adbb04",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/claims-processing-insights/v5/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/sql/sqlite.sql",
      "bytes": 55513,
      "sha256": "f3defc01418cdd3965cb613b91a03011ff88d2c102cc0576cf27f5099a698f46",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/claims-processing-insights/v5/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/prisma/seed.ts",
      "bytes": 94185,
      "sha256": "e2aa6796440b944d2b9b096ef3eca4fdbb0139e5c9119ecb232d102f117d1bb6",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/claims-processing-insights/v5/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/claims-processing-insights/v5/django/fixtures.json",
      "bytes": 144309,
      "sha256": "bd4bd2a78beeadd54f4bf771af715e7c687b36880129539d1b6f399cb931b113",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768726505,
  "updatedAt": 1789095697905
}
