{
  "format": "dataset-manifest/1",
  "slug": "media-consumption-trends",
  "version": 1,
  "seed": "media-consumption-trends:1",
  "spec": {
    "format": "dataset/1",
    "slug": "media-consumption-trends",
    "name": "Media Consumption Trends",
    "tagline": "User interactions with diverse media titles, genres, and actors, reflecting consumption trends in entertainment.",
    "description": "Users explore a wide variety of media options, engaging with movies, TV shows, music, and music videos. This dynamic process generates a wealth of information regarding their preferences and behaviors in media consumption. Each user has specific tastes, often gravitating towards a handful of favorite genres while occasionally delving into niche categories such as foreign films or independent videos. The interactions captured in the dataset reflect not only how often users engage with different titles but also highlight their favorite genres and the actors that resonate with them.\n\nThe data includes five interrelated tables: 'users' features individual profiles containing user IDs and demographic information; 'media_titles' catalogs various entertainment options, including titles and their corresponding genres; 'user_media_interactions' tracks the frequency and context of user engagements with the media titles; 'genres' provides categories for the titles, helping to contextualize user preferences; and 'actors' lists the performers involved in the media titles, allowing for a deeper analysis of which actors draw user attention.\n\nAnalyzing this dataset can answer questions about trends in media consumption, user preferences for specific genres, and the influence of particular actors on user interactions. It’s particularly useful for practitioners looking to explore user engagement patterns, understand genre popularity, and assess how different media types are consumed across various demographics. Keep in mind that this data is synthetic, designed to provide a realistic practice environment while ensuring user identities and interactions are anonymized.",
    "domain": "media",
    "shape": "transactional",
    "useCases": [
      "sql-practice",
      "orm-seeding"
    ],
    "keywords": [
      "media",
      "user engagement",
      "genres",
      "movies",
      "TV shows",
      "music",
      "analytics",
      "synthetic"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table contains information about users, including their unique identifiers and demographic details. Each user can engage with various media titles.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "name": {
            "kind": "fullName",
            "description": "Full name of the user."
          },
          "age": {
            "kind": "int",
            "min": 13,
            "max": 90,
            "description": "Age of the user, must be at least 13.",
            "nullable": true
          },
          "email": {
            "kind": "email",
            "from": "name",
            "description": "Email address of the user.",
            "nullable": true
          }
        }
      },
      "media_titles": {
        "description": "This table holds various media titles, including movies, TV shows, and music. Each title is identified by a unique ID and categorized by genre.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each media title."
          },
          "title": {
            "kind": "words",
            "min": 3,
            "max": 50,
            "description": "Title of the media."
          },
          "genre": {
            "kind": "enum",
            "values": [
              "Action",
              "Drama",
              "Comedy",
              "Horror",
              "Documentary",
              "Music",
              "Foreign"
            ],
            "description": "Genre of the media title."
          },
          "release_year": {
            "kind": "int",
            "min": 1900,
            "max": 2023,
            "description": "Year the media title was released.",
            "nullable": true
          }
        }
      },
      "user_media_interactions": {
        "description": "This table captures the interactions between users and media titles, including play counts and ratings. It links users to the media they consume.",
        "rows": 800,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each interaction."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "ID of the user engaging with the media."
          },
          "media_id": {
            "kind": "fk",
            "ref": "media_titles.id",
            "description": "ID of the media title being interacted with."
          },
          "play_count": {
            "kind": "int",
            "min": 1,
            "max": 100,
            "description": "Number of times the media title has been played by the user.",
            "nullable": true
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "User rating for the media title, from 1 to 5.",
            "nullable": true
          }
        }
      },
      "genres": {
        "description": "This table lists all genres available in the media titles, providing a reference for genre categorization.",
        "rows": 7,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each genre."
          },
          "name": {
            "kind": "enum",
            "values": [
              "Action",
              "Drama",
              "Comedy",
              "Horror",
              "Documentary",
              "Music",
              "Foreign"
            ],
            "description": "Name of the genre."
          }
        }
      },
      "actors": {
        "description": "This table contains information about actors involved in various media titles. Each actor can be linked to multiple titles.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each actor."
          },
          "full_name": {
            "kind": "fullName",
            "description": "Full name of the actor."
          },
          "birth_year": {
            "kind": "int",
            "min": 1900,
            "max": 2023,
            "description": "Year the actor was born."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "nullable",
      "timestamped"
    ],
    "analysisQuestions": [
      "What are the most popular genres among users?",
      "How does the play count vary across different media titles?",
      "What is the average rating given by users to music titles?",
      "Are there certain age groups that prefer specific genres?",
      "Which actors are most frequently associated with high-rated media titles?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Users and Media Interactions",
        "sql": "SELECT u.name, umi.play_count FROM users u JOIN user_media_interactions umi ON u.id = umi.user_id;",
        "dialect": "postgres"
      },
      {
        "title": "Count Plays by Genre",
        "sql": "SELECT mt.genre, SUM(umi.play_count) AS total_plays FROM media_titles mt JOIN user_media_interactions umi ON mt.id = umi.media_id GROUP BY mt.genre;",
        "dialect": "postgres"
      },
      {
        "title": "Average Rating by Media Title",
        "sql": "SELECT mt.title, AVG(umi.rating) AS avg_rating FROM media_titles mt JOIN user_media_interactions umi ON mt.id = umi.media_id GROUP BY mt.title;",
        "dialect": "postgres"
      },
      {
        "title": "Top 5 Actors by Rating",
        "sql": "SELECT a.full_name, AVG(umi.rating) AS avg_rating FROM actors a JOIN media_titles mt ON a.id = mt.id JOIN user_media_interactions umi ON mt.id = umi.media_id GROUP BY a.full_name ORDER BY avg_rating DESC LIMIT 5;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Media Analytics for Developers",
        "body": "Developers can utilize this dataset to create applications that analyze media consumption patterns. By querying user interactions, they can build features that recommend titles based on user preferences and engagement metrics."
      },
      {
        "title": "Educational Tool for SQL Practice",
        "body": "This dataset serves as an excellent resource for students and professionals learning SQL. They can practice writing complex queries involving joins, aggregations, and subqueries to extract insights about media consumption trends."
      },
      {
        "title": "Market Research Insights",
        "body": "Market researchers can analyze this dataset to understand user preferences in media genres and titles. This data can help inform marketing strategies for new releases and target specific demographics effectively."
      },
      {
        "title": "User Engagement Tracking",
        "body": "Content creators and media companies can use this dataset to track user engagement levels across different media titles. By understanding which genres attract more plays, they can tailor content offerings to meet audience demands."
      }
    ]
  },
  "counts": {
    "actors": 100,
    "genres": 7,
    "media_titles": 150,
    "users": 200,
    "user_media_interactions": 800
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "name": {
          "nulls": 0,
          "distinct": 199,
          "min": "Alice Becker",
          "max": "Zara Wagner"
        },
        "age": {
          "nulls": 25,
          "distinct": 71,
          "min": 13,
          "max": 90
        },
        "email": {
          "nulls": 16,
          "distinct": 183
        }
      }
    },
    "media_titles": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "title": {
          "nulls": 0,
          "distinct": 150
        },
        "genre": {
          "nulls": 0,
          "distinct": 7,
          "min": "Action",
          "max": "Music"
        },
        "release_year": {
          "nulls": 15,
          "distinct": 86,
          "min": 1900,
          "max": 2022
        }
      }
    },
    "user_media_interactions": {
      "rows": 800,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 800,
          "min": 1,
          "max": 800
        },
        "user_id": {
          "nulls": 0,
          "distinct": 194,
          "min": 1,
          "max": 200
        },
        "media_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "play_count": {
          "nulls": 75,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "rating": {
          "nulls": 83,
          "distinct": 5,
          "min": 1,
          "max": 5
        }
      }
    },
    "genres": {
      "rows": 7,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 7,
          "min": 1,
          "max": 7
        },
        "name": {
          "nulls": 0,
          "distinct": 6,
          "min": "Action",
          "max": "Music"
        }
      }
    },
    "actors": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "full_name": {
          "nulls": 0,
          "distinct": 100,
          "min": "Alice Fischer",
          "max": "Zara Yilmaz"
        },
        "birth_year": {
          "nulls": 0,
          "distinct": 67,
          "min": 1900,
          "max": 2023
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/actors.csv",
      "format": "csv",
      "table": "actors",
      "key": "datasets/media-consumption-trends/v1/csv/actors.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/csv/actors.csv",
      "bytes": 2136,
      "sha256": "dec87a00b0e48bdd18f68826743274796bb1d1d7b0a2d72c4bc070ed406f4ca7",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/genres.csv",
      "format": "csv",
      "table": "genres",
      "key": "datasets/media-consumption-trends/v1/csv/genres.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/csv/genres.csv",
      "bytes": 82,
      "sha256": "eede05437485aad09ee65930dc77ec1c97225e5a8737d6d043d42ce43972e32b",
      "rows": 7,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/media_titles.csv",
      "format": "csv",
      "table": "media_titles",
      "key": "datasets/media-consumption-trends/v1/csv/media_titles.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/csv/media_titles.csv",
      "bytes": 27680,
      "sha256": "5892c65799105ea5e785d0ac5d1ed8745691f7d9f103b6449b350a8204c299fc",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/media-consumption-trends/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/csv/users.csv",
      "bytes": 8313,
      "sha256": "16bad990f16dd50444347e3fdb2032d3cf2b650b21d9e3655eec08d75c93a1d7",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/user_media_interactions.csv",
      "format": "csv",
      "table": "user_media_interactions",
      "key": "datasets/media-consumption-trends/v1/csv/user_media_interactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/csv/user_media_interactions.csv",
      "bytes": 13030,
      "sha256": "6b2cab6be5affafd2f66dfb696bf99aff790b8d697433818516a736d1f1fe4ad",
      "rows": 800,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "media-consumption-trends.json",
      "format": "json",
      "table": null,
      "key": "datasets/media-consumption-trends/v1/media-consumption-trends.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/media-consumption-trends.json",
      "bytes": 165296,
      "sha256": "cb4810fddba7267c16db982fea7c340eb593716ad8bee8337c23dfacbc4af900",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/media-consumption-trends/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/sql/postgres.sql",
      "bytes": 68150,
      "sha256": "cf7eee79ae22af7804c5172ab181306da443607aa3bad52158141ea88acc518c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/media-consumption-trends/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/sql/mysql.sql",
      "bytes": 67567,
      "sha256": "5464323f4b5ec200f3c41c0511965c7e5a68f363002ef6d74f9d35463007f182",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/media-consumption-trends/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/sql/mssql.sql",
      "bytes": 68693,
      "sha256": "b193ab16bc55c6e20f4fcb759e82078ea847acae4bf2a48caa9b065f32dea562",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/media-consumption-trends/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/sql/sqlite.sql",
      "bytes": 67394,
      "sha256": "1d4158b0fba0d378ce71c6929d7c24897a144d599eede6882d0eefc79f1c3bfd",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/media-consumption-trends/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/prisma/seed.ts",
      "bytes": 125632,
      "sha256": "b4df0ab309f3b4e3bc5a5bd733a430782cbb2243f5c0a5c1ff48ef2b6ff8547f",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/media-consumption-trends/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/media-consumption-trends/v1/django/fixtures.json",
      "bytes": 225728,
      "sha256": "7be5d673e26ef330a98129c9390cb3483ed426925396e1263e8ae70e86baee6f",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766573188,
  "updatedAt": 1788766573188
}
