{
  "format": "dataset-manifest/1",
  "slug": "microfinance-platform",
  "version": 1,
  "seed": "microfinance-platform:1",
  "spec": {
    "format": "dataset/1",
    "slug": "microfinance-platform",
    "name": "Microfinance Transactions",
    "tagline": "Client profiles, loan products, repayment transactions, and savings options in microfinance.",
    "description": "Microfinance institutions provide critical funding to individuals and small businesses in developing regions, enabling them to achieve growth and stability. They facilitate access to essential financial services, where clients can take out loans, make repayments, and build savings. Each transaction reflects a step in this journey, portraying the financial behaviors and needs of these communities. Clients often engage with multiple loan products, and this dataset captures detailed records of these interactions, allowing for an understanding of funding cycles and repayment patterns.\n\nThe primary table in this dataset is the transactions table, where each row represents a unique transaction involving a client. This includes various details such as the transaction amount, type (loan disbursement, repayment, or savings deposit), date, and associated client ID. Clients may be linked to diverse loan products, highlighting the types of financing available to them. By examining these transactions, developers can explore relationships between client demographics, loan types, and repayment frequencies, gaining insight into the overall health of financial interactions within microfinance.\n\nQuestions this data can help answer include: How do different types of clients manage their repayments over time? What patterns emerge in loan uptake and repayment during specific seasons? Are certain loan products more popular among specific business types? By exploring these aspects, developers can practice data analysis and visualization skills, as well as build applications to support better decision-making in microfinance contexts. The dataset is synthetic, designed to mimic real-world scenarios while providing a safe environment for practitioners to enhance their expertise without compromising actual client data.",
    "domain": "banking",
    "shape": "ledger",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "microfinance",
      "transactions",
      "loans",
      "repayments",
      "savings",
      "fund allocation",
      "client behavior"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "transactions": {
        "description": "This table contains records of financial transactions made by clients in a microfinance system. Each row represents a unique transaction linked to a specific client, detailing the transaction type, amount, and date.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each transaction."
          },
          "client_id": {
            "kind": "int",
            "min": 1,
            "max": 1000,
            "description": "Identifier for the client making the transaction.",
            "nullable": true
          },
          "transaction_type": {
            "kind": "enum",
            "values": [
              "loan_disbursement",
              "loan_repayment",
              "savings_deposit",
              "savings_withdrawal"
            ],
            "description": "Type of transaction being recorded."
          },
          "amount": {
            "kind": "decimal",
            "min": 5,
            "max": 5000,
            "scale": 2,
            "description": "Monetary amount involved in the transaction, with two decimal precision.",
            "nullable": true,
            "when": {
              "column": "transaction_type",
              "in": [
                "loan_disbursement"
              ]
            }
          },
          "transaction_date": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Date and time when the transaction occurred.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "pending",
                "failed"
              ]
            },
            "dayProfile": "waking"
          },
          "status": {
            "kind": "enum",
            "values": [
              "completed",
              "pending",
              "failed"
            ],
            "description": "Current status of the transaction."
          }
        }
      }
    },
    "structure": "single-table",
    "traits": [
      "monetary",
      "timestamped",
      "categorical"
    ],
    "analysisQuestions": [
      "What is the average amount of loans disbursed per client?",
      "How many transactions are classified as failed, and why might that be?",
      "What trends can we observe regarding the timing of loan repayments?",
      "Which transaction types are most common among clients?",
      "How do seasonal patterns affect the volume of savings deposits?"
    ],
    "suggestedQueries": [
      {
        "title": "Retrieve all transactions for a specific client",
        "sql": "SELECT * FROM transactions WHERE client_id = 1;",
        "dialect": "postgres"
      },
      {
        "title": "Calculate total loan disbursement amounts",
        "sql": "SELECT SUM(amount) AS total_disbursement FROM transactions WHERE transaction_type = 'loan_disbursement';",
        "dialect": "postgres"
      },
      {
        "title": "Count transactions by type",
        "sql": "SELECT transaction_type, COUNT(*) AS count FROM transactions GROUP BY transaction_type;",
        "dialect": "postgres"
      },
      {
        "title": "Monthly transaction volume",
        "sql": "SELECT DATE_TRUNC('month', transaction_date) AS month, COUNT(*) AS transaction_count FROM transactions GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Educators teaching SQL",
        "body": "This dataset can be used by educators to teach students how to write SQL queries. With real-world context, students can practice filtering, aggregating, and joining data, enhancing their understanding of database operations in a microfinance environment."
      },
      {
        "title": "Data analysts exploring financial trends",
        "body": "Data analysts can utilize this dataset to identify trends in microfinance transactions, such as seasonal variations in loan requests and repayments. The insights drawn can help organizations adjust their lending practices to better meet client needs."
      },
      {
        "title": "Developers building financial applications",
        "body": "Developers can use this dataset to mock data for financial applications, enabling them to test features like transaction processing and reporting. It provides a realistic scenario for simulating user activities within a microfinance platform."
      }
    ]
  },
  "counts": {
    "transactions": 500
  },
  "stats": {
    "transactions": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "client_id": {
          "nulls": 52,
          "distinct": 364,
          "min": 2,
          "max": 995
        },
        "transaction_type": {
          "nulls": 0,
          "distinct": 4,
          "min": "loan_disbursement",
          "max": "savings_withdrawal"
        },
        "amount": {
          "nulls": 367,
          "distinct": 133,
          "min": 34.25,
          "max": 4921.23
        },
        "transaction_date": {
          "nulls": 169,
          "distinct": 331,
          "min": "2020-01-02 17:51:23",
          "max": "2023-12-27 12:31:36"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "completed",
          "max": "pending"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/transactions.csv",
      "format": "csv",
      "table": "transactions",
      "key": "datasets/microfinance-platform/v1/csv/transactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/microfinance-platform/v1/csv/transactions.csv",
      "bytes": 25123,
      "sha256": "9a919e15537f3a14a53fc13c21fd9e3abed23b1649347bfd68cb7c99b791c20e",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "microfinance-platform.json",
      "format": "json",
      "table": null,
      "key": "datasets/microfinance-platform/v1/microfinance-platform.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/microfinance-platform/v1/microfinance-platform.json",
      "bytes": 96095,
      "sha256": "7eddb0aff98b438c9cb0556ef8634624d4ec1864a1c38ba0892760cb98428976",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/microfinance-platform/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/microfinance-platform/v1/sql/postgres.sql",
      "bytes": 36573,
      "sha256": "ff113f03c77bb601acc4d7cf18034b72f278f3e9621d30cc29e71a7eb13d8219",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/microfinance-platform/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/microfinance-platform/v1/sql/mysql.sql",
      "bytes": 36461,
      "sha256": "fd252b88386fcd0ff5eef8dbca1f718032c936d9aaadf7ccc3b5903285e9351c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/microfinance-platform/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/microfinance-platform/v1/sql/mssql.sql",
      "bytes": 37864,
      "sha256": "01abfe6f9a5d21aeb77fc156871dd1dea2a34c235686f6c610f6b8d07c79fdb5",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/microfinance-platform/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/microfinance-platform/v1/sql/sqlite.sql",
      "bytes": 36431,
      "sha256": "e4b7f3da2573ac1afd5a9ee88fa13b0f50a659531ee279315544ada9c9fd03b3",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/microfinance-platform/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/microfinance-platform/v1/prisma/seed.ts",
      "bytes": 78728,
      "sha256": "4329da436610e66de7e50d9773442e8143400d60fed16d3ea2ae15663c1f5e1a",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/microfinance-platform/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/microfinance-platform/v1/django/fixtures.json",
      "bytes": 120675,
      "sha256": "c41f92169abd69cfd1d2f43ab2f971544287577f0103254730541229bb317ba9",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767177764,
  "updatedAt": 1788767177764
}
