{
  "format": "dataset-manifest/1",
  "slug": "data-protection-insights",
  "version": 3,
  "seed": "data-protection-insights:1",
  "spec": {
    "format": "dataset/1",
    "slug": "data-protection-insights",
    "name": "Data Protection Insights",
    "tagline": "Customer support interactions, backup schedules, restoration attempts, and system alerts related to data protection.",
    "description": "Customers seek assurance when it comes to safeguarding their data, relying on services that ensure their critical information is securely backed up and can be effortlessly retrieved when necessary. In this operation, customer interactions are tracked through support tickets, which document various queries and concerns. The business also schedules regular backup procedures to systematically protect data, while restoration attempts capture the efforts made to recover lost or damaged information. Additionally, system alerts serve as notifications regarding performance issues or potential threats, guiding the operational response to maintain data integrity.\n\nEach customer in the customers table is linked to their respective backup schedules, detailing the frequency and type of backups performed. The restoration_attempts table connects to both the customers and support_tickets tables, indicating which customer sought help and whether their restoration attempt was successful. System alerts monitor the overall environment, providing insights into common issues that might affect customers. Together, these tables create a comprehensive view of how data protection services are delivered and managed.\n\nBy analyzing this data, developers can explore a variety of questions: How often do restoration attempts succeed or fail? What types of issues generate the most support tickets? Are there patterns in system alerts that correlate with customer concerns? This dataset is perfect for practicing data analysis and visualization skills, offering opportunities to develop queries, generate reports, and discover trends. Keep in mind that the data is synthetic—crafted to simulate a realistic operational scenario without revealing real customer information.",
    "domain": "customer-support",
    "shape": "slowly-changing",
    "useCases": [
      "etl-pipelines",
      "teaching"
    ],
    "keywords": [
      "data protection",
      "customer support",
      "backup",
      "restoration",
      "alerts",
      "tickets",
      "insights",
      "analytics"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "customers": {
        "description": "This table contains customer profiles, linking to their backup schedules and support tickets. Each row represents a unique customer.",
        "rows": 200,
        "columns": {
          "customer_id": {
            "kind": "pk",
            "description": "Unique identifier for each customer."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the customer."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address associated with the customer."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Date when the customer profile was created.",
            "dayProfile": "waking"
          }
        }
      },
      "backup_schedules": {
        "description": "This table models the scheduled backups for each customer, linking back to the customer table. Each row represents a unique backup schedule.",
        "rows": {
          "per": "customers",
          "via": "customer_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "schedule_id": {
            "kind": "pk",
            "description": "Unique identifier for each backup schedule."
          },
          "customer_id": {
            "kind": "fk",
            "ref": "customers.customer_id",
            "description": "Foreign key linking to the customer."
          },
          "backup_time": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Scheduled time for the backup.",
            "nullable": true,
            "when": {
              "column": "frequency",
              "in": [
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "dayProfile": "business"
          },
          "frequency": {
            "kind": "enum",
            "values": [
              "daily",
              "weekly",
              "monthly"
            ],
            "description": "Frequency of the backup schedule.",
            "weights": [
              8,
              3,
              1
            ]
          }
        }
      },
      "restoration_attempts": {
        "description": "This table captures attempts to restore data, linking back to the customer and backup schedules. Each row represents a restoration attempt.",
        "rows": {
          "per": "backup_schedules",
          "via": "schedule_id",
          "min": 0,
          "max": 3,
          "skew": "heavy-tail"
        },
        "columns": {
          "attempt_id": {
            "kind": "pk",
            "description": "Unique identifier for each restoration attempt."
          },
          "schedule_id": {
            "kind": "fk",
            "ref": "backup_schedules.schedule_id",
            "description": "Foreign key linking to the backup schedule."
          },
          "success": {
            "kind": "bool",
            "trueRate": 0.75,
            "description": "Indicates whether the restoration attempt was successful."
          },
          "attempt_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date of the restoration attempt.",
            "dayProfile": "waking"
          }
        }
      },
      "support_tickets": {
        "description": "This table records support tickets raised by customers, linking to customer profiles. Each row represents a unique support ticket.",
        "rows": {
          "per": "customers",
          "via": "customer_id",
          "min": 0,
          "max": 4,
          "skew": "long-tail"
        },
        "columns": {
          "ticket_id": {
            "kind": "pk",
            "description": "Unique identifier for each support ticket."
          },
          "customer_id": {
            "kind": "fk",
            "ref": "customers.customer_id",
            "description": "Foreign key linking to the customer."
          },
          "issue_description": {
            "kind": "sentence",
            "description": "Description of the issue raised in the ticket.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "closed"
              ]
            }
          },
          "status": {
            "kind": "enum",
            "values": [
              "open",
              "closed",
              "pending"
            ],
            "description": "Current status of the support ticket.",
            "weights": [
              1,
              8,
              3
            ]
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the support ticket was created.",
            "dayProfile": "waking",
            "trend": "growing"
          }
        }
      },
      "system_alerts": {
        "description": "This table logs alerts related to system performance, linking to customers. Each row represents a unique alert.",
        "rows": {
          "per": "customers",
          "via": "customer_id",
          "min": 0,
          "max": 2,
          "skew": "long-tail"
        },
        "columns": {
          "alert_id": {
            "kind": "pk",
            "description": "Unique identifier for each system alert."
          },
          "customer_id": {
            "kind": "fk",
            "ref": "customers.customer_id",
            "description": "Foreign key linking to the customer."
          },
          "alert_type": {
            "kind": "enum",
            "values": [
              "performance",
              "backup failure",
              "restoration failure"
            ],
            "description": "Type of alert generated.",
            "weights": [
              5,
              3,
              1
            ]
          },
          "alert_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the alert was generated.",
            "nullable": true,
            "when": {
              "column": "alert_type",
              "in": [
                "backup failure",
                "restoration failure"
              ]
            }
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "nullable",
      "timestamped"
    ],
    "analysisQuestions": [
      "What are the most common issues reported by customers in support tickets?",
      "How often do restoration attempts succeed compared to failures?",
      "What trends can we identify in backup schedules based on customer behavior?",
      "Are there any correlations between system alerts and support ticket submissions?",
      "How does the frequency of backups impact the success rate of data restoration?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Customer and Support Tickets",
        "sql": "SELECT c.full_name, t.issue_description FROM customers c JOIN support_tickets t ON c.customer_id = t.customer_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count Restoration Attempts by Success",
        "sql": "SELECT r.success, COUNT(*) FROM restoration_attempts r GROUP BY r.success;",
        "dialect": "postgres"
      },
      {
        "title": "Backup Schedules Frequency Distribution",
        "sql": "SELECT frequency, COUNT(*) FROM backup_schedules GROUP BY frequency;",
        "dialect": "postgres"
      },
      {
        "title": "Alerts Associated with Closed Support Tickets",
        "sql": "SELECT a.alert_type, COUNT(*) FROM system_alerts a JOIN support_tickets t ON a.customer_id = t.customer_id WHERE t.status = 'closed' GROUP BY a.alert_type;",
        "dialect": "postgres"
      },
      {
        "title": "Success Rate of Restoration Attempts Over Time",
        "sql": "SELECT DATE(r.attempt_date) AS date, AVG(CASE WHEN r.success THEN 1 ELSE 0 END) AS success_rate FROM restoration_attempts r GROUP BY date ORDER BY date;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Data Analysts Exploring Customer Behavior",
        "body": "Data analysts can utilize this dataset to explore customer behavior patterns, specifically focusing on how frequently customers initiate backups and the types of issues they encounter during restoration attempts. By analyzing support tickets alongside system alerts, they can uncover insights into service improvements and customer satisfaction."
      },
      {
        "title": "Teaching Data Analysis Techniques",
        "body": "In educational settings, instructors can use this dataset to teach students various data analysis techniques. The multi-table structure offers opportunities for students to practice SQL queries, perform joins, and visualize data related to customer interactions with data protection services, enhancing their understanding of relational databases."
      },
      {
        "title": "ETL Pipeline Development",
        "body": "Developers can leverage this synthetic dataset to build and test ETL pipelines. By simulating data extraction from these tables, they can practice transforming and loading data into data warehouses, ensuring that the data is structured correctly for analytics and reporting purposes."
      },
      {
        "title": "Customer Support Optimization",
        "body": "Customer support managers can analyze the dataset to identify trends in support ticket submissions and system alerts. By understanding the common issues faced by customers, they can implement strategies to improve service delivery and enhance customer satisfaction."
      }
    ]
  },
  "counts": {
    "customers": 200,
    "backup_schedules": 470,
    "restoration_attempts": 349,
    "support_tickets": 257,
    "system_alerts": 134
  },
  "stats": {
    "customers": {
      "rows": 200,
      "columns": {
        "customer_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 198,
          "min": "Alice Hansen",
          "max": "Zoe Oliveira"
        },
        "email": {
          "nulls": 0,
          "distinct": 198
        },
        "created_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2020-01-01 08:59:09",
          "max": "2023-12-21 17:04:38"
        }
      }
    },
    "backup_schedules": {
      "rows": 470,
      "columns": {
        "schedule_id": {
          "nulls": 0,
          "distinct": 470,
          "min": 1,
          "max": 470
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "backup_time": {
          "nulls": 0,
          "distinct": 470,
          "min": "2023-01-01 15:25:21",
          "max": "2023-12-31 17:55:42"
        },
        "frequency": {
          "nulls": 0,
          "distinct": 3,
          "min": "daily",
          "max": "weekly"
        }
      }
    },
    "restoration_attempts": {
      "rows": 349,
      "columns": {
        "attempt_id": {
          "nulls": 0,
          "distinct": 349,
          "min": 1,
          "max": 349
        },
        "schedule_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 2,
          "max": 470
        },
        "success": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        },
        "attempt_date": {
          "nulls": 0,
          "distinct": 349,
          "min": "2023-01-02 16:59:37",
          "max": "2023-12-30 11:23:53"
        }
      }
    },
    "support_tickets": {
      "rows": 257,
      "columns": {
        "ticket_id": {
          "nulls": 0,
          "distinct": 257,
          "min": 1,
          "max": 257
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 109,
          "min": 3,
          "max": 200
        },
        "issue_description": {
          "nulls": 99,
          "distinct": 158
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "closed",
          "max": "pending"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 257,
          "min": "2023-01-14 15:20:12",
          "max": "2023-12-31 19:09:17"
        }
      }
    },
    "system_alerts": {
      "rows": 134,
      "columns": {
        "alert_id": {
          "nulls": 0,
          "distinct": 134,
          "min": 1,
          "max": 134
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 87,
          "min": 4,
          "max": 198
        },
        "alert_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "backup failure",
          "max": "restoration failure"
        },
        "alert_date": {
          "nulls": 81,
          "distinct": 53,
          "min": "2023-01-01 21:34:05",
          "max": "2023-12-31 06:59:11"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/customers.csv",
      "format": "csv",
      "table": "customers",
      "key": "datasets/data-protection-insights/v3/csv/customers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/csv/customers.csv",
      "bytes": 12178,
      "sha256": "fc3bf1341b4fa24764cc42ddfdc5f865b5a7c14ef107221e733083eab4dfdd32",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/backup_schedules.csv",
      "format": "csv",
      "table": "backup_schedules",
      "key": "datasets/data-protection-insights/v3/csv/backup_schedules.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/csv/backup_schedules.csv",
      "bytes": 16268,
      "sha256": "c8ccebe569193a135288fc3449e5f761581bbee56603fde49cd612ab2fda6386",
      "rows": 470,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/restoration_attempts.csv",
      "format": "csv",
      "table": "restoration_attempts",
      "key": "datasets/data-protection-insights/v3/csv/restoration_attempts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/csv/restoration_attempts.csv",
      "bytes": 11806,
      "sha256": "792b441cd5fa667068b27695d2ceb9524fcee8c4149eeb9b4edee5a62aa5cef8",
      "rows": 349,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/support_tickets.csv",
      "format": "csv",
      "table": "support_tickets",
      "key": "datasets/data-protection-insights/v3/csv/support_tickets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/csv/support_tickets.csv",
      "bytes": 17969,
      "sha256": "c33443f246ca7803e8ec8d1297ca1b513f4ae377a6b22b61cf5e878d2d4dd613",
      "rows": 257,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/system_alerts.csv",
      "format": "csv",
      "table": "system_alerts",
      "key": "datasets/data-protection-insights/v3/csv/system_alerts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/csv/system_alerts.csv",
      "bytes": 4030,
      "sha256": "ec9934f05ef1c0bd4a83c75c7ee3f260a9562748901b0ca2ed66d38686dadd38",
      "rows": 134,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "data-protection-insights.json",
      "format": "json",
      "table": null,
      "key": "datasets/data-protection-insights/v3/data-protection-insights.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/data-protection-insights.json",
      "bytes": 208242,
      "sha256": "c10af7f33a2fc59a1557ef98f84b0071eb7aab5dcc0e6d4f5d7445343845635b",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/data-protection-insights/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/sql/postgres.sql",
      "bytes": 84625,
      "sha256": "a48be249b1a78383851e66b92b4e216022031be43ee3df2b222ad5e9bf1cce03",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/data-protection-insights/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/sql/mysql.sql",
      "bytes": 82803,
      "sha256": "4a636e452757f0c8f874e0f91c44a8222bda91532c20db08818aa26bb84a76d8",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/data-protection-insights/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/sql/mssql.sql",
      "bytes": 85934,
      "sha256": "fd0a4f65cc244e532d57c1b61befc415c68946a27933100fb6afa56efcd51df8",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/data-protection-insights/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/sql/sqlite.sql",
      "bytes": 82535,
      "sha256": "f50bd32162ff088cb8e08e366575557643e068807f313f92517f0b9a548aaa30",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/data-protection-insights/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/prisma/seed.ts",
      "bytes": 182259,
      "sha256": "3fcf76808086d36c98bdc1e5b2900a75dc4923e6ca1e7b414bade969511a0a33",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/data-protection-insights/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/data-protection-insights/v3/django/fixtures.json",
      "bytes": 265830,
      "sha256": "f0eb6539a206feb653c25026285e9189b58c9cfc64fed402c20fef4bfb5ef3a6",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767088314,
  "updatedAt": 1788783305718
}
