{
  "format": "dataset-manifest/1",
  "slug": "agent-and-broker-database",
  "version": 1,
  "seed": "agent-and-broker-database:1",
  "spec": {
    "format": "dataset/1",
    "slug": "agent-and-broker-database",
    "name": "Insurance Agent Network",
    "tagline": "Agents, clients, policies, claims, and training sessions from a diverse insurance agent network.",
    "description": "Agents connect clients with the right insurance coverage and services, navigating a complex landscape of policies, claims, and training. Each interaction represents a critical touchpoint as agents strive to understand their clients' needs and provide tailored solutions. The insurance business is dynamic, with agents specializing in various areas while continually enhancing their skills through training sessions. This network effects the outcomes of policies and claims, making the relationships vital in this environment.\n\nIn this dataset, the tables establish interrelated components of the insurance business. The 'agents' table captures the details of each insurance agent, including their specialization and training history. The 'clients' table holds information on the individuals seeking insurance services, while the 'policies' table outlines the different coverage options available. 'Claims' detail the requests made by clients for compensation under their policies, providing insight into the insurance process. The 'training_sessions' table records the professional development activities agents participate in, enhancing their expertise. Lastly, the 'agent_clients' table maps the relationships between agents and their respective clients, illustrating how agents serve multiple clients and vice versa.\n\nThis dataset answers critical questions about agent performance, client satisfaction, and the efficiency of claims processing. Developers can explore trends in policy sales, the impact of training on claim success rates, and the interplay between agent specialties and client needs. It is a valuable resource for practicing data analysis skills in a realistic insurance context. Keep in mind that all the data in this dataset is synthetic, created to model real-world scenarios while ensuring privacy and confidentiality.",
    "domain": "insurance",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "insurance",
      "agents",
      "clients",
      "policies",
      "claims",
      "training",
      "network"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "agents": {
        "description": "This table stores information about insurance agents, including their specialties and the clients they serve. Each agent is linked to multiple clients through the agent_id.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each agent."
          },
          "first_name": {
            "kind": "firstName",
            "description": "Agent's first name."
          },
          "last_name": {
            "kind": "lastName",
            "description": "Agent's last name."
          },
          "email": {
            "kind": "email",
            "from": [
              "first_name",
              "last_name"
            ],
            "description": "Agent's email address, derived from their name.",
            "nullable": true
          },
          "specialty": {
            "kind": "enum",
            "values": [
              "life",
              "health",
              "auto",
              "home",
              "business"
            ],
            "description": "The main area of insurance the agent specializes in.",
            "nullable": true
          }
        }
      },
      "clients": {
        "description": "This table contains information about clients who interact with agents to obtain insurance coverage. Each client can be served by multiple agents, linking them through client_id.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each client."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Client's full name."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Client's email address, derived from their full name."
          },
          "phone": {
            "kind": "phone",
            "description": "Client's phone number."
          }
        }
      },
      "policies": {
        "description": "This table catalogs insurance policies available through agents, detailing the type and terms of each policy. Each policy is linked to an agent via agent_id.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each policy."
          },
          "policy_type": {
            "kind": "enum",
            "values": [
              "life",
              "health",
              "auto",
              "home",
              "business"
            ],
            "description": "Type of insurance policy."
          },
          "premium": {
            "kind": "decimal",
            "min": 100,
            "max": 5000,
            "scale": 2,
            "description": "Monthly premium cost for the policy.",
            "nullable": true,
            "when": {
              "column": "policy_type",
              "in": [
                "life",
                "health"
              ]
            }
          },
          "agent_id": {
            "kind": "fk",
            "ref": "agents.id",
            "description": "Foreign key linking to the agent offering this policy."
          }
        }
      },
      "claims": {
        "description": "This table records claims filed by clients against their insurance policies. Each claim is associated with a specific policy and is linked to the client who filed it through client_id.",
        "rows": 250,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each claim."
          },
          "claim_amount": {
            "kind": "decimal",
            "min": 500,
            "max": 100000,
            "scale": 2,
            "description": "Amount claimed by the client.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "approved",
                "denied"
              ]
            }
          },
          "status": {
            "kind": "enum",
            "values": [
              "pending",
              "approved",
              "denied"
            ],
            "description": "Current status of the claim."
          },
          "policy_id": {
            "kind": "fk",
            "ref": "policies.id",
            "description": "Foreign key linking to the policy for which this claim is filed."
          },
          "client_id": {
            "kind": "fk",
            "ref": "clients.id",
            "description": "Foreign key linking to the client who filed the claim."
          }
        }
      },
      "training_sessions": {
        "description": "This table maintains records of training sessions attended by agents, detailing the topics covered and the duration of each session.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each training session."
          },
          "topic": {
            "kind": "words",
            "min": 5,
            "max": 30,
            "description": "Topic of the training session."
          },
          "duration_hours": {
            "kind": "int",
            "min": 1,
            "max": 8,
            "description": "Duration of the training session in hours."
          },
          "agent_id": {
            "kind": "fk",
            "ref": "agents.id",
            "description": "Foreign key linking to the agent who attended the training."
          }
        }
      },
      "agent_clients": {
        "description": "This table tracks the relationships between agents and clients, recording which clients are served by which agents.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each record."
          },
          "agent_id": {
            "kind": "fk",
            "ref": "agents.id",
            "description": "Foreign key linking to the agent."
          },
          "client_id": {
            "kind": "fk",
            "ref": "clients.id",
            "description": "Foreign key linking to the client."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "nullable",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "What are the most common specialties among agents?",
      "How does the training received by agents impact the claim approval rate?",
      "Which policies have the highest claim amounts and what types of clients file them?",
      "What patterns exist in client interactions with multiple agents?",
      "How do demographics of clients affect the types of policies they choose?"
    ],
    "suggestedQueries": [
      {
        "title": "List all agents and their specialties",
        "sql": "SELECT first_name, last_name, specialty FROM agents;",
        "dialect": "postgres"
      },
      {
        "title": "Count the number of claims by status",
        "sql": "SELECT status, COUNT(*) FROM claims GROUP BY status;",
        "dialect": "postgres"
      },
      {
        "title": "Find the average premium for policies by type",
        "sql": "SELECT policy_type, AVG(premium) FROM policies GROUP BY policy_type;",
        "dialect": "postgres"
      },
      {
        "title": "Join agents with their clients",
        "sql": "SELECT a.first_name, a.last_name, c.full_name FROM agents a JOIN agent_clients ac ON a.id = ac.agent_id JOIN clients c ON ac.client_id = c.id;",
        "dialect": "postgres"
      },
      {
        "title": "Get training hours and claims filed by each agent",
        "sql": "SELECT a.first_name, a.last_name, SUM(t.duration_hours) as total_training_hours, COUNT(cl.id) as total_claims FROM agents a LEFT JOIN training_sessions t ON a.id = t.agent_id LEFT JOIN claims cl ON a.id = cl.agent_id GROUP BY a.id;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Insurance Company Analysts",
        "body": "Insurance company analysts can leverage this dataset to evaluate the performance of their agents and understand the correlation between training and claim outcomes. By analyzing the data, they can identify training needs and improve overall service quality."
      },
      {
        "title": "Data Scientists in Insurance",
        "body": "Data scientists can use this dataset to build predictive models that assess claims risk based on agent performance and client demographics. This analysis can help in optimizing agent-client assignments and improving policy offerings."
      },
      {
        "title": "Insurance Educators",
        "body": "Educators in insurance training programs can utilize this dataset to create real-world scenarios for their students. By simulating agent-client interactions and claims processing, students can gain valuable insights into industry practices."
      },
      {
        "title": "Insurance Software Developers",
        "body": "Software developers building CRM or claims management systems can use this dataset to test their applications. The diverse agent-client relationships and claims data allow them to ensure their software meets the needs of real-world insurance operations."
      }
    ]
  },
  "counts": {
    "agents": 300,
    "clients": 500,
    "agent_clients": 600,
    "policies": 400,
    "claims": 250,
    "training_sessions": 150
  },
  "stats": {
    "agents": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "first_name": {
          "nulls": 0,
          "distinct": 80,
          "min": "Alice",
          "max": "Zoe"
        },
        "last_name": {
          "nulls": 0,
          "distinct": 80,
          "min": "Adams",
          "max": "Zhang"
        },
        "email": {
          "nulls": 21,
          "distinct": 277
        },
        "specialty": {
          "nulls": 30,
          "distinct": 5,
          "min": "auto",
          "max": "life"
        }
      }
    },
    "clients": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "full_name": {
          "nulls": 0,
          "distinct": 481,
          "min": "Alice Adams",
          "max": "Zoe Young"
        },
        "email": {
          "nulls": 0,
          "distinct": 496
        },
        "phone": {
          "nulls": 0,
          "distinct": 452
        }
      }
    },
    "policies": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "policy_type": {
          "nulls": 0,
          "distinct": 5,
          "min": "auto",
          "max": "life"
        },
        "premium": {
          "nulls": 251,
          "distinct": 149,
          "min": 105.07,
          "max": 4982.37
        },
        "agent_id": {
          "nulls": 0,
          "distinct": 219,
          "min": 1,
          "max": 300
        }
      }
    },
    "claims": {
      "rows": 250,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 250,
          "min": 1,
          "max": 250
        },
        "claim_amount": {
          "nulls": 97,
          "distinct": 153,
          "min": 1667.17,
          "max": 99577.68
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "approved",
          "max": "pending"
        },
        "policy_id": {
          "nulls": 0,
          "distinct": 183,
          "min": 5,
          "max": 398
        },
        "client_id": {
          "nulls": 0,
          "distinct": 185,
          "min": 2,
          "max": 500
        }
      }
    },
    "training_sessions": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "topic": {
          "nulls": 0,
          "distinct": 150
        },
        "duration_hours": {
          "nulls": 0,
          "distinct": 8,
          "min": 1,
          "max": 8
        },
        "agent_id": {
          "nulls": 0,
          "distinct": 119,
          "min": 3,
          "max": 297
        }
      }
    },
    "agent_clients": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "agent_id": {
          "nulls": 0,
          "distinct": 262,
          "min": 2,
          "max": 300
        },
        "client_id": {
          "nulls": 0,
          "distinct": 348,
          "min": 1,
          "max": 500
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/agents.csv",
      "format": "csv",
      "table": "agents",
      "key": "datasets/agent-and-broker-database/v1/csv/agents.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/csv/agents.csv",
      "bytes": 13520,
      "sha256": "949872c6d2117b980e13796ca180d14116379f64d7d75a9c5dc7c45b26a63928",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/clients.csv",
      "format": "csv",
      "table": "clients",
      "key": "datasets/agent-and-broker-database/v1/csv/clients.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/csv/clients.csv",
      "bytes": 28562,
      "sha256": "ed7b766b2000b044c86100dd433e3258b3df97acde53563a59b5896cb88ae47d",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/agent_clients.csv",
      "format": "csv",
      "table": "agent_clients",
      "key": "datasets/agent-and-broker-database/v1/csv/agent_clients.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/csv/agent_clients.csv",
      "bytes": 7370,
      "sha256": "c0e9e7a337d435d6093e07ea6a97641d323310abf8e8629192b61ba9d4a09b2d",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/policies.csv",
      "format": "csv",
      "table": "policies",
      "key": "datasets/agent-and-broker-database/v1/csv/policies.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/csv/policies.csv",
      "bytes": 7252,
      "sha256": "130dbc07e6e5073e7efe21c52ae614e5467d8f543b251647564805c3a178f568",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/claims.csv",
      "format": "csv",
      "table": "claims",
      "key": "datasets/agent-and-broker-database/v1/csv/claims.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/csv/claims.csv",
      "bytes": 6523,
      "sha256": "7c3bbd39bea4e8fccae66fe7b8693f32a852abe4560ddec55e54f41eff9cfb32",
      "rows": 250,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/training_sessions.csv",
      "format": "csv",
      "table": "training_sessions",
      "key": "datasets/agent-and-broker-database/v1/csv/training_sessions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/csv/training_sessions.csv",
      "bytes": 18354,
      "sha256": "047f442653cbfdec4d6529d5639e5ab1eb58fb35f4a4356950202844ddec38b8",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "agent-and-broker-database.json",
      "format": "json",
      "table": null,
      "key": "datasets/agent-and-broker-database/v1/agent-and-broker-database.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/agent-and-broker-database.json",
      "bytes": 267864,
      "sha256": "f3444b5c7ed29a0815406199fd86493c0ac6116f08e01dd380a2d53b8b08a566",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/agent-and-broker-database/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/sql/postgres.sql",
      "bytes": 113429,
      "sha256": "4084140edfba30268d4375fce0e632f4f2696b926da4550d5ef72780d712f867",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/agent-and-broker-database/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/sql/mysql.sql",
      "bytes": 112744,
      "sha256": "a74067720e772b5f4722c16d8737a6df939bd55ff4f0025575088cfb5fcbabbf",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/agent-and-broker-database/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/sql/mssql.sql",
      "bytes": 116587,
      "sha256": "cc3b9f155f813d900dc2103e24f23acd490cbae6189021c6c151f5c8799db210",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/agent-and-broker-database/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/sql/sqlite.sql",
      "bytes": 112458,
      "sha256": "9e3fca54805ef707ca9bc8555ec13e955228676e2d6212d3cd405102baeeb976",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/agent-and-broker-database/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/prisma/seed.ts",
      "bytes": 208374,
      "sha256": "9f896df409c7631129961dd84f304445cb19aa5e0fc6a18fb7122a91741dc25c",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/agent-and-broker-database/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/agent-and-broker-database/v1/django/fixtures.json",
      "bytes": 360031,
      "sha256": "6fc86aec81ca3cedb445562c331a626d874e2573445b82d373e7cc4d5ba5ed03",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766136458,
  "updatedAt": 1788766136458
}
