{
  "format": "dataset-manifest/1",
  "slug": "personal-financial-management-and-budgeting-app",
  "version": 1,
  "seed": "personal-financial-management-and-budgeting-app:1",
  "spec": {
    "format": "dataset/1",
    "slug": "personal-financial-management-and-budgeting-app",
    "name": "Budgeting Behavior",
    "tagline": "User budgeting behavior, income sources, expenses, and financial goals from diverse individuals managing their finances.",
    "description": "Individuals track their financial health by actively managing budgets and monitoring expenses. Users employ various budgeting strategies tailored to their unique demographics, leading to diverse insights into spending habits and financial goals. Each user records their income sources, which dictate how much they can allocate towards their budgets, allowing for a streamlined view of financial behaviors across different demographics. \n\nThe tables in this dataset interconnect seamlessly to provide a comprehensive picture of personal finance management. The 'users' table details individual profiles, while the 'budgets' table outlines their respective budget allocations. Each budget is linked to specific 'expenses' recorded by users, which highlights spending patterns in categories such as groceries and entertainment. The 'income_sources' table reveals how different streams of income impact users' financial strategies, and 'financial_goals' captures aspirations that guide budgetary decisions. A typical row in the 'users' table represents an individual's demographic information, while the 'budgets' table contains data on their planned expenditures and savings.\n\nThis dataset allows developers to explore various questions regarding personal finance management, such as: How do users’ income sources affect their budgeting behavior? What common spending categories emerge across different demographics? Are there significant patterns in how users achieve their financial goals? By analyzing these aspects, one can practice data manipulation, querying, and relationship building within a financial context. Keep in mind that the data is synthetic, created to provide a realistic yet safe environment for experimentation.",
    "domain": "saas",
    "shape": "hierarchical",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "budgeting",
      "finance",
      "spending",
      "income",
      "demographics",
      "financial goals",
      "expense tracking",
      "behavior analysis"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "Each row represents a unique user, linking to their demographic details and financial behaviors.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the user."
          },
          "age": {
            "kind": "int",
            "min": 18,
            "max": 65,
            "description": "Age of the user."
          },
          "gender": {
            "kind": "enum",
            "values": [
              "male",
              "female",
              "non-binary"
            ],
            "description": "Gender of the user."
          },
          "income": {
            "kind": "decimal",
            "min": 20000,
            "max": 200000,
            "scale": 2,
            "description": "Annual income of the user in USD."
          }
        }
      },
      "budgets": {
        "description": "Each budget entry corresponds to a user, detailing their budgeting method and financial goals.",
        "rows": 200,
        "via": "user_id",
        "min": 1,
        "max": 5,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each budget."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "References the user associated with this budget."
          },
          "budget_method": {
            "kind": "enum",
            "values": [
              "zero-based",
              "50/30/20",
              "envelope",
              "incremental"
            ],
            "description": "The budgeting method used by the user."
          },
          "financial_goal": {
            "kind": "words",
            "min": 5,
            "max": 50,
            "description": "Description of the user's financial goal."
          }
        }
      },
      "expenses": {
        "description": "Tracks individual expenses for each user, categorized by type and amount.",
        "rows": 800,
        "via": "user_id",
        "min": 1,
        "max": 10,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each expense."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "References the user who made the expense."
          },
          "category": {
            "kind": "enum",
            "values": [
              "groceries",
              "entertainment",
              "utilities",
              "transportation",
              "healthcare"
            ],
            "description": "Category of the expense."
          },
          "amount": {
            "kind": "decimal",
            "min": 5,
            "max": 5000,
            "scale": 2,
            "description": "Amount spent in USD."
          },
          "date": {
            "kind": "date",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date of the expense.",
            "trend": "seasonal"
          }
        }
      },
      "income_sources": {
        "description": "Details various income sources for each user, reflecting their financial diversity.",
        "rows": 400,
        "via": "user_id",
        "min": 1,
        "max": 3,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each income source."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "References the user associated with this income source."
          },
          "source_type": {
            "kind": "enum",
            "values": [
              "salary",
              "freelance",
              "investment",
              "other"
            ],
            "description": "Type of income source."
          },
          "amount": {
            "kind": "decimal",
            "min": 1000,
            "max": 150000,
            "scale": 2,
            "description": "Monthly income from this source in USD."
          }
        }
      },
      "financial_goals": {
        "description": "Captures long-term financial goals for users, which can guide budgeting and spending decisions.",
        "rows": 200,
        "via": "user_id",
        "min": 1,
        "max": 2,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each financial goal."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "References the user associated with this financial goal."
          },
          "goal_type": {
            "kind": "enum",
            "values": [
              "savings",
              "debt_reduction",
              "investment",
              "emergency_fund"
            ],
            "description": "Type of financial goal."
          },
          "target_amount": {
            "kind": "decimal",
            "min": 1000,
            "max": 100000,
            "scale": 2,
            "description": "Target amount for the financial goal in USD."
          },
          "deadline": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2030-12-31",
            "description": "Deadline for achieving the financial goal.",
            "trend": "growing"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "monetary",
      "timestamped",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "What are the most common categories of expenses for users?",
      "How do income sources vary across different demographics?",
      "What budgeting methods are most effective in achieving financial goals?",
      "Which age group tends to spend the most on entertainment?",
      "How do financial goals correlate with budgeting methods?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Users and Budgets",
        "sql": "SELECT u.full_name, b.budget_method FROM users u JOIN budgets b ON u.id = b.user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Aggregate Expenses by Category",
        "sql": "SELECT category, SUM(amount) as total_spent FROM expenses GROUP BY category;",
        "dialect": "postgres"
      },
      {
        "title": "Users with Financial Goals",
        "sql": "SELECT u.full_name, fg.goal_type FROM users u JOIN financial_goals fg ON u.id = fg.user_id WHERE fg.target_amount > 5000;",
        "dialect": "postgres"
      },
      {
        "title": "Average Income by Source Type",
        "sql": "SELECT source_type, AVG(amount) as average_income FROM income_sources GROUP BY source_type;",
        "dialect": "postgres"
      },
      {
        "title": "Expenses Over Time",
        "sql": "SELECT date_trunc('month', date) as month, SUM(amount) as total_expenses FROM expenses GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Financial Educators",
        "body": "Educators can utilize this dataset to teach students about budgeting techniques and the importance of tracking expenses. By analyzing the data, students can learn to identify trends and make informed financial decisions."
      },
      {
        "title": "Budgeting App Developers",
        "body": "Developers can use this dataset to simulate user behavior and test various budgeting algorithms within their applications. The rich variety of user demographics and financial behaviors allow for realistic testing scenarios."
      },
      {
        "title": "Financial Analysts",
        "body": "Analysts can leverage this dataset to study consumer behavior and spending patterns. By examining the relationships between income, expenses, and financial goals, they can derive insights that help in developing financial products."
      },
      {
        "title": "Data Science Students",
        "body": "Students in data science programs can use this dataset for hands-on projects. They can practice SQL queries, data analysis, and visualization techniques to gain a deeper understanding of financial data management."
      }
    ]
  },
  "counts": {
    "users": 200,
    "budgets": 200,
    "expenses": 800,
    "financial_goals": 200,
    "income_sources": 400
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 192,
          "min": "Alice Ahmed",
          "max": "Zoe Davis"
        },
        "age": {
          "nulls": 0,
          "distinct": 47,
          "min": 18,
          "max": 65
        },
        "gender": {
          "nulls": 0,
          "distinct": 3,
          "min": "female",
          "max": "non-binary"
        },
        "income": {
          "nulls": 0,
          "distinct": 200,
          "min": 21084.67,
          "max": 199497.15
        }
      }
    },
    "budgets": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "user_id": {
          "nulls": 0,
          "distinct": 127,
          "min": 2,
          "max": 200
        },
        "budget_method": {
          "nulls": 0,
          "distinct": 4,
          "min": "50/30/20",
          "max": "zero-based"
        },
        "financial_goal": {
          "nulls": 0,
          "distinct": 200
        }
      }
    },
    "expenses": {
      "rows": 800,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 800,
          "min": 1,
          "max": 800
        },
        "user_id": {
          "nulls": 0,
          "distinct": 195,
          "min": 1,
          "max": 200
        },
        "category": {
          "nulls": 0,
          "distinct": 5,
          "min": "entertainment",
          "max": "utilities"
        },
        "amount": {
          "nulls": 0,
          "distinct": 800,
          "min": 5.65,
          "max": 4993.41
        },
        "date": {
          "nulls": 0,
          "distinct": 462,
          "min": "2022-01-01",
          "max": "2023-12-31"
        }
      }
    },
    "income_sources": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "user_id": {
          "nulls": 0,
          "distinct": 177,
          "min": 1,
          "max": 200
        },
        "source_type": {
          "nulls": 0,
          "distinct": 4,
          "min": "freelance",
          "max": "salary"
        },
        "amount": {
          "nulls": 0,
          "distinct": 400,
          "min": 1077.48,
          "max": 149393.57
        }
      }
    },
    "financial_goals": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "user_id": {
          "nulls": 0,
          "distinct": 120,
          "min": 4,
          "max": 199
        },
        "goal_type": {
          "nulls": 0,
          "distinct": 4,
          "min": "debt_reduction",
          "max": "savings"
        },
        "target_amount": {
          "nulls": 0,
          "distinct": 200,
          "min": 1356.56,
          "max": 99614.81
        },
        "deadline": {
          "nulls": 0,
          "distinct": 195,
          "min": "2023-01-28",
          "max": "2030-11-23"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/csv/users.csv",
      "bytes": 7411,
      "sha256": "719b0a582b59185c886b98d8ade97e1ea492026bc3761ce936c43b387bd238fb",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/budgets.csv",
      "format": "csv",
      "table": "budgets",
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/csv/budgets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/csv/budgets.csv",
      "bytes": 39562,
      "sha256": "fa1a1d7da791b9c597cd2322fa3aef66c7b6fe2d7f5ce809ffdbeb4a4fc0cf5d",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/expenses.csv",
      "format": "csv",
      "table": "expenses",
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/csv/expenses.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/csv/expenses.csv",
      "bytes": 31255,
      "sha256": "5072375f73d56f99995715dcc0d19a1fd70330fe4a6e15eb46365893047551b3",
      "rows": 800,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/financial_goals.csv",
      "format": "csv",
      "table": "financial_goals",
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/csv/financial_goals.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/csv/financial_goals.csv",
      "bytes": 8071,
      "sha256": "38822ae1f4eba3eb51e2e26aa33eb65d0842c5dd86787b5de7ed99c439c2facf",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/income_sources.csv",
      "format": "csv",
      "table": "income_sources",
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/csv/income_sources.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/csv/income_sources.csv",
      "bytes": 10385,
      "sha256": "1428df584e93c4c8685f7e8ddb25bc8cb8cf8683b729fa5a84ce742f70aa77bc",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "personal-financial-management-and-budgeting-app.json",
      "format": "json",
      "table": null,
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/personal-financial-management-and-budgeting-app.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/personal-financial-management-and-budgeting-app.json",
      "bytes": 267217,
      "sha256": "bf3618fce157d7767f1921b6d1370beba5d43b9e7a5747895a876acd11e17cf8",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/sql/postgres.sql",
      "bytes": 123438,
      "sha256": "0902cb4e92b073d4f2b76e6c63390e993aee427fbee24b12c0e80ee0bb4a27e3",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/sql/mysql.sql",
      "bytes": 122869,
      "sha256": "0b9fb6439183443aa65172677d4687ed8da8b3a92d975b17a3e94c97586614eb",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/sql/mssql.sql",
      "bytes": 126399,
      "sha256": "ab6a355d2a189f69df1c7304589ed1e4264b05a4806be6c226361fea5b1d931d",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/sql/sqlite.sql",
      "bytes": 122668,
      "sha256": "d9150e3078bc13c16638f016f0a6957b66dbd6841710b8f27b4fd24fb786948f",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/prisma/seed.ts",
      "bytes": 211635,
      "sha256": "678ef57d52da43cbb42a25084ec333a109ccfb34f935a5bd8616e1b6ecaff19c",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/personal-financial-management-and-budgeting-app/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/personal-financial-management-and-budgeting-app/v1/django/fixtures.json",
      "bytes": 346505,
      "sha256": "9d8bde839daf7fa5ba654cfda39bd5350793357ac3be57e0caa17460b8712c87",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767230992,
  "updatedAt": 1788767230992
}
