{
  "format": "dataset-manifest/1",
  "slug": "cinematic-experience-data",
  "version": 3,
  "seed": "cinematic-experience-data:1",
  "spec": {
    "format": "dataset/1",
    "slug": "cinematic-experience-data",
    "name": "Cinematic Experience Data",
    "tagline": "Customer interactions, ticket purchases, and support tickets from a movie ticketing service.",
    "description": "Customers navigate a user-friendly platform to explore a diverse array of films, effortlessly booking their tickets for an engaging cinematic experience. This movie ticketing business seamlessly connects film enthusiasts with the latest blockbusters and independent films, enabling them to select showtimes that fit their schedules. The interaction between customers and the platform is captured through various tables, each serving a distinct purpose in the overall operation.\n\nThe 'customers' table holds information about the users, detailing their demographics and preferences. Each customer interacts with movies through the 'tickets' they purchase, directly linking them to the 'movies' table, which catalogs titles, genres, and release dates. The 'showtimes' table complements these entries by providing the availability of each film at different times, allowing customers to make informed decisions based on their schedules. Additionally, enticing 'promotions' aimed at enhancing the viewing experience are documented, offering insights into customer engagement with special offers.\n\nThe 'support_tickets' table captures the instances where customers reach out for assistance, shedding light on common issues and inquiries that arise during the booking process. By examining the relationships across these tables, you can derive insights into customer behavior, ticket sales trends, and the effectiveness of various promotions. For example, one can analyze how promotional campaigns influence ticket sales during peak times, or how often customers require support during the booking process.\n\nThis synthetic dataset is ideal for practicing data analysis skills, providing opportunities to answer questions such as: What are the peak booking times? Which promotions yield the highest ticket sales? How do customer demographics impact movie choices? Engaging with this data allows developers to hone their skills in understanding complex relationships and gleaning actionable insights from user interactions in a vibrant ticketing ecosystem.",
    "domain": "customer-support",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "movie tickets",
      "customer support",
      "booking",
      "transactions",
      "promotions",
      "showtimes",
      "theater",
      "support tickets"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "customers": {
        "description": "This table contains customer information, linking to their ticket purchases and support tickets. Each row represents a unique customer.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each customer."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The customer's full name."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "The customer's email address."
          },
          "phone": {
            "kind": "phone",
            "description": "The customer's phone number.",
            "nullable": true
          },
          "registration_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "The date the customer registered."
          }
        }
      },
      "movies": {
        "description": "This table lists all available movies, linking to showtimes and ticket sales. Each row represents a unique movie.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each movie."
          },
          "title": {
            "kind": "productName",
            "description": "The title of the movie."
          },
          "genre": {
            "kind": "enum",
            "values": [
              "Action",
              "Comedy",
              "Drama",
              "Horror",
              "Sci-Fi",
              "Documentary"
            ],
            "description": "The genre of the movie.",
            "weights": [
              5,
              3,
              2,
              1,
              1,
              1
            ]
          },
          "release_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The release date of the movie."
          },
          "duration_minutes": {
            "kind": "int",
            "min": 60,
            "max": 180,
            "description": "The duration of the movie in minutes.",
            "nullable": true
          }
        }
      },
      "showtimes": {
        "description": "This table contains the available showtimes for each movie, linking back to the movies table. Each row represents a unique showtime.",
        "rows": 400,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each showtime."
          },
          "movie_id": {
            "kind": "fk",
            "ref": "movies.id",
            "description": "The ID of the movie being shown."
          },
          "showtime": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "dayProfile": "business",
            "description": "The scheduled time for the movie showing."
          },
          "theater": {
            "kind": "words",
            "description": "The name of the theater where the movie is being shown.",
            "pool": [
              "cinema",
              "plex",
              "theater",
              "studio",
              "screen",
              "hall",
              "venue",
              "auditorium",
              "blockbuster",
              "imax",
              "dome",
              "lounge",
              "retreat",
              "experience",
              "premiere",
              "showcase",
              "gallery",
              "cinematheque",
              "filmhouse",
              "playhouse",
              "cultural"
            ],
            "min": 1,
            "max": 3
          }
        }
      },
      "tickets": {
        "description": "This table records ticket purchases, linking to customers and showtimes. Each row represents a unique ticket purchase.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each ticket purchase."
          },
          "customer_id": {
            "kind": "fk",
            "ref": "customers.id",
            "description": "The ID of the customer who purchased the ticket."
          },
          "showtime_id": {
            "kind": "fk",
            "ref": "showtimes.id",
            "description": "The ID of the showtime for the ticket."
          },
          "purchase_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "dayProfile": "business",
            "description": "The date and time the ticket was purchased."
          },
          "price": {
            "kind": "decimal",
            "min": 5,
            "max": 20,
            "scale": 2,
            "description": "The price of the ticket.",
            "distribution": "long-tail"
          }
        }
      },
      "promotions": {
        "description": "This table lists promotions available for tickets, linking to ticket purchases. Each row represents a unique promotion.",
        "rows": 50,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each promotion."
          },
          "title": {
            "kind": "words",
            "description": "The title of the promotion.",
            "pool": [
              "discount",
              "offer",
              "deal",
              "special",
              "event",
              "screening",
              "premiere",
              "bundle",
              "package",
              "celebration",
              "savings",
              "bonus",
              "exclusive",
              "vip",
              "membership",
              "access",
              "reward",
              "ticket",
              "experience",
              "gift"
            ],
            "min": 1,
            "max": 3
          },
          "discount_percentage": {
            "kind": "decimal",
            "min": 0,
            "max": 100,
            "scale": 2,
            "description": "The discount percentage offered by the promotion.",
            "nullable": true,
            "distribution": "normal"
          },
          "valid_from": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The start date of the promotion."
          },
          "valid_to": {
            "kind": "date",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The end date of the promotion."
          }
        }
      },
      "support_tickets": {
        "description": "This table contains support tickets raised by customers, linking to customers. Each row represents a unique support ticket.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each support ticket."
          },
          "customer_id": {
            "kind": "fk",
            "ref": "customers.id",
            "description": "The ID of the customer who raised the support ticket."
          },
          "issue": {
            "kind": "words",
            "description": "A brief description of the issue reported by the customer.",
            "nullable": true,
            "pool": [
              "refund",
              "reservation",
              "technical",
              "seating",
              "accessibility",
              "screen",
              "audio",
              "video",
              "delay",
              "overbooking",
              "cancellation",
              "feedback",
              "service",
              "experience",
              "cleanliness",
              "comfort",
              "food",
              "drink",
              "staff",
              "policy",
              "information"
            ],
            "min": 1,
            "max": 3
          },
          "created_at": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "The date and time the support ticket was created.",
            "nullable": true,
            "when": {
              "column": "status",
              "in": [
                "In Progress",
                "Resolved"
              ]
            }
          },
          "status": {
            "kind": "enum",
            "values": [
              "Open",
              "In Progress",
              "Resolved"
            ],
            "description": "The current status of the support ticket.",
            "weights": [
              7,
              2,
              1
            ]
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "timestamped",
      "monetary",
      "nullable"
    ],
    "analysisQuestions": [
      "What are the peak booking times for movies and how do they vary by genre?",
      "How do promotions impact ticket sales during specific periods?",
      "What are the most common issues reported in support tickets?",
      "How does customer registration date correlate with ticket purchases?",
      "Which movies have the highest average ticket prices?"
    ],
    "suggestedQueries": [
      {
        "title": "Join customers and tickets",
        "sql": "SELECT customers.full_name, tickets.price FROM customers JOIN tickets ON customers.id = tickets.customer_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count tickets sold per movie",
        "sql": "SELECT movies.title, COUNT(tickets.id) as tickets_sold FROM movies LEFT JOIN tickets ON movies.id = tickets.showtime_id GROUP BY movies.title;",
        "dialect": "postgres"
      },
      {
        "title": "Average ticket price by genre",
        "sql": "SELECT movies.genre, AVG(tickets.price) as average_price FROM movies JOIN showtimes ON movies.id = showtimes.movie_id JOIN tickets ON showtimes.id = tickets.showtime_id GROUP BY movies.genre;",
        "dialect": "postgres"
      },
      {
        "title": "Support ticket resolution times",
        "sql": "SELECT AVG(EXTRACT(EPOCH FROM support_tickets.resolved_at - support_tickets.created_at)) as average_resolution_time FROM support_tickets WHERE support_tickets.status = 'Resolved';",
        "dialect": "postgres"
      },
      {
        "title": "Promotion effectiveness",
        "sql": "SELECT promotions.title, COUNT(tickets.id) as tickets_sold FROM promotions LEFT JOIN tickets ON promotions.id = tickets.promotion_id GROUP BY promotions.title;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Data Analyst Insights",
        "body": "Data analysts can leverage this dataset to uncover trends in customer ticket purchases, examining how sales vary by genre and time. They can create dashboards to visualize peak booking times and the impact of promotions, helping the business optimize its marketing strategies."
      },
      {
        "title": "Customer Support Improvement",
        "body": "Customer support teams can analyze support tickets to identify common issues and trends over time. By understanding the nature of customer complaints, they can improve the ticketing process and enhance the overall customer experience."
      },
      {
        "title": "Marketing Campaign Analysis",
        "body": "Marketing teams can use this dataset to evaluate the effectiveness of promotional campaigns. By analyzing ticket sales data before, during, and after promotions, they can determine which strategies yield the best results and refine future marketing efforts."
      },
      {
        "title": "ORM Seeding for Development",
        "body": "Developers can utilize this dataset for ORM seeding in their applications. By integrating realistic customer, movie, and ticket data, they can effectively test and demonstrate their applications in a simulated movie ticketing environment."
      }
    ]
  },
  "counts": {
    "customers": 200,
    "movies": 100,
    "promotions": 50,
    "showtimes": 400,
    "support_tickets": 150,
    "tickets": 600
  },
  "stats": {
    "customers": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 199,
          "min": "Alice Andersen",
          "max": "Zoe Murphy"
        },
        "email": {
          "nulls": 0,
          "distinct": 200
        },
        "phone": {
          "nulls": 15,
          "distinct": 176
        },
        "registration_date": {
          "nulls": 0,
          "distinct": 183,
          "min": "2020-01-11",
          "max": "2022-12-17"
        }
      }
    },
    "movies": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "title": {
          "nulls": 0,
          "distinct": 94,
          "min": "Classic Backpack",
          "max": "Wireless Watch"
        },
        "genre": {
          "nulls": 0,
          "distinct": 6,
          "min": "Action",
          "max": "Sci-Fi"
        },
        "release_date": {
          "nulls": 0,
          "distinct": 98,
          "min": "2020-01-16",
          "max": "2023-12-29"
        },
        "duration_minutes": {
          "nulls": 13,
          "distinct": 63,
          "min": 61,
          "max": 180
        }
      }
    },
    "showtimes": {
      "rows": 400,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 400,
          "min": 1,
          "max": 400
        },
        "movie_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "showtime": {
          "nulls": 0,
          "distinct": 400,
          "min": "2023-01-01 09:12:33",
          "max": "2023-12-31 10:21:37"
        },
        "theater": {
          "nulls": 0,
          "distinct": 275
        }
      }
    },
    "tickets": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 193,
          "min": 1,
          "max": 199
        },
        "showtime_id": {
          "nulls": 0,
          "distinct": 310,
          "min": 2,
          "max": 400
        },
        "purchase_date": {
          "nulls": 0,
          "distinct": 600,
          "min": "2023-01-01 14:51:06",
          "max": "2023-12-30 20:14:14"
        },
        "price": {
          "nulls": 0,
          "distinct": 439,
          "min": 5,
          "max": 19.94
        }
      }
    },
    "promotions": {
      "rows": 50,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 50,
          "min": 1,
          "max": 50
        },
        "title": {
          "nulls": 0,
          "distinct": 46
        },
        "discount_percentage": {
          "nulls": 5,
          "distinct": 44,
          "min": 15.29,
          "max": 71.06
        },
        "valid_from": {
          "nulls": 0,
          "distinct": 47,
          "min": "2023-01-04",
          "max": "2023-12-30"
        },
        "valid_to": {
          "nulls": 0,
          "distinct": 48,
          "min": "2023-01-06",
          "max": "2023-12-20"
        }
      }
    },
    "support_tickets": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "customer_id": {
          "nulls": 0,
          "distinct": 101,
          "min": 1,
          "max": 197
        },
        "issue": {
          "nulls": 16,
          "distinct": 99
        },
        "created_at": {
          "nulls": 93,
          "distinct": 57,
          "min": "2023-01-11 17:28:51",
          "max": "2023-12-24 10:36:29"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "In Progress",
          "max": "Resolved"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/customers.csv",
      "format": "csv",
      "table": "customers",
      "key": "datasets/cinematic-experience-data/v3/csv/customers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/csv/customers.csv",
      "bytes": 13357,
      "sha256": "64e07f40c3c19819551817ddd02ccf2d6974e7ebad7c9708d44bb720f43bcf00",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/movies.csv",
      "format": "csv",
      "table": "movies",
      "key": "datasets/cinematic-experience-data/v3/csv/movies.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/csv/movies.csv",
      "bytes": 4125,
      "sha256": "bcf1d3dcc954bbfd9122a135d8ca5b53be91aa88c5ab15b6c452539b3bd86a11",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/promotions.csv",
      "format": "csv",
      "table": "promotions",
      "key": "datasets/cinematic-experience-data/v3/csv/promotions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/csv/promotions.csv",
      "bytes": 2442,
      "sha256": "e600ee6676b728e466e8b6bb8c583473d036c2985eae23909f9b44782a67a257",
      "rows": 50,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/showtimes.csv",
      "format": "csv",
      "table": "showtimes",
      "key": "datasets/cinematic-experience-data/v3/csv/showtimes.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/csv/showtimes.csv",
      "bytes": 17658,
      "sha256": "f818929b629a743caec4c1903af285d9ebceb0c9b9f6740ff1afbdb674201367",
      "rows": 400,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/support_tickets.csv",
      "format": "csv",
      "table": "support_tickets",
      "key": "datasets/cinematic-experience-data/v3/csv/support_tickets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/csv/support_tickets.csv",
      "bytes": 5846,
      "sha256": "04fc90e29450fa2af0776270aa83fdb8fd17bff4b8d22a8df26595e46ffe4e1f",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/tickets.csv",
      "format": "csv",
      "table": "tickets",
      "key": "datasets/cinematic-experience-data/v3/csv/tickets.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/csv/tickets.csv",
      "bytes": 22500,
      "sha256": "10f32875ad6266d0782ba5c225e2806ff2637c79ef39ea39c142b42bcce3dcda",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "cinematic-experience-data.json",
      "format": "json",
      "table": null,
      "key": "datasets/cinematic-experience-data/v3/cinematic-experience-data.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/cinematic-experience-data.json",
      "bytes": 220934,
      "sha256": "990ed190e92ac229c91237ade718fc225051300d7c427dbe1dd7a97a0866f303",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/cinematic-experience-data/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/sql/postgres.sql",
      "bytes": 90311,
      "sha256": "5b81e1f8eb8880a8ec4c0095e1d9c68883534b9a4c26c06beedbac0c6abcd9e6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/cinematic-experience-data/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/sql/mysql.sql",
      "bytes": 89633,
      "sha256": "a67c5f406fb6f48c9612b2c656570161757938cc0dd2afc365cb362ce3b475d4",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/cinematic-experience-data/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/sql/mssql.sql",
      "bytes": 93003,
      "sha256": "8eddc1fd368ee5ace0799071658a2655930325e261d55b77259747931423685b",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/cinematic-experience-data/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/sql/sqlite.sql",
      "bytes": 89399,
      "sha256": "3cd82731246e532f7b70ff923cc391a8e13440e10def3c85cdbeef32a4878fde",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/cinematic-experience-data/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/prisma/seed.ts",
      "bytes": 184201,
      "sha256": "761ce76a20c2e927bd9d740b8d3fc0f9a3b7cb7b620df61c88bd652d98ed0e35",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/cinematic-experience-data/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/cinematic-experience-data/v3/django/fixtures.json",
      "bytes": 284690,
      "sha256": "8f665e3f261ec6a933ace4965f4f770b871b26a1a89b43bfd08e1249e19fa2de",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768317151,
  "updatedAt": 1788782758158
}
