{
  "format": "dataset-manifest/1",
  "slug": "donor-and-fundraising-database",
  "version": 4,
  "seed": "donor-and-fundraising-database:1",
  "engine": 1,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "slug": "donor-and-fundraising-database",
    "name": "Fundraising Activity Insights",
    "tagline": "Events, donors, ticket sales, and donations from nonprofit fundraising campaigns and community engagement activities.",
    "description": "Nonprofit organizations thrive on community engagement and fundraising efforts to support their causes, often hosting events to connect with donors and volunteers. This dataset models the dynamics of ticket sales for events, various fundraising campaigns, and the impact of matching gifts. It provides insights into volunteer participation and team dynamics, as well as the success of sponsorships and appeals. The data captures large campaigns that may attract numerous donations and registrations, alongside the steady support from recurring donors. The tables include detailed records of events, donors, ticket sales, campaigns, donations, and sponsors, allowing users to understand fundraising patterns and donor behavior. This synthetic dataset enables analysis, reporting, and practice for data manipulation and visualization in the nonprofit sector.",
    "domain": "nonprofit",
    "shape": "event-log",
    "useCases": [
      "analytics-demo",
      "etl-pipelines"
    ],
    "keywords": [
      "fundraising",
      "donors",
      "events",
      "campaigns",
      "nonprofit",
      "volunteers",
      "ticket sales",
      "sponsorships"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "events": {
        "description": "This table contains records of fundraising events, detailing their attributes and participation metrics. Each event links to various ticket sales and donations.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the event."
          },
          "name": {
            "kind": "title",
            "description": "Name of the fundraising event.",
            "pool": [
              "gala",
              "run",
              "walk",
              "dinner",
              "auction",
              "concert",
              "festival",
              "challenge",
              "fair",
              "show",
              "tournament",
              "party",
              "race",
              "celebration",
              "barbecue",
              "brunch",
              "bake-off",
              "expo",
              "raffle",
              "webinar",
              "seminar"
            ],
            "min": 1,
            "max": 3
          },
          "date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the event takes place.",
            "trend": "seasonal"
          },
          "location": {
            "kind": "city",
            "description": "City where the event is held."
          },
          "goal_amount": {
            "kind": "decimal",
            "min": 1000,
            "max": 50000,
            "scale": 2,
            "description": "Financial goal set for the event.",
            "distribution": "long-tail"
          }
        }
      },
      "donors": {
        "description": "This table captures information about donors, linking them to their donations and event participation. It allows tracking of donor engagement over time.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the donor."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the donor."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the donor."
          },
          "donor_type": {
            "kind": "enum",
            "values": [
              "individual",
              "corporate",
              "foundation"
            ],
            "description": "Type of donor.",
            "weights": [
              6,
              2,
              1
            ]
          },
          "recurring": {
            "kind": "bool",
            "trueRate": 0.5,
            "description": "Indicates if the donor is a recurring supporter."
          }
        }
      },
      "ticket_sales": {
        "description": "This table details ticket sales for events, connecting donors with the events they attended. It tracks revenue generated from ticket sales.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the ticket sale."
          },
          "event_id": {
            "kind": "fk",
            "ref": "events.id",
            "description": "ID of the event for which the ticket is sold."
          },
          "donor_id": {
            "kind": "fk",
            "ref": "donors.id",
            "nullable": true,
            "description": "ID of the donor who purchased the ticket."
          },
          "ticket_price": {
            "kind": "decimal",
            "min": 10,
            "max": 500,
            "scale": 2,
            "description": "Price of the ticket sold.",
            "distribution": "high"
          },
          "quantity": {
            "kind": "int",
            "min": 1,
            "max": 10,
            "description": "Number of tickets sold in this transaction.",
            "distribution": "long-tail"
          },
          "transaction_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the ticket sale transaction occurred."
          },
          "discount_amount": {
            "kind": "decimal",
            "min": 0,
            "max": 100,
            "distribution": "long-tail",
            "description": "Amount discounted from the ticket price."
          }
        }
      },
      "fundraising_campaigns": {
        "description": "This table tracks various fundraising campaigns, their goals, and outcomes, linking them to donations received.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the fundraising campaign."
          },
          "name": {
            "kind": "title",
            "description": "Name of the fundraising campaign.",
            "pool": [
              "hope",
              "change",
              "support",
              "future",
              "dream",
              "impact",
              "community",
              "help",
              "together",
              "action",
              "growth",
              "build",
              "care",
              "love",
              "strength",
              "unity",
              "light",
              "journey",
              "spark",
              "mission",
              "vision"
            ],
            "min": 1,
            "max": 3
          },
          "start_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Start date of the campaign.",
            "trend": "growing"
          },
          "end_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "End date of the campaign.",
            "trend": "growing"
          },
          "goal_amount": {
            "kind": "decimal",
            "min": 5000,
            "max": 100000,
            "scale": 2,
            "description": "Financial goal set for the campaign.",
            "distribution": "heavy-tail"
          }
        }
      },
      "donations": {
        "description": "This table records individual donations made by donors, linking back to both events and campaigns for comprehensive tracking.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the donation."
          },
          "donor_id": {
            "kind": "fk",
            "ref": "donors.id",
            "description": "ID of the donor making the donation."
          },
          "campaign_id": {
            "kind": "fk",
            "ref": "fundraising_campaigns.id",
            "nullable": true,
            "description": "ID of the fundraising campaign associated with this donation."
          },
          "amount": {
            "kind": "decimal",
            "min": 5,
            "max": 10000,
            "scale": 2,
            "description": "Amount donated by the donor.",
            "distribution": "long-tail"
          },
          "donation_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the donation was made."
          },
          "donation_method": {
            "kind": "enum",
            "values": [
              "online",
              "check",
              "cash"
            ],
            "weights": [
              50,
              30,
              20
            ],
            "description": "Method by which the donation was made."
          },
          "anonymous": {
            "kind": "bool",
            "description": "Indicates if the donation was made anonymously."
          }
        }
      },
      "sponsors": {
        "description": "This table contains information about sponsors supporting events and campaigns, linking them to specific activities.",
        "rows": 80,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the sponsor."
          },
          "company_name": {
            "kind": "company",
            "description": "Name of the sponsoring company."
          },
          "event_id": {
            "kind": "fk",
            "ref": "events.id",
            "nullable": true,
            "description": "ID of the event sponsored."
          },
          "campaign_id": {
            "kind": "fk",
            "ref": "fundraising_campaigns.id",
            "nullable": true,
            "description": "ID of the campaign sponsored."
          },
          "sponsorship_amount": {
            "kind": "decimal",
            "min": 1000,
            "max": 50000,
            "scale": 2,
            "description": "Amount contributed by the sponsor.",
            "distribution": "long-tail"
          },
          "contact_email": {
            "kind": "email",
            "from": "company_name",
            "description": "Email address for the sponsoring company."
          },
          "sponsorship_type": {
            "kind": "enum",
            "values": [
              "event",
              "campaign"
            ],
            "description": "Type of sponsorship provided."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "monetary",
      "timestamped",
      "nullable"
    ],
    "analysisQuestions": [
      "What percentage of donations come from recurring donors?",
      "Which events generated the highest ticket sales?",
      "How do different fundraising campaigns compare in terms of total donations?",
      "What is the average donation amount across different donor types?",
      "Which sponsors contribute the most to specific events or campaigns?"
    ],
    "suggestedQueries": [
      {
        "title": "List all events with their total ticket sales",
        "sql": "SELECT e.name, SUM(ts.ticket_price * ts.quantity) AS total_sales FROM events e LEFT JOIN ticket_sales ts ON e.id = ts.event_id GROUP BY e.name",
        "dialect": "postgres"
      },
      {
        "title": "Count donations by donor type",
        "sql": "SELECT d.donor_type, COUNT(*) AS donation_count FROM donations don JOIN donors d ON don.donor_id = d.id GROUP BY d.donor_type",
        "dialect": "postgres"
      },
      {
        "title": "Average donation amount per campaign",
        "sql": "SELECT fc.name, AVG(d.amount) AS average_donation FROM fundraising_campaigns fc LEFT JOIN donations d ON fc.id = d.campaign_id GROUP BY fc.name",
        "dialect": "postgres"
      },
      {
        "title": "Total sponsorship amounts by campaign",
        "sql": "SELECT fc.name, SUM(s.sponsorship_amount) AS total_sponsorship FROM fundraising_campaigns fc LEFT JOIN sponsors s ON fc.id = s.campaign_id GROUP BY fc.name",
        "dialect": "postgres"
      },
      {
        "title": "Monthly donation trends",
        "sql": "SELECT DATE_TRUNC('month', d.donation_date) AS month, SUM(d.amount) AS total_donations FROM donations d GROUP BY month ORDER BY month",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Nonprofit Analysts",
        "body": "Data analysts working for nonprofit organizations can use this dataset to evaluate the effectiveness of fundraising campaigns and events. By analyzing donor engagement and ticket sales, they can identify patterns and trends that inform future fundraising strategies and optimize resource allocation."
      },
      {
        "title": "Development Teams",
        "body": "Development teams can utilize this data to create reports and dashboards that visualize fundraising performance. They can automate the tracking of donations, event participation, and sponsorship engagements, ensuring stakeholders have real-time insights into the organization's financial health."
      },
      {
        "title": "Marketing Professionals",
        "body": "Marketing professionals can leverage the insights from this dataset to craft targeted campaigns aimed at both new and recurring donors. By understanding donor behavior and preferences, they can develop more effective messaging and outreach strategies that resonate with different donor segments."
      },
      {
        "title": "Event Coordinators",
        "body": "Event coordinators can analyze ticket sales and donor participation data to assess the success of various fundraising events. This information helps them plan future events more effectively, ensuring they meet fundraising goals while maximizing donor engagement."
      }
    ]
  },
  "counts": {
    "donors": 300,
    "events": 150,
    "fundraising_campaigns": 100,
    "donations": 600,
    "sponsors": 80,
    "ticket_sales": 400
  },
  "stats": {
    "events": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "name": {
          "nulls": 0,
          "distinct": 118
        },
        "date": {
          "nulls": 0,
          "distinct": 124,
          "min": "2023-01-02",
          "max": "2023-12-31"
        },
        "location": {
          "nulls": 0,
          "distinct": 59,
          "min": "Amsterdam",
          "max": "Zurich"
        },
        "goal_amount": {
          "nulls": 0,
          "distinct": 150,
          "min": 1000.25,
          "max": 49666.61
        }
      }
    },
    "donors": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "full_name": {
          "nulls": 0,
          "distinct": 294,
          "min": "Alice Chen",
          "max": "Zoe Young"
        },
        "email": {
          "nulls": 0,
          "distinct": 298
        },
        "donor_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "corporate",
          "max": "individual"
        },
        "recurring": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "ticket_sales": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "event_id": {
          "nulls": 0,
          "distinct": 139,
          "min": 1,
          "max": 150
        },
        "donor_id": {
          "nulls": 34,
          "distinct": 213,
          "min": 1,
          "max": 300
        },
        "ticket_price": {
          "nulls": 0,
          "distinct": 393,
          "min": 10.34,
          "max": 500
        },
        "quantity": {
          "nulls": 0,
          "distinct": 10,
          "min": 1,
          "max": 10
        },
        "transaction_date": {
          "nulls": 0,
          "distinct": 244,
          "min": "2023-01-01",
          "max": "2023-12-31"
        },
        "discount_amount": {
          "nulls": 0,
          "distinct": 377,
          "min": 0,
          "max": 99.57
        }
      }
    },
    "fundraising_campaigns": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "name": {
          "nulls": 0,
          "distinct": 80
        },
        "start_date": {
          "nulls": 0,
          "distinct": 89,
          "min": "2023-01-04",
          "max": "2023-12-31"
        },
        "end_date": {
          "nulls": 0,
          "distinct": 92,
          "min": "2023-01-10",
          "max": "2023-12-30"
        },
        "goal_amount": {
          "nulls": 0,
          "distinct": 100,
          "min": 5000.07,
          "max": 99296.55
        }
      }
    },
    "donations": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "donor_id": {
          "nulls": 0,
          "distinct": 260,
          "min": 1,
          "max": 300
        },
        "campaign_id": {
          "nulls": 65,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "amount": {
          "nulls": 0,
          "distinct": 598,
          "min": 5.04,
          "max": 9976.12
        },
        "donation_date": {
          "nulls": 0,
          "distinct": 285,
          "min": "2023-01-01",
          "max": "2023-12-31"
        },
        "donation_method": {
          "nulls": 0,
          "distinct": 3,
          "min": "cash",
          "max": "online"
        },
        "anonymous": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "sponsors": {
      "rows": 80,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 80,
          "min": 1,
          "max": 80
        },
        "company_name": {
          "nulls": 0,
          "distinct": 72,
          "min": "Acme Foods",
          "max": "Willow Industries"
        },
        "event_id": {
          "nulls": 12,
          "distinct": 55,
          "min": 1,
          "max": 150
        },
        "campaign_id": {
          "nulls": 6,
          "distinct": 51,
          "min": 1,
          "max": 100
        },
        "sponsorship_amount": {
          "nulls": 0,
          "distinct": 80,
          "min": 1000,
          "max": 49724.2
        },
        "contact_email": {
          "nulls": 0,
          "distinct": 76
        },
        "sponsorship_type": {
          "nulls": 0,
          "distinct": 2,
          "min": "campaign",
          "max": "event"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/donors.csv",
      "format": "csv",
      "table": "donors",
      "key": "datasets/donor-and-fundraising-database/v4/csv/donors.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/csv/donors.csv",
      "bytes": 17119,
      "sha256": "e56c392108be2d1cdbe2371a89ed038b49da797034cbc8149206cd1f72acbcec",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/events.csv",
      "format": "csv",
      "table": "events",
      "key": "datasets/donor-and-fundraising-database/v4/csv/events.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/csv/events.csv",
      "bytes": 7016,
      "sha256": "734b90ec5215a5dd230d39f478db78cebb669523b2acd96246ab4c09a7ab3737",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/fundraising_campaigns.csv",
      "format": "csv",
      "table": "fundraising_campaigns",
      "key": "datasets/donor-and-fundraising-database/v4/csv/fundraising_campaigns.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/csv/fundraising_campaigns.csv",
      "bytes": 4872,
      "sha256": "f24dc8a806254d7027551270d6e7c54b0517a86238b51856699f4ad6fa3b63ae",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/donations.csv",
      "format": "csv",
      "table": "donations",
      "key": "datasets/donor-and-fundraising-database/v4/csv/donations.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/csv/donations.csv",
      "bytes": 24947,
      "sha256": "830d07385942626a0cdd70612d2e29e4d430922061823bdd4bb79fb3ccc86f25",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/sponsors.csv",
      "format": "csv",
      "table": "sponsors",
      "key": "datasets/donor-and-fundraising-database/v4/csv/sponsors.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/csv/sponsors.csv",
      "bytes": 5361,
      "sha256": "4cff3368389f78ff3a90506b99badac8a5fb5ac1f708e92403a8a3ab6d7ee4bd",
      "rows": 80,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/ticket_sales.csv",
      "format": "csv",
      "table": "ticket_sales",
      "key": "datasets/donor-and-fundraising-database/v4/csv/ticket_sales.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/csv/ticket_sales.csv",
      "bytes": 14900,
      "sha256": "98f343d83d9a184f71bf81944f7ea6613b5e05374f34dd5933c9fe38ab45afff",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "donor-and-fundraising-database.json",
      "format": "json",
      "table": null,
      "key": "datasets/donor-and-fundraising-database/v4/donor-and-fundraising-database.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/donor-and-fundraising-database.json",
      "bytes": 303315,
      "sha256": "40df8ac04d0bda5c08dd7dce6a4e35ed4f31f231db22b65c524eaecfdf773d78",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/donor-and-fundraising-database/v4/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/sql/postgres.sql",
      "bytes": 104196,
      "sha256": "ccb8e70761a472d4ca232c5fee5963400fc2d2dca30d8c77a74537b6b73eabbc",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/donor-and-fundraising-database/v4/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/sql/mysql.sql",
      "bytes": 100354,
      "sha256": "08097e07c93a86f2f9d8d243b0cb5ba04e4b767ff2a9349956896cb3fb015cf8",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/donor-and-fundraising-database/v4/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/sql/mssql.sql",
      "bytes": 104234,
      "sha256": "df1b41271e8fc8363817edad34a2195730815840026d8f3c96a8a37730c3e5cd",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/donor-and-fundraising-database/v4/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/sql/sqlite.sql",
      "bytes": 100067,
      "sha256": "1f543277f0c7df0ea1bef8e1c34fd28aa14b3eeb8f3d7ce2cfa518e4e1027fed",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/donor-and-fundraising-database/v4/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/prisma/seed.ts",
      "bytes": 232107,
      "sha256": "7a0588e45a969cb47235eb450696eb8deeada9279f09af9455df5bce58d96f02",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/donor-and-fundraising-database/v4/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/donor-and-fundraising-database/v4/django/fixtures.json",
      "bytes": 374202,
      "sha256": "b8b4b1c45561a58d27657b9f3b11e536b36e427223528929328140eb8c59fa91",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767021236,
  "updatedAt": 1789095789543
}
