{
  "format": "dataset-manifest/1",
  "slug": "charitable-engagement-insights",
  "version": 3,
  "seed": "charitable-engagement-insights:1",
  "spec": {
    "format": "dataset/1",
    "slug": "charitable-engagement-insights",
    "name": "Charitable Engagement Insights",
    "tagline": "Donors, donations, events, registrations, and communications for a nonprofit organization.",
    "description": "A nonprofit organization hosts events and engages with donors to strengthen relationships and drive funding through various channels. Donors contribute through grants, pledges, and recurring donations, which the organization meticulously tracks to understand funding patterns and donor preferences. Meanwhile, events are organized to foster community engagement and encourage active participation, allowing the nonprofit to deepen its connections with supporters. The organization also coordinates communications with both individual and corporate donors to keep them informed and involved, enhancing retention and engagement.\n\nIn this dataset, the 'donors' table contains information about the individuals and companies that support the nonprofit, detailing their contact information and donation history. The 'donations' table records each contribution, providing insights into the amount, date, and type of donation, such as one-time gifts or recurring pledges. The 'events' table lists various fundraising or community events, while the 'registrations' table tracks attendance and participation, connecting donors to specific events. Lastly, the 'communications' table captures interactions with donors, including emails, newsletters, and invitations, facilitating a better understanding of donor engagement over time. \n\nBy joining these tables, users can explore various questions such as which events yield the highest donations, how donor communications affect giving behaviors, and what demographics are most engaged with specific campaigns. This dataset is particularly useful for practicing data analysis, fundraising strategies, and donor relationship management. It's important to note that the data is synthetic, designed to simulate real-world scenarios in nonprofit operations, allowing developers to hone their skills without dealing with actual personal information.",
    "domain": "nonprofit",
    "shape": "event-log",
    "useCases": [
      "analytics-demo",
      "etl-pipelines"
    ],
    "keywords": [
      "donors",
      "donations",
      "fundraising",
      "events",
      "nonprofit",
      "grants",
      "pledges",
      "campaigns"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "donors": {
        "description": "This table holds information about individual and corporate donors. Each row represents a unique donor and includes their engagement details.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each donor."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the donor."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "The donor's email address, associated with their full name.",
            "nullable": true
          },
          "type": {
            "kind": "enum",
            "values": [
              "individual",
              "corporate"
            ],
            "description": "The type of donor, indicating whether an individual or a corporate entity.",
            "weights": [
              7,
              3
            ]
          },
          "joined_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the donor joined the organization.",
            "nullable": true,
            "when": {
              "column": "type",
              "in": [
                "corporate"
              ]
            },
            "dayProfile": "waking"
          }
        }
      },
      "donations": {
        "description": "This table tracks the donations made by each donor. Each row corresponds to a single donation event linked to a donor.",
        "rows": {
          "per": "donors",
          "via": "donor_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each donation."
          },
          "donor_id": {
            "kind": "fk",
            "ref": "donors.id",
            "description": "The unique identifier of the donor making the donation."
          },
          "amount": {
            "kind": "decimal",
            "min": 10,
            "max": 10000,
            "scale": 2,
            "description": "The monetary amount of the donation.",
            "nullable": true,
            "distribution": "long-tail"
          },
          "donation_date": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the donation was made.",
            "nullable": true,
            "when": {
              "column": "campaign",
              "in": [
                "matching_gift"
              ]
            },
            "dayProfile": "waking",
            "trend": "growing"
          },
          "campaign": {
            "kind": "enum",
            "values": [
              "annual_fund",
              "capital_campaign",
              "matching_gift",
              "event_fundraiser"
            ],
            "description": "The fundraising campaign associated with the donation.",
            "weights": [
              5,
              2,
              2,
              1
            ]
          }
        }
      },
      "events": {
        "description": "This table contains information about fundraising events organized by the nonprofit. Each row represents a unique event.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each event."
          },
          "event_name": {
            "kind": "title",
            "description": "The name of the fundraising event.",
            "pool": [
              "gala",
              "run",
              "auction",
              "concert",
              "dinner",
              "festival",
              "walk",
              "race",
              "fair",
              "challenge",
              "celebration",
              "show",
              "exhibition",
              "party",
              "brunch",
              "bake-off",
              "tournament",
              "drive",
              "forum",
              "summit",
              "conference",
              "webinar",
              "workshop",
              "meetup",
              "symposium",
              "rally",
              "cruise",
              "picnic",
              "retreat",
              "open-house",
              "expo",
              "launch",
              "benefit",
              "showcase",
              "presentation",
              "lecture",
              "gathering",
              "networking",
              "kickoff",
              "outreach",
              "initiative",
              "campaign",
              "project",
              "mission",
              "sponsorship",
              "collaboration",
              "engagement",
              "partnership",
              "advocacy",
              "volunteer",
              "donation",
              "support",
              "gather",
              "celebrate",
              "honor"
            ],
            "min": 1,
            "max": 3
          },
          "event_date": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the event takes place.",
            "dayProfile": "business",
            "trend": "seasonal"
          },
          "location": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "The location where the event is held.",
            "nullable": true,
            "pool": [
              "park",
              "community",
              "center",
              "auditorium",
              "school",
              "library",
              "stadium",
              "hall",
              "theater",
              "gymnasium",
              "church",
              "farm",
              "beach",
              "market",
              "venue",
              "district",
              "plaza",
              "square",
              "field",
              "studio",
              "gallery"
            ]
          },
          "goal_amount": {
            "kind": "decimal",
            "min": 500,
            "max": 50000,
            "scale": 2,
            "description": "The financial goal for the event.",
            "nullable": true,
            "distribution": "heavy-tail"
          }
        }
      },
      "registrations": {
        "description": "This table tracks the registrations for events by donors. Each row links a donor to an event they registered for.",
        "rows": {
          "per": "donors",
          "via": "donor_id",
          "min": 0,
          "max": 3,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each registration."
          },
          "donor_id": {
            "kind": "fk",
            "ref": "donors.id",
            "description": "The unique identifier of the donor registering for the event."
          },
          "event_id": {
            "kind": "fk",
            "ref": "events.id",
            "description": "The unique identifier of the event being registered for."
          },
          "registration_date": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the donor registered for the event.",
            "dayProfile": "waking"
          }
        }
      },
      "communications": {
        "description": "This table contains records of communications sent to donors. Each row represents a unique communication event.",
        "rows": {
          "per": "donors",
          "via": "donor_id",
          "min": 1,
          "max": 4,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each communication."
          },
          "donor_id": {
            "kind": "fk",
            "ref": "donors.id",
            "description": "The unique identifier of the donor receiving the communication."
          },
          "communication_date": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the communication was sent.",
            "nullable": true,
            "when": {
              "column": "medium",
              "in": [
                "phone"
              ]
            },
            "dayProfile": "business"
          },
          "content": {
            "kind": "paragraph",
            "description": "The content of the communication sent to the donor.",
            "nullable": true
          },
          "medium": {
            "kind": "enum",
            "values": [
              "email",
              "phone",
              "letter"
            ],
            "description": "The medium through which the communication was sent.",
            "weights": [
              6,
              2,
              1
            ]
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "monetary"
    ],
    "analysisQuestions": [
      "What are the most common types of donations made by donors?",
      "How do donation amounts vary by fundraising campaign?",
      "What is the relationship between event registrations and total donations?",
      "Which communication mediums are most effective in engaging donors?",
      "How does donor engagement change over time?"
    ],
    "suggestedQueries": [
      {
        "title": "Get total donations by each donor",
        "sql": "SELECT d.full_name, SUM(do.amount) as total_donations FROM donors d JOIN donations do ON d.id = do.donor_id GROUP BY d.full_name;",
        "dialect": "postgres"
      },
      {
        "title": "Count donations per campaign",
        "sql": "SELECT campaign, COUNT(*) as donation_count FROM donations GROUP BY campaign;",
        "dialect": "postgres"
      },
      {
        "title": "Average donation amount per event",
        "sql": "SELECT e.event_name, AVG(d.amount) as average_donation FROM events e JOIN donations d ON d.campaign = 'event_fundraiser' GROUP BY e.event_name;",
        "dialect": "postgres"
      },
      {
        "title": "Find donors who registered for events",
        "sql": "SELECT d.full_name, e.event_name FROM donors d JOIN registrations r ON d.id = r.donor_id JOIN events e ON r.event_id = e.id;",
        "dialect": "postgres"
      },
      {
        "title": "Analyze communication effectiveness",
        "sql": "SELECT medium, COUNT(*) as total_communications FROM communications GROUP BY medium;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Donor Engagement Analysis",
        "body": "Nonprofit analysts can utilize this dataset to understand donor engagement patterns and identify key metrics that drive donations. By analyzing the relationships between donations, events, and donor communications, they can refine their outreach strategies and improve donor retention."
      },
      {
        "title": "Fundraising Campaign Evaluation",
        "body": "Development teams can leverage the data to evaluate the success of different fundraising campaigns. By comparing donation amounts and participation rates across various campaigns and events, they can make data-driven decisions for future initiatives."
      },
      {
        "title": "ETL Pipeline Development",
        "body": "Data engineers can use this dataset to build and test ETL pipelines that transform and load data into data warehouses. The structured nature of the tables allows for effective extraction, transformation, and loading of donor engagement data for reporting and analysis."
      },
      {
        "title": "Event Planning and Management",
        "body": "Event coordinators can analyze the dataset to assess the impact of past events on donations. By reviewing registration data and subsequent donations, they can plan more effective events and tailor communications to enhance donor participation."
      }
    ]
  },
  "counts": {
    "donors": 200,
    "communications": 375,
    "donations": 443,
    "events": 50,
    "registrations": 199
  },
  "stats": {
    "donors": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 198,
          "min": "Alice Nguyen",
          "max": "Zoe Kim"
        },
        "email": {
          "nulls": 14,
          "distinct": 186
        },
        "type": {
          "nulls": 0,
          "distinct": 2,
          "min": "corporate",
          "max": "individual"
        },
        "joined_at": {
          "nulls": 143,
          "distinct": 57,
          "min": "2020-01-01 13:43:22",
          "max": "2023-10-24 19:36:20"
        }
      }
    },
    "donations": {
      "rows": 443,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 443,
          "min": 1,
          "max": 443
        },
        "donor_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "amount": {
          "nulls": 53,
          "distinct": 388,
          "min": 10.01,
          "max": 9995.42
        },
        "donation_date": {
          "nulls": 344,
          "distinct": 99,
          "min": "2020-01-21 10:37:37",
          "max": "2023-12-14 10:31:00"
        },
        "campaign": {
          "nulls": 0,
          "distinct": 4,
          "min": "annual_fund",
          "max": "matching_gift"
        }
      }
    },
    "events": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "event_name": {
          "nulls": 0,
          "distinct": 47
        },
        "event_date": {
          "nulls": 0,
          "distinct": 50,
          "min": "2020-01-15 09:07:40",
          "max": "2023-11-22 10:26:22"
        },
        "location": {
          "nulls": 7,
          "distinct": 41
        },
        "goal_amount": {
          "nulls": 7,
          "distinct": 43,
          "min": 500,
          "max": 47895.42
        }
      }
    },
    "registrations": {
      "rows": 199,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 199,
          "min": 1,
          "max": 199
        },
        "donor_id": {
          "nulls": 0,
          "distinct": 103,
          "min": 1,
          "max": 200
        },
        "event_id": {
          "nulls": 0,
          "distinct": 49,
          "min": 1,
          "max": 50
        },
        "registration_date": {
          "nulls": 0,
          "distinct": 199,
          "min": "2020-01-01 04:54:32",
          "max": "2023-12-31 15:31:01"
        }
      }
    },
    "communications": {
      "rows": 375,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 375,
          "min": 1,
          "max": 375
        },
        "donor_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "communication_date": {
          "nulls": 282,
          "distinct": 93,
          "min": "2020-01-20 16:37:13",
          "max": "2023-12-29 17:29:05"
        },
        "content": {
          "nulls": 41,
          "distinct": 334
        },
        "medium": {
          "nulls": 0,
          "distinct": 3,
          "min": "email",
          "max": "phone"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/donors.csv",
      "format": "csv",
      "table": "donors",
      "key": "datasets/charitable-engagement-insights/v3/csv/donors.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/csv/donors.csv",
      "bytes": 11210,
      "sha256": "7ed856e9a458ef4bd5b458a4928da388cac48c3a71b4ce646005e207d4c796ce",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/communications.csv",
      "format": "csv",
      "table": "communications",
      "key": "datasets/charitable-engagement-insights/v3/csv/communications.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/csv/communications.csv",
      "bytes": 63882,
      "sha256": "0f5f346ae0f39f45b40bd61baf85ea77286b867d4ef79712872819253d313d20",
      "rows": 375,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/donations.csv",
      "format": "csv",
      "table": "donations",
      "key": "datasets/charitable-engagement-insights/v3/csv/donations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/csv/donations.csv",
      "bytes": 15281,
      "sha256": "b7e43b349df848668eba1910839a182f7f515a2aa3f15e68034b58bf45ec7da6",
      "rows": 443,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/events.csv",
      "format": "csv",
      "table": "events",
      "key": "datasets/charitable-engagement-insights/v3/csv/events.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/csv/events.csv",
      "bytes": 3097,
      "sha256": "b5347b545910cb54ddf10f82b222bbb73a11e41b23735c68f90320e4f0667671",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/registrations.csv",
      "format": "csv",
      "table": "registrations",
      "key": "datasets/charitable-engagement-insights/v3/csv/registrations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/csv/registrations.csv",
      "bytes": 6145,
      "sha256": "a53395ac457e179f58bd91058ee6f6ead47f0bef1fbd885d8049058eefbb17b6",
      "rows": 199,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "charitable-engagement-insights.json",
      "format": "json",
      "table": null,
      "key": "datasets/charitable-engagement-insights/v3/charitable-engagement-insights.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/charitable-engagement-insights.json",
      "bytes": 235367,
      "sha256": "6d34e159680963640b55e4e5b9012c6366028e9d0e6ac84ef315c3ca76dd5c9d",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/charitable-engagement-insights/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/sql/postgres.sql",
      "bytes": 122875,
      "sha256": "db79f821f36d0d3e37f884d3d628c42c27c4202c90d6bffcb4886b57c7a8ec89",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/charitable-engagement-insights/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/sql/mysql.sql",
      "bytes": 122307,
      "sha256": "3b4847bdf9eab0fc9ddb872fe000fe6882061762131f3cb8ebf85ff763f2ffbf",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/charitable-engagement-insights/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/sql/mssql.sql",
      "bytes": 124978,
      "sha256": "88e455d05d88621ff414e2a1b781df10dca19c4555b5ccb45119e7fe965bb662",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/charitable-engagement-insights/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/sql/sqlite.sql",
      "bytes": 122068,
      "sha256": "a2587d8d90524fd1ffb037db61706be3922f58d618d33c8868026c958dbb4807",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/charitable-engagement-insights/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/prisma/seed.ts",
      "bytes": 198685,
      "sha256": "3466bf234f2fd83e41e9853e2ee15e9f364a4415ca2d3a6c8f37eb399c5a254b",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/charitable-engagement-insights/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-engagement-insights/v3/django/fixtures.json",
      "bytes": 291962,
      "sha256": "aa938d36f6dc7add49a3a2fff2727577cde31456b4272239a7f9a8127ae8d41d",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766975521,
  "updatedAt": 1788782720444
}
