{
  "format": "dataset-manifest/1",
  "slug": "financial-tracking-for-small-businesses",
  "version": 1,
  "seed": "financial-tracking-for-small-businesses:1",
  "spec": {
    "format": "dataset/1",
    "slug": "financial-tracking-for-small-businesses",
    "name": "Financial Tracking for Small Businesses",
    "tagline": "Financial records of small businesses, including projects, subscriptions, estimates, payments, and expense claims.",
    "description": "Small businesses often rely on effective financial management to thrive, and this operation facilitates that by focusing on tracking estimates, subscriptions, and payments. Users can create detailed projects, manage time spent on tasks, and log expenses through various claims and transactions. The dataset includes tables for projects, subscriptions, estimates, payments, and expense claims, reflecting the diverse aspects of financial tracking. Each table is interconnected, allowing for comprehensive analysis and reporting. This synthetic dataset is designed for practice in SQL and teaching financial management concepts, making it an excellent resource for developers and educators. By exploring this data, users can gain insights into project profitability, subscription trends, and expense management, thus enhancing their understanding of financial operations in small businesses.",
    "domain": "customer-support",
    "shape": "ledger",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "finance",
      "small business",
      "estimations",
      "subscriptions",
      "payments",
      "expenses",
      "tracking"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "projects": {
        "description": "This table holds information about various projects undertaken by the small business, including their budgets and statuses. Each project can have multiple estimates and payments linked to it.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each project."
          },
          "name": {
            "kind": "words",
            "max": 50,
            "description": "The name of the project."
          },
          "budget": {
            "kind": "decimal",
            "min": 100,
            "max": 10000,
            "scale": 2,
            "description": "The allocated budget for the project.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "on hold"
              ]
            }
          },
          "status": {
            "kind": "enum",
            "values": [
              "active",
              "completed",
              "on hold"
            ],
            "description": "The current status of the project."
          }
        }
      },
      "subscriptions": {
        "description": "This table tracks the subscriptions of small businesses, detailing each subscription's start and end dates, as well as the associated costs. Each subscription links back to a project.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each subscription."
          },
          "project_id": {
            "kind": "fk",
            "ref": "projects.id",
            "description": "References the project associated with the subscription."
          },
          "start_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The start date of the subscription.",
            "trend": "growing"
          },
          "end_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The end date of the subscription.",
            "trend": "growing"
          },
          "cost": {
            "kind": "decimal",
            "min": 10,
            "max": 500,
            "scale": 2,
            "description": "The cost of the subscription.",
            "nullable": true
          }
        }
      },
      "estimates": {
        "description": "This table contains estimates provided to clients for various projects. Each estimate is linked to a project and can be accepted or rejected.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each estimate."
          },
          "project_id": {
            "kind": "fk",
            "ref": "projects.id",
            "description": "References the project associated with the estimate."
          },
          "amount": {
            "kind": "decimal",
            "min": 100,
            "max": 5000,
            "scale": 2,
            "description": "The total amount estimated for the project.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "accepted",
                "rejected"
              ]
            }
          },
          "status": {
            "kind": "enum",
            "values": [
              "accepted",
              "rejected",
              "pending"
            ],
            "description": "The status of the estimate."
          }
        }
      },
      "payments": {
        "description": "This table records the payments made for various projects. Payments are linked to specific estimates and projects, providing a clear financial trail.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each payment."
          },
          "estimate_id": {
            "kind": "fk",
            "ref": "estimates.id",
            "description": "References the estimate related to the payment."
          },
          "amount": {
            "kind": "decimal",
            "min": 50,
            "max": 10000,
            "scale": 2,
            "description": "The amount of the payment.",
            "nullable": true
          },
          "payment_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the payment was made.",
            "trend": "seasonal"
          }
        }
      },
      "expense_claims": {
        "description": "This table captures various expense claims made by employees for different projects. It includes details about the claimed amounts and the projects associated with them.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each expense claim."
          },
          "project_id": {
            "kind": "fk",
            "ref": "projects.id",
            "description": "References the project associated with the expense claim."
          },
          "amount": {
            "kind": "decimal",
            "min": 1,
            "max": 2000,
            "scale": 2,
            "description": "The claimed amount for the expense.",
            "nullable": true
          },
          "claim_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the expense claim was submitted.",
            "trend": "seasonal"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "monetary",
      "timestamped",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "What is the total revenue generated from accepted estimates?",
      "Which projects have the highest expense claims and what are the reasons?",
      "How do subscription costs fluctuate over different periods?",
      "What is the average payment time after an estimate is accepted?",
      "What percentage of estimates are accepted versus rejected?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Projects and Payments",
        "sql": "SELECT p.name, pay.amount FROM projects p JOIN payments pay ON p.id = pay.estimate_id;",
        "dialect": "postgres"
      },
      {
        "title": "Total Revenue from Estimates",
        "sql": "SELECT SUM(amount) FROM estimates WHERE status = 'accepted';",
        "dialect": "postgres"
      },
      {
        "title": "Average Claim Amount per Project",
        "sql": "SELECT project_id, AVG(amount) FROM expense_claims GROUP BY project_id;",
        "dialect": "postgres"
      },
      {
        "title": "Subscription Cost Over Time",
        "sql": "SELECT DATE_TRUNC('month', start_date) AS month, SUM(cost) FROM subscriptions GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      },
      {
        "title": "Payment Timeline Analysis",
        "sql": "SELECT estimate_id, payment_date, (payment_date - (SELECT start_date FROM estimates WHERE id = estimate_id)) AS days_to_payment FROM payments;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Financial Analysis for Consultants",
        "body": "Consultants can use this dataset to analyze the financial performance of small businesses by examining project budgets, expenses, and revenue from estimates. This analysis can inform better financial decision-making and help consultants provide actionable insights."
      },
      {
        "title": "Teaching Financial Management",
        "body": "Educators in financial management can leverage this dataset to teach students about budgeting, expense tracking, and revenue generation. By engaging with real-world scenarios modeled in the data, students can learn to apply theoretical concepts in practical contexts."
      },
      {
        "title": "Subscription Revenue Tracking",
        "body": "Business analysts can utilize this dataset to track subscription revenues over time, identify trends, and assess the impact of seasonal fluctuations on business performance. This allows for data-driven strategies to optimize subscription offerings."
      },
      {
        "title": "Expense Claim Auditing",
        "body": "Accountants can use this dataset to perform audits on expense claims by employees. By analyzing the data, they can ensure compliance with company policies and identify any irregularities in claims submitted, leading to improved financial governance."
      }
    ]
  },
  "counts": {
    "projects": 150,
    "estimates": 150,
    "expense_claims": 150,
    "payments": 200,
    "subscriptions": 200
  },
  "stats": {
    "projects": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "name": {
          "nulls": 0,
          "distinct": 150
        },
        "budget": {
          "nulls": 101,
          "distinct": 49,
          "min": 222.25,
          "max": 9646.12
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "active",
          "max": "on hold"
        }
      }
    },
    "subscriptions": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "project_id": {
          "nulls": 0,
          "distinct": 111,
          "min": 1,
          "max": 150
        },
        "start_date": {
          "nulls": 0,
          "distinct": 181,
          "min": "2020-01-07",
          "max": "2023-12-28"
        },
        "end_date": {
          "nulls": 0,
          "distinct": 189,
          "min": "2020-01-17",
          "max": "2023-12-28"
        },
        "cost": {
          "nulls": 23,
          "distinct": 177,
          "min": 12.47,
          "max": 496.36
        }
      }
    },
    "estimates": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "project_id": {
          "nulls": 0,
          "distinct": 96,
          "min": 1,
          "max": 150
        },
        "amount": {
          "nulls": 57,
          "distinct": 93,
          "min": 131.82,
          "max": 4902.94
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "accepted",
          "max": "rejected"
        }
      }
    },
    "payments": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "estimate_id": {
          "nulls": 0,
          "distinct": 109,
          "min": 1,
          "max": 150
        },
        "amount": {
          "nulls": 19,
          "distinct": 181,
          "min": 59.53,
          "max": 9991.58
        },
        "payment_date": {
          "nulls": 0,
          "distinct": 182,
          "min": "2020-01-01",
          "max": "2023-12-26"
        }
      }
    },
    "expense_claims": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "project_id": {
          "nulls": 0,
          "distinct": 97,
          "min": 1,
          "max": 150
        },
        "amount": {
          "nulls": 9,
          "distinct": 141,
          "min": 11.57,
          "max": 1985.61
        },
        "claim_date": {
          "nulls": 0,
          "distinct": 141,
          "min": "2020-01-08",
          "max": "2023-12-25"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/projects.csv",
      "format": "csv",
      "table": "projects",
      "key": "datasets/financial-tracking-for-small-businesses/v1/csv/projects.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/csv/projects.csv",
      "bytes": 28490,
      "sha256": "ab14e3a0ba88a7d8ef3102f389e0f1e23eb94baf9c8511f7d1e783052687e240",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/estimates.csv",
      "format": "csv",
      "table": "estimates",
      "key": "datasets/financial-tracking-for-small-businesses/v1/csv/estimates.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/csv/estimates.csv",
      "bytes": 3236,
      "sha256": "6c6838acec1cdc1688069f66233d16ae495722c21c7f382bed04a40214290ffd",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/expense_claims.csv",
      "format": "csv",
      "table": "expense_claims",
      "key": "datasets/financial-tracking-for-small-businesses/v1/csv/expense_claims.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/csv/expense_claims.csv",
      "bytes": 3864,
      "sha256": "3d8dec4076eb9083d531e8b1ff319295145cb1539188b90ff498d035652190d6",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/payments.csv",
      "format": "csv",
      "table": "payments",
      "key": "datasets/financial-tracking-for-small-businesses/v1/csv/payments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/csv/payments.csv",
      "bytes": 5227,
      "sha256": "5eda64c7666542cb1d86ef37f60db8caa035181c992d20f76bc667f3842f2e76",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscriptions.csv",
      "format": "csv",
      "table": "subscriptions",
      "key": "datasets/financial-tracking-for-small-businesses/v1/csv/subscriptions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/csv/subscriptions.csv",
      "bytes": 7230,
      "sha256": "54f67bcd2e2fdff11f23fc7f73fbe04477c82c4caea2543b8bf79ea2d2aec855",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "financial-tracking-for-small-businesses.json",
      "format": "json",
      "table": null,
      "key": "datasets/financial-tracking-for-small-businesses/v1/financial-tracking-for-small-businesses.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/financial-tracking-for-small-businesses.json",
      "bytes": 123612,
      "sha256": "fd5eec4ee2dba43ce230460e26c4e33ebce743085500599a559ef362e765956d",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/financial-tracking-for-small-businesses/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/sql/postgres.sql",
      "bytes": 61691,
      "sha256": "5604e5af220b883f561b30a08cf890f179f04e8b7ff7fa939ea4486b95d68be1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/financial-tracking-for-small-businesses/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/sql/mysql.sql",
      "bytes": 61120,
      "sha256": "e1f774de7d4583f53cebfc2f6a853b058cad3940bb77e4d69c80fa63cd6f9341",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/financial-tracking-for-small-businesses/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/sql/mssql.sql",
      "bytes": 62652,
      "sha256": "f31882f810f7f9a2b15bf2f231f046775e7f87a4478fa7da9a6f06042e600f6b",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/financial-tracking-for-small-businesses/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/sql/sqlite.sql",
      "bytes": 60933,
      "sha256": "4fd24fd9c366fc6fdb512d2dddaff817b4f2d9d2457b0f65aceb7394c7c70b1a",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/financial-tracking-for-small-businesses/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/prisma/seed.ts",
      "bytes": 100532,
      "sha256": "1d9020ca9b63172bb893e20242ce5e132438aa57338babeb4a8be464b09cff5c",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/financial-tracking-for-small-businesses/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/financial-tracking-for-small-businesses/v1/django/fixtures.json",
      "bytes": 162057,
      "sha256": "0e13487912c6bab755ffb7c0a6a136f816aee34016bc899beeb5dae4ed6c81d0",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766232294,
  "updatedAt": 1788766232294
}
