{
  "format": "dataset-manifest/1",
  "slug": "voice-controlled-home-cleaning-devices",
  "version": 3,
  "seed": "voice-controlled-home-cleaning-devices:1",
  "engine": 1,
  "engineVersion": "1.0.0",
  "spec": {
    "format": "dataset/1",
    "slug": "voice-controlled-home-cleaning-devices",
    "name": "Smart Home Cleaning Insights",
    "tagline": "Profiles of users, devices, commands, and cleaning sessions for voice-controlled home cleaning systems.",
    "description": "Modern households are increasingly relying on voice-controlled cleaning devices to streamline their cleaning routines. These devices operate on simple voice commands, allowing users to manage their cleaning tasks with ease. The dataset captures crucial insights into user profiles, device commands, cleaning schedules, energy consumption patterns, and malfunction reports. Each table is interrelated to provide a comprehensive view of how these devices function in real-time and how effectively they manage cleaning tasks. Users can analyze cleaning sessions, assess energy usage, and review reports on device malfunctions, making it an excellent resource for understanding the impact of technology on daily chores. This synthetic dataset is designed for practice with SQL and ORM seeding, allowing developers to explore various queries and data relationships.",
    "domain": "iot",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "smart home",
      "cleaning devices",
      "voice control",
      "energy consumption",
      "malfunction reports",
      "cleaning schedules",
      "user profiles"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table holds user profiles for individuals utilizing voice-controlled cleaning devices. Each row represents a unique user.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the user."
          },
          "join_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "Date the user registered."
          }
        }
      },
      "devices": {
        "description": "This table contains information on various voice-controlled cleaning devices. Each row corresponds to a different device.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each device."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Reference to the user who owns the device."
          },
          "device_name": {
            "kind": "words",
            "min": 1,
            "max": 2,
            "description": "Name of the cleaning device.",
            "nullable": true,
            "pool": [
              "robot",
              "vacuum",
              "mop",
              "washer",
              "cleaner",
              "sweeper",
              "duster",
              "polisher",
              "scrubber",
              "filter",
              "sensor",
              "monitor",
              "controller",
              "unit",
              "device",
              "assistant",
              "appliance",
              "station",
              "hub",
              "module"
            ]
          },
          "device_type": {
            "kind": "enum",
            "values": [
              "robot vacuum",
              "smart mop",
              "window cleaner"
            ],
            "description": "Type of the cleaning device.",
            "weights": [
              7,
              2,
              1
            ]
          },
          "battery_life_hours": {
            "kind": "decimal",
            "min": 1,
            "max": 10,
            "distribution": "normal",
            "description": "Battery life of the device in hours."
          }
        }
      },
      "commands": {
        "description": "This table logs commands issued by users to their devices. Each row corresponds to a specific command and its execution.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each command."
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "description": "Reference to the device receiving the command."
          },
          "command": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Command issued by the user.",
            "pool": [
              "start",
              "stop",
              "pause",
              "resume",
              "clean",
              "schedule",
              "dock",
              "charge",
              "scan",
              "detect",
              "report",
              "reset",
              "configure",
              "set",
              "activate",
              "deactivate",
              "override",
              "customize",
              "monitor",
              "sync",
              "update"
            ]
          },
          "timestamp": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "dayProfile": "waking",
            "description": "Date and time the command was issued."
          },
          "command_duration_seconds": {
            "kind": "int",
            "min": 1,
            "max": 3600,
            "distribution": "normal",
            "description": "Duration for which the command was active, in seconds."
          }
        }
      },
      "cleaning_sessions": {
        "description": "This table records the cleaning sessions executed by the devices. Each row indicates a completed cleaning task.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each cleaning session."
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "description": "Reference to the device performing the cleaning."
          },
          "start_time": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Start time of the cleaning session."
          },
          "end_time": {
            "kind": "datetime",
            "after": "start_time",
            "withinDays": 30,
            "description": "End time of the cleaning session."
          },
          "energy_used": {
            "kind": "decimal",
            "min": 0,
            "max": 5,
            "scale": 2,
            "description": "Energy consumed during the session in kWh.",
            "nullable": true,
            "distribution": "high"
          }
        }
      },
      "malfunction_reports": {
        "description": "This table includes reports on malfunctions encountered by the devices. Each row represents a reported issue.",
        "rows": 20,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each malfunction report."
          },
          "device_id": {
            "kind": "fk",
            "ref": "devices.id",
            "description": "Reference to the device that malfunctioned."
          },
          "report_date": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date the malfunction was reported."
          },
          "issue_description": {
            "kind": "sentence",
            "min": 5,
            "max": 50,
            "description": "Description of the issue encountered.",
            "nullable": true
          },
          "severity_level": {
            "kind": "enum",
            "values": [
              "low",
              "medium",
              "high"
            ],
            "weights": [
              70,
              20,
              10
            ],
            "description": "The severity of the malfunction reported."
          },
          "resolution_status": {
            "kind": "enum",
            "values": [
              "resolved",
              "unresolved",
              "in_progress"
            ],
            "weights": [
              50,
              30,
              20
            ],
            "description": "Current status of the malfunction resolution."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "categorical",
      "nullable"
    ],
    "analysisQuestions": [
      "What are the most common commands issued to cleaning devices?",
      "How much energy do devices consume during cleaning sessions?",
      "What is the frequency of malfunction reports across different device types?",
      "Are there specific times of day when cleaning sessions are more likely to occur?",
      "How do user profiles correlate with the types of devices used?"
    ],
    "suggestedQueries": [
      {
        "title": "List all users and their devices",
        "sql": "SELECT users.full_name, devices.device_name FROM users JOIN devices ON users.id = devices.user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count cleaning sessions by device type",
        "sql": "SELECT devices.device_type, COUNT(cleaning_sessions.id) FROM cleaning_sessions JOIN devices ON cleaning_sessions.device_id = devices.id GROUP BY devices.device_type;",
        "dialect": "postgres"
      },
      {
        "title": "Average energy consumption per cleaning session",
        "sql": "SELECT AVG(energy_used) FROM cleaning_sessions;",
        "dialect": "postgres"
      },
      {
        "title": "Find the most frequent malfunction issues",
        "sql": "SELECT issue_description, COUNT(*) FROM malfunction_reports GROUP BY issue_description ORDER BY COUNT(*) DESC;",
        "dialect": "postgres"
      },
      {
        "title": "Cleaning session trends over time",
        "sql": "SELECT DATE_TRUNC('month', start_time) AS month, COUNT(*) FROM cleaning_sessions GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Developer Testing",
        "body": "Developers can use this dataset to test their applications that analyze user interactions with voice-controlled cleaning devices. By simulating user commands and device responses, developers can identify potential issues and improve user experiences."
      },
      {
        "title": "Data Analysis for IoT Solutions",
        "body": "Data scientists focusing on IoT solutions can analyze the cleaning session data to understand usage patterns and energy efficiency, allowing them to optimize algorithms for better performance of smart home devices."
      },
      {
        "title": "Machine Learning Model Training",
        "body": "This dataset can serve as a training ground for machine learning models that predict device malfunctions based on historical data, helping to enhance predictive maintenance strategies in smart home technology."
      }
    ]
  },
  "counts": {
    "users": 100,
    "devices": 50,
    "cleaning_sessions": 200,
    "commands": 300,
    "malfunction_reports": 20
  },
  "stats": {
    "users": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "full_name": {
          "nulls": 0,
          "distinct": 98,
          "min": "Alice Kumar",
          "max": "Zoe Moreau"
        },
        "email": {
          "nulls": 0,
          "distinct": 100
        },
        "join_date": {
          "nulls": 0,
          "distinct": 95,
          "min": "2020-01-20",
          "max": "2022-12-24"
        }
      }
    },
    "devices": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "user_id": {
          "nulls": 0,
          "distinct": 39,
          "min": 2,
          "max": 100
        },
        "device_name": {
          "nulls": 6,
          "distinct": 32
        },
        "device_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "robot vacuum",
          "max": "window cleaner"
        },
        "battery_life_hours": {
          "nulls": 0,
          "distinct": 49,
          "min": 2.69,
          "max": 8.88
        }
      }
    },
    "commands": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "device_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "command": {
          "nulls": 0,
          "distinct": 197
        },
        "timestamp": {
          "nulls": 0,
          "distinct": 300,
          "min": "2023-01-02 19:48:27",
          "max": "2023-12-31 19:19:44"
        },
        "command_duration_seconds": {
          "nulls": 0,
          "distinct": 275,
          "min": 224,
          "max": 3167
        }
      }
    },
    "cleaning_sessions": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "device_id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "start_time": {
          "nulls": 0,
          "distinct": 200,
          "min": "2023-01-02 18:28:00",
          "max": "2023-12-31 10:58:55"
        },
        "end_time": {
          "nulls": 0,
          "distinct": 200,
          "min": "2023-01-13 15:18:32",
          "max": "2024-01-24 22:54:25"
        },
        "energy_used": {
          "nulls": 14,
          "distinct": 139,
          "min": 0.03,
          "max": 5
        }
      }
    },
    "malfunction_reports": {
      "rows": 20,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "device_id": {
          "nulls": 0,
          "distinct": 19,
          "min": 3,
          "max": 49
        },
        "report_date": {
          "nulls": 0,
          "distinct": 20,
          "min": "2023-01-13",
          "max": "2023-12-21"
        },
        "issue_description": {
          "nulls": 2,
          "distinct": 18
        },
        "severity_level": {
          "nulls": 0,
          "distinct": 2,
          "min": "low",
          "max": "medium"
        },
        "resolution_status": {
          "nulls": 0,
          "distinct": 3,
          "min": "in_progress",
          "max": "unresolved"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/csv/users.csv",
      "bytes": 5146,
      "sha256": "76863dbd3da26a72d7ab9f5355d9800699ebca71436a7ebb89c30b5fb7ba2d2e",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/devices.csv",
      "format": "csv",
      "table": "devices",
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/csv/devices.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/csv/devices.csv",
      "bytes": 1735,
      "sha256": "aedaae94354366a4c4ce0fb5c53b64064909d9615e3f759440cd319faa85d48b",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/cleaning_sessions.csv",
      "format": "csv",
      "table": "cleaning_sessions",
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/csv/cleaning_sessions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/csv/cleaning_sessions.csv",
      "bytes": 10444,
      "sha256": "8d9c931390d7bce1cc96ff70f95edf3d50c5baf9cf924d465f628c8ebc652299",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/commands.csv",
      "format": "csv",
      "table": "commands",
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/csv/commands.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/csv/commands.csv",
      "bytes": 13915,
      "sha256": "259c6d01c3f51871a7e158d0f8f6f86d30ca6aaa0fd9cceb2dc552b2525f0137",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/malfunction_reports.csv",
      "format": "csv",
      "table": "malfunction_reports",
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/csv/malfunction_reports.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/csv/malfunction_reports.csv",
      "bytes": 1754,
      "sha256": "eb2e1a51db09ce5277ce20aabd8ed3aa8b15e0c8bcb89b307aaf9771b3462875",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "voice-controlled-home-cleaning-devices.json",
      "format": "json",
      "table": null,
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/voice-controlled-home-cleaning-devices.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/voice-controlled-home-cleaning-devices.json",
      "bytes": 108828,
      "sha256": "c0149947c8a1c4bbf7a67090cee997a4a926c92c1d1bc2981d85fe236b3270f4",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/sql/postgres.sql",
      "bytes": 45531,
      "sha256": "96ea42031f2fb4002b92de27d5f026d6420a77d83a3c9331c7d3b893140b7f61",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/sql/mysql.sql",
      "bytes": 44945,
      "sha256": "ff8382e7455db33a21147e45fd3127c18390aa1fc32584ee960cc03ed7fb6fb1",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/sql/mssql.sql",
      "bytes": 46773,
      "sha256": "8bcfd482244d54128c203f15153c665fcb52a5522be0d4be288d8dd6ff8add7e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/sql/sqlite.sql",
      "bytes": 44713,
      "sha256": "9c111f35179668f340cf4f2f68d8a514ea287e4a208da6be9ce099bc832a6a73",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/prisma/seed.ts",
      "bytes": 94500,
      "sha256": "69bf8c44d683d089be845dda3b8c4a0454642b8342af9cb1bda33d59994ad2bb",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/voice-controlled-home-cleaning-devices/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/voice-controlled-home-cleaning-devices/v3/django/fixtures.json",
      "bytes": 139136,
      "sha256": "860da57afec587e4e1e7b7757b6aa78f7dad5e96ac85278b8c4b6497d1429897",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767750224,
  "updatedAt": 1789096131085
}
