{
  "format": "dataset-manifest/1",
  "slug": "automated-teller-machine-operations",
  "version": 1,
  "seed": "automated-teller-machine-operations:1",
  "spec": {
    "format": "dataset/1",
    "slug": "automated-teller-machine-operations",
    "name": "Automated Teller Machine Operations",
    "tagline": "ATM operations data including transactions, maintenance logs, security incidents, and cash replenishments.",
    "description": "Automated teller machines (ATMs) process thousands of transactions daily, facilitating cash withdrawals, deposits, and account inquiries for customers. Each ATM is strategically positioned in high-traffic areas to ensure accessibility. The operations surrounding these machines generate a wealth of data, which includes transaction details, maintenance activities, security incidents, and cash replenishment schedules. This information is crucial for managing the ATM network effectively and ensuring seamless customer service.\n\nThe data is structured across several interconnected tables. The 'atms' table holds information on the individual ATMs, including their locations, operational status, and features. The 'transactions' table records every interaction made at the ATMs, capturing details like the transaction type, time, and amount. Maintenance activities are detailed in the 'maintenance_logs', which denote when and what type of service was performed on each ATM to keep them running smoothly. Security concerns are monitored through the 'security_incidents' table, documenting any issues that arise, while 'cash_replenishments' outlines the schedules and amounts of cash dispensed to each machine. Meanwhile, 'ticket_messages' records user-reported issues or inquiries, showcasing the customer experience and operational challenges.\n\nThis dataset allows for various analytical explorations, such as identifying peak usage times, understanding maintenance needs, and assessing security vulnerabilities across the ATM network. It can help answer critical questions: Which locations require more frequent replenishments? How do security incidents correlate with transaction volumes? What maintenance issues are most common and how quickly are they resolved? Practicing with this synthetic data provides an opportunity to develop skills in data analysis, visualization, and operational optimization in a banking context.",
    "domain": "banking",
    "shape": "event-log",
    "useCases": [
      "analytics-demo",
      "etl-pipelines"
    ],
    "keywords": [
      "ATM",
      "transactions",
      "maintenance",
      "banking",
      "operations",
      "security",
      "location",
      "event-log"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "atms": {
        "description": "This table lists the ATMs, detailing their locations and operational status. Each ATM has a unique identifier and links to maintenance and transaction logs.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each ATM."
          },
          "location": {
            "kind": "city",
            "description": "City where the ATM is located."
          },
          "status": {
            "kind": "enum",
            "values": [
              "operational",
              "out_of_service",
              "maintenance"
            ],
            "description": "Current operational status of the ATM."
          },
          "cash_level": {
            "kind": "decimal",
            "min": 0,
            "max": 10000,
            "scale": 2,
            "description": "Current cash level in the ATM."
          },
          "last_replenished": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Last date and time the ATM was replenished.",
            "dayProfile": "business"
          }
        }
      },
      "transactions": {
        "description": "This table records all transactions made at each ATM, detailing the type and amount. Each transaction links to an ATM and provides insights into customer usage patterns.",
        "rows": 1000,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each transaction."
          },
          "atm_id": {
            "kind": "fk",
            "ref": "atms.id",
            "description": "Identifier of the ATM where the transaction occurred."
          },
          "transaction_type": {
            "kind": "enum",
            "values": [
              "withdrawal",
              "deposit",
              "balance_inquiry"
            ],
            "description": "Type of transaction performed."
          },
          "amount": {
            "kind": "decimal",
            "min": 1,
            "max": 5000,
            "scale": 2,
            "description": "Amount involved in the transaction."
          },
          "timestamp": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date and time the transaction was made.",
            "dayProfile": "waking",
            "trend": "growing"
          }
        }
      },
      "maintenance_logs": {
        "description": "This table captures all maintenance activities performed on ATMs, linking each log entry to a specific ATM and detailing the nature of the maintenance.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each maintenance log."
          },
          "atm_id": {
            "kind": "fk",
            "ref": "atms.id",
            "description": "Identifier of the ATM that underwent maintenance."
          },
          "maintenance_type": {
            "kind": "enum",
            "values": [
              "repair",
              "cleaning",
              "software_update"
            ],
            "description": "Type of maintenance performed."
          },
          "timestamp": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date and time the maintenance occurred.",
            "dayProfile": "business"
          },
          "notes": {
            "kind": "words",
            "description": "Additional notes regarding the maintenance performed."
          }
        }
      },
      "security_incidents": {
        "description": "This table tracks security incidents reported at ATMs, linking incidents to specific machines and providing details about the nature of the incident.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each security incident."
          },
          "atm_id": {
            "kind": "fk",
            "ref": "atms.id",
            "description": "Identifier of the ATM where the incident was reported."
          },
          "incident_type": {
            "kind": "enum",
            "values": [
              "theft",
              "vandalism",
              "malfunction"
            ],
            "description": "Type of security incident reported."
          },
          "timestamp": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date and time the incident was reported.",
            "dayProfile": "waking"
          },
          "description": {
            "kind": "sentence",
            "description": "A detailed description of the incident."
          }
        }
      },
      "cash_replenishments": {
        "description": "This table outlines cash replenishment events for ATMs, detailing the amount replenished and the associated ATM.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each cash replenishment event."
          },
          "atm_id": {
            "kind": "fk",
            "ref": "atms.id",
            "description": "Identifier of the ATM that was replenished."
          },
          "amount": {
            "kind": "decimal",
            "min": 100,
            "max": 10000,
            "scale": 2,
            "description": "Amount of cash replenished."
          },
          "timestamp": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date and time of the cash replenishment.",
            "dayProfile": "business"
          }
        }
      },
      "ticket_messages": {
        "description": "This table contains messages submitted by users regarding ATM issues. Each message is linked to a specific ATM and provides insight into user concerns.",
        "rows": 250,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each ticket message."
          },
          "atm_id": {
            "kind": "fk",
            "ref": "atms.id",
            "description": "Identifier of the ATM related to the ticket."
          },
          "message": {
            "kind": "paragraph",
            "description": "User's message regarding the ATM issue."
          },
          "timestamp": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date and time the message was submitted.",
            "dayProfile": "waking"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "monetary",
      "categorical",
      "nullable"
    ],
    "analysisQuestions": [
      "Which ATMs have the highest transaction volumes and what factors contribute to this?",
      "What are the most common maintenance issues reported for ATMs?",
      "How do security incidents vary by location and ATM status?",
      "What is the average cash level in ATMs after replenishment?",
      "How frequently do different ATM types require maintenance?"
    ],
    "suggestedQueries": [
      {
        "title": "Get transaction details for each ATM",
        "sql": "SELECT a.id AS atm_id, t.transaction_type, t.amount, t.timestamp FROM atms a JOIN transactions t ON a.id = t.atm_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count transactions by type per ATM",
        "sql": "SELECT atm_id, transaction_type, COUNT(*) as transaction_count FROM transactions GROUP BY atm_id, transaction_type;",
        "dialect": "postgres"
      },
      {
        "title": "Find average cash level in ATMs by status",
        "sql": "SELECT status, AVG(cash_level) as average_cash FROM atms GROUP BY status;",
        "dialect": "postgres"
      },
      {
        "title": "List maintenance activities within a date range",
        "sql": "SELECT m.timestamp, a.location, m.maintenance_type FROM maintenance_logs m JOIN atms a ON m.atm_id = a.id WHERE m.timestamp BETWEEN '2023-01-01' AND '2023-12-31';",
        "dialect": "postgres"
      },
      {
        "title": "Get incidents reported for ATMs with low cash levels",
        "sql": "SELECT s.incident_type, a.location FROM security_incidents s JOIN atms a ON s.atm_id = a.id WHERE a.cash_level < 500;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Bank Operations Manager",
        "body": "A bank operations manager can utilize this dataset to monitor ATM performance, ensuring that cash levels are adequate and that maintenance is performed regularly. By analyzing transaction volumes and maintenance logs, they can identify high-traffic ATMs that may need more frequent servicing."
      },
      {
        "title": "Data Analyst for ATM Networks",
        "body": "A data analyst working with ATM networks can use this dataset to uncover trends in customer behavior and ATM usage. By querying transaction logs and security incident reports, they can provide insights into potential improvements in ATM placement and maintenance strategies."
      },
      {
        "title": "Security Compliance Officer",
        "body": "A security compliance officer can analyze the security incidents data to assess vulnerabilities in ATM operations. By cross-referencing incident types with ATM statuses and locations, they can develop strategies to enhance security measures and reduce incidents."
      },
      {
        "title": "ETL Developer",
        "body": "An ETL developer can leverage this dataset to build data pipelines that integrate ATM operational data into a centralized analytics platform. By extracting, transforming, and loading data from these tables, they can facilitate advanced analytics and reporting for the banking institution."
      }
    ]
  },
  "counts": {
    "atms": 200,
    "cash_replenishments": 200,
    "maintenance_logs": 300,
    "security_incidents": 150,
    "ticket_messages": 250,
    "transactions": 1000
  },
  "stats": {
    "atms": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "location": {
          "nulls": 0,
          "distinct": 60,
          "min": "Amsterdam",
          "max": "Zurich"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "maintenance",
          "max": "out_of_service"
        },
        "cash_level": {
          "nulls": 0,
          "distinct": 200,
          "min": 47.87,
          "max": 9853.74
        },
        "last_replenished": {
          "nulls": 0,
          "distinct": 200,
          "min": "2022-01-01 17:26:42",
          "max": "2023-12-28 16:37:38"
        }
      }
    },
    "transactions": {
      "rows": 1000,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 1000,
          "min": 1,
          "max": 1000
        },
        "atm_id": {
          "nulls": 0,
          "distinct": 198,
          "min": 1,
          "max": 200
        },
        "transaction_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "balance_inquiry",
          "max": "withdrawal"
        },
        "amount": {
          "nulls": 0,
          "distinct": 999,
          "min": 2.44,
          "max": 4998.01
        },
        "timestamp": {
          "nulls": 0,
          "distinct": 1000,
          "min": "2023-01-01 20:20:30",
          "max": "2023-12-31 19:01:48"
        }
      }
    },
    "maintenance_logs": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "atm_id": {
          "nulls": 0,
          "distinct": 162,
          "min": 1,
          "max": 199
        },
        "maintenance_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "cleaning",
          "max": "software_update"
        },
        "timestamp": {
          "nulls": 0,
          "distinct": 300,
          "min": "2023-01-01 18:09:07",
          "max": "2023-12-30 13:03:02"
        },
        "notes": {
          "nulls": 0,
          "distinct": 300
        }
      }
    },
    "security_incidents": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "atm_id": {
          "nulls": 0,
          "distinct": 112,
          "min": 3,
          "max": 199
        },
        "incident_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "malfunction",
          "max": "vandalism"
        },
        "timestamp": {
          "nulls": 0,
          "distinct": 150,
          "min": "2023-01-02 00:08:42",
          "max": "2023-12-30 18:59:41"
        },
        "description": {
          "nulls": 0,
          "distinct": 149
        }
      }
    },
    "cash_replenishments": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "atm_id": {
          "nulls": 0,
          "distinct": 118,
          "min": 1,
          "max": 198
        },
        "amount": {
          "nulls": 0,
          "distinct": 200,
          "min": 234.18,
          "max": 9971.32
        },
        "timestamp": {
          "nulls": 0,
          "distinct": 200,
          "min": "2023-01-01 09:42:07",
          "max": "2023-12-31 08:22:59"
        }
      }
    },
    "ticket_messages": {
      "rows": 250,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 250,
          "min": 1,
          "max": 250
        },
        "atm_id": {
          "nulls": 0,
          "distinct": 143,
          "min": 1,
          "max": 200
        },
        "message": {
          "nulls": 0,
          "distinct": 250
        },
        "timestamp": {
          "nulls": 0,
          "distinct": 250,
          "min": "2023-01-05 12:03:39",
          "max": "2023-12-31 11:13:32"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/atms.csv",
      "format": "csv",
      "table": "atms",
      "key": "datasets/automated-teller-machine-operations/v1/csv/atms.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/csv/atms.csv",
      "bytes": 10673,
      "sha256": "b73880afe3b45dcfd8cb9ec1b93bc4121706f0221c5d56d902dae7bcea88cf53",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/cash_replenishments.csv",
      "format": "csv",
      "table": "cash_replenishments",
      "key": "datasets/automated-teller-machine-operations/v1/csv/cash_replenishments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/csv/cash_replenishments.csv",
      "bytes": 7200,
      "sha256": "88861bb0617d51901c1dd7e6d1b8ae56be5620a5ef2d1336f46dc409655ccb63",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/maintenance_logs.csv",
      "format": "csv",
      "table": "maintenance_logs",
      "key": "datasets/automated-teller-machine-operations/v1/csv/maintenance_logs.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/csv/maintenance_logs.csv",
      "bytes": 19404,
      "sha256": "c4b67c9584e8f0aa8aaab3016a21da7b6447d29a6ad11a4aba22e0365f252b77",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/security_incidents.csv",
      "format": "csv",
      "table": "security_incidents",
      "key": "datasets/automated-teller-machine-operations/v1/csv/security_incidents.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/csv/security_incidents.csv",
      "bytes": 14103,
      "sha256": "0fcd7f2dfce87c4a28723e3996ed9ba7f3b1f59d1c7d0a71e0d0e4f63b4086f8",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/ticket_messages.csv",
      "format": "csv",
      "table": "ticket_messages",
      "key": "datasets/automated-teller-machine-operations/v1/csv/ticket_messages.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/csv/ticket_messages.csv",
      "bytes": 49099,
      "sha256": "c901d904b340ebda30fd84a6ee49f9ca5123a61ccc564fb61deb00cac52aca0d",
      "rows": 250,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/transactions.csv",
      "format": "csv",
      "table": "transactions",
      "key": "datasets/automated-teller-machine-operations/v1/csv/transactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/csv/transactions.csv",
      "bytes": 47817,
      "sha256": "27bab7273aef48bb24050b1f136bdcdc72efa323299be6712d19f211c67a4ff1",
      "rows": 1000,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "automated-teller-machine-operations.json",
      "format": "json",
      "table": null,
      "key": "datasets/automated-teller-machine-operations/v1/automated-teller-machine-operations.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/automated-teller-machine-operations.json",
      "bytes": 366242,
      "sha256": "c2f5c6ddd9465e0f1b9a53c8df867278c2b479e32893a230b25c964e59aab117",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/automated-teller-machine-operations/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/sql/postgres.sql",
      "bytes": 181677,
      "sha256": "dd02252758f6a66f678d2cefe757aebeed1b020e4914c958737bf6bf39fca337",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/automated-teller-machine-operations/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/sql/mysql.sql",
      "bytes": 180940,
      "sha256": "fd4b7f2135625dfc2e03a93a3409be09713b78ac6992578aad5612f656b1b3b3",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/automated-teller-machine-operations/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/sql/mssql.sql",
      "bytes": 186058,
      "sha256": "c4774d8303df68912f5d794d4d5456dd8ef254a0c9d5f9a327181d89366b5839",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/automated-teller-machine-operations/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/sql/sqlite.sql",
      "bytes": 180641,
      "sha256": "969fb4017c42a3ecb3a3863714b681488334ff7436139f86e0172afc85cfecb1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/automated-teller-machine-operations/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/prisma/seed.ts",
      "bytes": 321399,
      "sha256": "beae775588d35a715b03c26bf4a7920a235eafdd8b1f0442fa948437ab53ecfe",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/automated-teller-machine-operations/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/automated-teller-machine-operations/v1/django/fixtures.json",
      "bytes": 468010,
      "sha256": "f81a74beaf436a691428076f33ae25cf890fa064b862f6cdc8f50c16affd373d",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788733855004,
  "updatedAt": 1788733855004
}
