{
  "format": "dataset-manifest/1",
  "slug": "charitable-contribution-insight",
  "version": 3,
  "seed": "charitable-contribution-insight:1",
  "spec": {
    "format": "dataset/1",
    "slug": "charitable-contribution-insight",
    "name": "Charitable Contribution Insight",
    "tagline": "Donor profiles, campaign details, contribution records, and solicitor notes from non-profit fundraising efforts.",
    "description": "Non-profit organizations rely on effective fundraising strategies to support their missions and engage donors. This dataset revolves around various elements of charitable contributions, tracking participants, their attributes, and the campaigns designed to solicit donations. The tables are interconnected, providing insights into donors, campaigns, contributions, solicitors, and notes related to fundraising efforts. By analyzing this synthetic dataset, users can understand the relationships between gift solicitors and donors, assess the impact of different funding sources on proposals, and review detailed notes regarding actions taken in the pursuit of donations. The dataset allows users to explore questions such as which campaigns yield the highest contributions or how donor demographics influence fundraising success. It is particularly useful for SQL practice, as it provides ample opportunities to engage with complex queries and relationships among the tables.",
    "domain": "marketing",
    "shape": "ledger",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "nonprofit",
      "fundraising",
      "donors",
      "campaigns",
      "contributions",
      "charity",
      "solicitors",
      "analytics"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "donors": {
        "description": "This table holds information about the donors who contribute to campaigns. Each donor has unique attributes, including demographics and contact information.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each donor."
          },
          "first_name": {
            "kind": "firstName",
            "description": "First name of the donor."
          },
          "last_name": {
            "kind": "lastName",
            "description": "Last name of the donor."
          },
          "email": {
            "kind": "email",
            "from": [
              "first_name",
              "last_name"
            ],
            "description": "Email address of the donor."
          },
          "phone": {
            "kind": "phone",
            "description": "Contact phone number of the donor."
          },
          "city": {
            "kind": "city",
            "description": "City where the donor resides."
          },
          "state": {
            "kind": "enum",
            "values": [
              "CA",
              "NY",
              "TX",
              "FL",
              "IL"
            ],
            "description": "State where the donor resides.",
            "weights": [
              5,
              3,
              2,
              1,
              1
            ]
          },
          "postal_code": {
            "kind": "postcode",
            "description": "Postal code of the donor's address."
          },
          "donor_since": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "Date when the donor started contributing."
          }
        }
      },
      "campaigns": {
        "description": "This table contains information about fundraising campaigns organized by the non-profit. Each campaign has attributes that define its goals and timelines.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each campaign."
          },
          "name": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Name of the fundraising campaign.",
            "pool": [
              "hope",
              "future",
              "care",
              "light",
              "support",
              "change",
              "unity",
              "strength",
              "impact",
              "dream",
              "together",
              "growth",
              "help",
              "love",
              "community",
              "action",
              "journey",
              "inspire",
              "compassion",
              "share",
              "success"
            ]
          },
          "goal_amount": {
            "kind": "decimal",
            "min": 1000,
            "max": 50000,
            "scale": 2,
            "description": "Financial goal for the campaign.",
            "distribution": "long-tail"
          },
          "start_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Start date of the campaign."
          },
          "end_date": {
            "kind": "date",
            "from": "2023-01-31",
            "to": "2024-01-31",
            "description": "End date of the campaign."
          },
          "status": {
            "kind": "enum",
            "values": [
              "ongoing",
              "completed",
              "upcoming"
            ],
            "description": "Current status of the campaign.",
            "weights": [
              6,
              3,
              1
            ]
          }
        }
      },
      "contributions": {
        "description": "This table records contributions made by donors to various campaigns. Each contribution is linked to a specific donor and campaign.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each contribution."
          },
          "donor_id": {
            "kind": "fk",
            "ref": "donors.id",
            "description": "Reference to the donor who made the contribution."
          },
          "campaign_id": {
            "kind": "fk",
            "ref": "campaigns.id",
            "description": "Reference to the campaign receiving the contribution."
          },
          "amount": {
            "kind": "decimal",
            "min": 10,
            "max": 5000,
            "scale": 2,
            "description": "Amount of the contribution made by the donor.",
            "distribution": "long-tail"
          },
          "contribution_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the contribution was made."
          }
        }
      },
      "solicitors": {
        "description": "This table includes information about solicitors who engage donors for contributions. Each solicitor can work on multiple campaigns.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each solicitor."
          },
          "first_name": {
            "kind": "firstName",
            "description": "First name of the solicitor."
          },
          "last_name": {
            "kind": "lastName",
            "description": "Last name of the solicitor."
          },
          "email": {
            "kind": "email",
            "from": [
              "first_name",
              "last_name"
            ],
            "description": "Email address of the solicitor."
          },
          "campaign_id": {
            "kind": "fk",
            "ref": "campaigns.id",
            "nullable": true,
            "description": "Reference to the campaign the solicitor is currently working on."
          }
        }
      },
      "notes": {
        "description": "This table contains notes regarding interactions with donors and details about their contributions. It helps track the engagement history.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each note."
          },
          "donor_id": {
            "kind": "fk",
            "ref": "donors.id",
            "description": "Reference to the donor related to this note."
          },
          "note": {
            "kind": "paragraph",
            "min": 5,
            "max": 200,
            "description": "Content of the note regarding the donor's engagement."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "dayProfile": "business",
            "description": "Timestamp when the note was created."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "nullable",
      "timestamped",
      "categorical",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "Which campaigns have the highest total contributions?",
      "How do donor demographics influence contribution amounts?",
      "What is the average contribution per campaign?",
      "Which solicitors are the most effective at engaging donors?",
      "How frequently do donors contribute to campaigns?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Donors and Contributions",
        "sql": "SELECT d.first_name, d.last_name, c.amount FROM donors d JOIN contributions c ON d.id = c.donor_id;",
        "dialect": "postgres"
      },
      {
        "title": "Total Contributions by Campaign",
        "sql": "SELECT ca.name, SUM(co.amount) AS total_contributions FROM campaigns ca JOIN contributions co ON ca.id = co.campaign_id GROUP BY ca.name;",
        "dialect": "postgres"
      },
      {
        "title": "Average Contribution per Donor",
        "sql": "SELECT d.first_name, d.last_name, AVG(c.amount) AS average_contribution FROM donors d JOIN contributions c ON d.id = c.donor_id GROUP BY d.id;",
        "dialect": "postgres"
      },
      {
        "title": "Contributions Over Time",
        "sql": "SELECT DATE(c.contribution_date) AS date, SUM(c.amount) AS total FROM contributions c GROUP BY date ORDER BY date;",
        "dialect": "postgres"
      },
      {
        "title": "Solicitors Effectiveness",
        "sql": "SELECT s.first_name, s.last_name, COUNT(c.id) AS total_contributions FROM solicitors s LEFT JOIN contributions c ON s.campaign_id = c.campaign_id GROUP BY s.id;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Fundraising Analysis",
        "body": "Marketing analysts in non-profit organizations can use this dataset to assess the effectiveness of their fundraising campaigns. By analyzing donor contributions and campaign performance, they can identify strategies that work best, helping to optimize future fundraising efforts."
      },
      {
        "title": "Donor Engagement Strategies",
        "body": "Development teams can leverage the dataset to understand donor behaviors and preferences. By examining the notes related to donor interactions, teams can tailor their engagement and communication approaches, leading to stronger relationships and increased contributions."
      },
      {
        "title": "Teaching SQL Concepts",
        "body": "Instructors can utilize this dataset in educational settings to teach SQL querying concepts. Students can practice writing complex queries, performing joins, and aggregating data, all while analyzing real-world scenarios related to charitable contributions."
      },
      {
        "title": "Campaign Performance Reviews",
        "body": "Non-profit managers can review campaign performance by analyzing contributions over time. This dataset provides insights into which campaigns resonated with donors, allowing managers to refine their messaging and outreach strategies for future initiatives."
      }
    ]
  },
  "counts": {
    "campaigns": 50,
    "donors": 300,
    "contributions": 600,
    "notes": 300,
    "solicitors": 100
  },
  "stats": {
    "donors": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "first_name": {
          "nulls": 0,
          "distinct": 79,
          "min": "Alice",
          "max": "Zoe"
        },
        "last_name": {
          "nulls": 0,
          "distinct": 78,
          "min": "Adams",
          "max": "Zhang"
        },
        "email": {
          "nulls": 0,
          "distinct": 298
        },
        "phone": {
          "nulls": 0,
          "distinct": 276
        },
        "city": {
          "nulls": 0,
          "distinct": 63,
          "min": "Amsterdam",
          "max": "Zurich"
        },
        "state": {
          "nulls": 0,
          "distinct": 5,
          "min": "CA",
          "max": "TX"
        },
        "postal_code": {
          "nulls": 0,
          "distinct": 300,
          "min": 205,
          "max": 99932
        },
        "donor_since": {
          "nulls": 0,
          "distinct": 261,
          "min": "2020-01-11",
          "max": "2022-12-30"
        }
      }
    },
    "campaigns": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "name": {
          "nulls": 0,
          "distinct": 38
        },
        "goal_amount": {
          "nulls": 0,
          "distinct": 50,
          "min": 1470.47,
          "max": 49863.66
        },
        "start_date": {
          "nulls": 0,
          "distinct": 45,
          "min": "2023-01-19",
          "max": "2023-12-26"
        },
        "end_date": {
          "nulls": 0,
          "distinct": 48,
          "min": "2023-02-01",
          "max": "2024-01-29"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "completed",
          "max": "upcoming"
        }
      }
    },
    "contributions": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "donor_id": {
          "nulls": 0,
          "distinct": 267,
          "min": 1,
          "max": 300
        },
        "campaign_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "amount": {
          "nulls": 0,
          "distinct": 599,
          "min": 10,
          "max": 4983.38
        },
        "contribution_date": {
          "nulls": 0,
          "distinct": 290,
          "min": "2023-01-01",
          "max": "2023-12-31"
        }
      }
    },
    "solicitors": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "first_name": {
          "nulls": 0,
          "distinct": 59,
          "min": "Alice",
          "max": "Zara"
        },
        "last_name": {
          "nulls": 0,
          "distinct": 59,
          "min": "Ahmed",
          "max": "Zhang"
        },
        "email": {
          "nulls": 0,
          "distinct": 100
        },
        "campaign_id": {
          "nulls": 11,
          "distinct": 40,
          "min": 1,
          "max": 50
        }
      }
    },
    "notes": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "donor_id": {
          "nulls": 0,
          "distinct": 183,
          "min": 1,
          "max": 300
        },
        "note": {
          "nulls": 0,
          "distinct": 300
        },
        "created_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2023-01-01 15:08:41",
          "max": "2023-12-31 15:24:29"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/campaigns.csv",
      "format": "csv",
      "table": "campaigns",
      "key": "datasets/charitable-contribution-insight/v3/csv/campaigns.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/csv/campaigns.csv",
      "bytes": 2840,
      "sha256": "b6bb82101076fc5b2c627da5a669a6a9e623af5ff4f6180735a50680ff83afd9",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/donors.csv",
      "format": "csv",
      "table": "donors",
      "key": "datasets/charitable-contribution-insight/v3/csv/donors.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/csv/donors.csv",
      "bytes": 25438,
      "sha256": "2b4c2c8eb6bc2e20d9a09d5b19f3b93d633af79b20547162ffb6f901455770da",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/contributions.csv",
      "format": "csv",
      "table": "contributions",
      "key": "datasets/charitable-contribution-insight/v3/csv/contributions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/csv/contributions.csv",
      "bytes": 17866,
      "sha256": "8878d0bc082eacf400de1048a09ec023fe69a8ba1dd3215b8cdeafb71cde9dff",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/notes.csv",
      "format": "csv",
      "table": "notes",
      "key": "datasets/charitable-contribution-insight/v3/csv/notes.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/csv/notes.csv",
      "bytes": 59145,
      "sha256": "d3b31dd30d0c1ee4e30115d50a350761f917f7fc97a943949d7a330941b333bd",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/solicitors.csv",
      "format": "csv",
      "table": "solicitors",
      "key": "datasets/charitable-contribution-insight/v3/csv/solicitors.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/csv/solicitors.csv",
      "bytes": 4319,
      "sha256": "feabd302d3930dddd817fec40f01fb5068991848f21a813dc389be14e5fecd43",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "charitable-contribution-insight.json",
      "format": "json",
      "table": null,
      "key": "datasets/charitable-contribution-insight/v3/charitable-contribution-insight.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/charitable-contribution-insight.json",
      "bytes": 274855,
      "sha256": "798793bae6d534e8dbe4e9d235368c601eddecd4406e3f323674cb4088991a2a",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/charitable-contribution-insight/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/sql/postgres.sql",
      "bytes": 135249,
      "sha256": "f1b64be1fbc095a5e101221a531eefb44d859ec4eb37f8b7faca8118ffd19c47",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/charitable-contribution-insight/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/sql/mysql.sql",
      "bytes": 134695,
      "sha256": "262866e8d0420552658b832513d0e51c150dd902dad66f5fb567be0b0da6b142",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/charitable-contribution-insight/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/sql/mssql.sql",
      "bytes": 139128,
      "sha256": "f62f24b8b98612dd07cd26958b5e8706588f14f5aee06a9985468c9b8b6cb8fa",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/charitable-contribution-insight/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/sql/sqlite.sql",
      "bytes": 134449,
      "sha256": "eff451b90cca3e523120473c8edbe563afa77e61d796ba3747c75be7cedf1637",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/charitable-contribution-insight/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/prisma/seed.ts",
      "bytes": 224361,
      "sha256": "4c36f978c065fd8901ec0a449cf67eb2971e277cb17aff6e75d89bd25b15172e",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/charitable-contribution-insight/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/charitable-contribution-insight/v3/django/fixtures.json",
      "bytes": 332781,
      "sha256": "fc79bf07465c580cc6690ff18421c38772860c9705bbaf744274bef0cf6d03e0",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767183194,
  "updatedAt": 1788782698760
}
