{
  "format": "dataset-manifest/1",
  "slug": "streaming-engagement-metrics",
  "version": 2,
  "seed": "streaming-engagement-metrics:1",
  "spec": {
    "format": "dataset/1",
    "slug": "streaming-engagement-metrics",
    "name": "Streaming Engagement Metrics",
    "tagline": "User interactions and engagement metrics for various media content, including songs, videos, and genres.",
    "description": "Users engage with a diverse array of media content, such as songs and videos, shaping their preferences and experiences through their interactions. Each user has a profile that captures their behavior, preferences, and engagement history. Media items represent the content itself, categorized by various genres, allowing for an exploration of how different styles resonate with audiences. The interplay between users and media items reveals patterns in consumption, highlighting which genres gain traction and which struggle to attract attention.\n\nThe tables interrelate in meaningful ways: each user can engage with multiple media items, and each media item belongs to a specific genre. The engagement metrics table tracks how users interact with these items, including likes, views, and shares. Comments provide additional insights into user sentiments, offering qualitative data that complements the quantitative measures of engagement. By joining these tables, one can analyze the relationships between user demographics, media item popularity, genre trends, and user feedback.\n\nThe data answers critical questions about user behavior and media trends. For example, how do different genres compare in terms of user engagement? What types of media items generate the most discussions in comments? Are there particular user segments that prefer specific content styles? This dataset is ideal for practicing data analysis, from basic queries to advanced modeling, allowing developers to uncover insights into user engagement patterns. Keep in mind that this data is synthetic, designed to mimic real-world interactions in the online media landscape.",
    "domain": "media",
    "shape": "graph-edges",
    "useCases": [
      "sql-practice",
      "teaching"
    ],
    "keywords": [
      "media",
      "streaming",
      "engagement",
      "users",
      "songs",
      "videos",
      "genres",
      "comments"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "Each row represents a user interacting with media, linking to their engagement metrics and comments.",
        "rows": 500,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The user's full name."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "The user's email address."
          },
          "registration_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the user registered.",
            "trend": "growing"
          }
        }
      },
      "media_items": {
        "description": "This table catalogs each media item, including songs and videos, with links to their genres.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the media item."
          },
          "title": {
            "kind": "title",
            "description": "Title of the song or video.",
            "pool": [
              "Echo",
              "Rhythm",
              "Vibe",
              "Harmony",
              "Beat",
              "Melody",
              "Tune",
              "Wave",
              "Sound",
              "Track",
              "Chorus",
              "Verse",
              "Lyric",
              "Flow",
              "Jam",
              "Mix",
              "Session",
              "Anthem",
              "Symphony",
              "Serenade",
              "Ballad",
              "Solo",
              "Duet",
              "Trio",
              "Quartet",
              "Fifth",
              "Chant",
              "Refrain",
              "Theme",
              "Score",
              "Prelude",
              "Interlude",
              "Cadence",
              "Tempo",
              "Groove",
              "Pulse",
              "Resonance",
              "Echoes",
              "Fusion",
              "Blend",
              "Style",
              "Mood",
              "Scene",
              "Vision",
              "Dream",
              "Journey",
              "Quest",
              "Odyssey",
              "Saga",
              "Story",
              "Narrative",
              "Chronicle",
              "Legend",
              "Myth"
            ],
            "min": 1,
            "max": 3
          },
          "media_type": {
            "kind": "enum",
            "values": [
              "song",
              "video"
            ],
            "description": "Type of media item.",
            "weights": [
              7,
              3
            ]
          },
          "genre_id": {
            "kind": "fk",
            "ref": "genres.id",
            "description": "Link to the genre of the media item."
          },
          "release_date": {
            "kind": "date",
            "from": "2000-01-01",
            "to": "2023-12-31",
            "description": "Release date of the media item.",
            "trend": "seasonal"
          }
        }
      },
      "genres": {
        "description": "Catalog of genres available for media items, linking to their respective media items.",
        "rows": 20,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the genre."
          },
          "name": {
            "kind": "words",
            "min": 1,
            "max": 3,
            "description": "Name of the genre.",
            "pool": [
              "action",
              "drama",
              "comedy",
              "thriller",
              "horror",
              "fantasy",
              "sci-fi",
              "documentary",
              "romance",
              "adventure",
              "mystery",
              "animation",
              "musical",
              "biography",
              "historical",
              "crime",
              "family",
              "war",
              "western",
              "sport",
              "superhero",
              "noir",
              "psychological",
              "slice",
              "reality",
              "talk",
              "game",
              "mockumentary",
              "experimental",
              "short",
              "web",
              "independent",
              "cult",
              "epic",
              "romantic",
              "dystopian",
              "post-apocalyptic",
              "suspense",
              "action-comedy",
              "dramedy",
              "fantasy-comedy",
              "science-fantasy",
              "urban",
              "teen",
              "historical-fiction",
              "period",
              "satire",
              "parody",
              "thriller-comedy",
              "romantic-comedy",
              "action-thriller"
            ]
          }
        }
      },
      "engagement_metrics": {
        "description": "Engagement metrics for media items, capturing user interactions like likes and comments.",
        "rows": 800,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the engagement metric."
          },
          "media_item_id": {
            "kind": "fk",
            "ref": "media_items.id",
            "description": "Link to the media item."
          },
          "likes": {
            "kind": "int",
            "min": 0,
            "max": 1000,
            "description": "Number of likes for the media item.",
            "distribution": "high"
          },
          "comments_count": {
            "kind": "int",
            "min": 0,
            "max": 500,
            "description": "Number of comments for the media item.",
            "distribution": "long-tail"
          }
        }
      },
      "comments": {
        "description": "User comments on media items, linked to both users and media items.",
        "rows": 600,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for the comment."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "Link to the user who made the comment."
          },
          "media_item_id": {
            "kind": "fk",
            "ref": "media_items.id",
            "description": "Link to the media item being commented on."
          },
          "comment_text": {
            "kind": "sentence",
            "min": 1,
            "max": 250,
            "description": "The text of the comment."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "Timestamp of when the comment was made.",
            "dayProfile": "waking"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "nullable",
      "timestamped",
      "high-cardinality"
    ],
    "analysisQuestions": [
      "Which genres receive the most engagement in terms of likes and comments?",
      "How do user demographics influence media consumption patterns?",
      "What types of media generate the highest volume of user comments?",
      "Are there trends in media engagement over time?",
      "How does the release date affect the initial engagement metrics of a media item?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Users and Engagement Metrics",
        "sql": "SELECT users.full_name, engagement_metrics.likes, engagement_metrics.comments_count FROM users JOIN engagement_metrics ON users.id = engagement_metrics.media_item_id;",
        "dialect": "postgres"
      },
      {
        "title": "Aggregate Likes by Genre",
        "sql": "SELECT genres.name, SUM(engagement_metrics.likes) AS total_likes FROM engagement_metrics JOIN media_items ON engagement_metrics.media_item_id = media_items.id JOIN genres ON media_items.genre_id = genres.id GROUP BY genres.name;",
        "dialect": "postgres"
      },
      {
        "title": "Comments Count for Each Media Item",
        "sql": "SELECT media_items.title, COUNT(comments.id) AS total_comments FROM media_items LEFT JOIN comments ON media_items.id = comments.media_item_id GROUP BY media_items.title;",
        "dialect": "postgres"
      },
      {
        "title": "Engagement Over Time",
        "sql": "SELECT DATE_TRUNC('month', engagement_metrics.created_at) AS month, SUM(engagement_metrics.likes) AS total_likes FROM engagement_metrics GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      },
      {
        "title": "Top Media Items by Engagement",
        "sql": "SELECT media_items.title, engagement_metrics.likes, engagement_metrics.comments_count FROM media_items JOIN engagement_metrics ON media_items.id = engagement_metrics.media_item_id ORDER BY engagement_metrics.likes DESC LIMIT 10;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Media Analytics Dashboard",
        "body": "Data analysts in a media company can use this dataset to build a dashboard that visualizes user engagement trends over time. By analyzing likes and comments across different genres, they can identify which types of content resonate most with their audience."
      },
      {
        "title": "User Engagement Research",
        "body": "Researchers studying online media consumption can leverage this dataset to explore patterns in user engagement. They can examine how demographic factors influence media preferences and which genres are most actively discussed by users."
      },
      {
        "title": "Content Strategy Development",
        "body": "Marketing teams can utilize insights from the engagement metrics to develop targeted strategies for promoting new media releases. By understanding which genres generate the most likes and comments, they can tailor their campaigns accordingly."
      },
      {
        "title": "Teaching SQL and Data Analysis",
        "body": "Educators can use this dataset in their SQL and data analysis courses. Students can practice writing queries to extract insights from the dataset, such as analyzing user comments or aggregating engagement metrics by genre."
      }
    ]
  },
  "counts": {
    "genres": 20,
    "media_items": 300,
    "engagement_metrics": 800,
    "users": 500,
    "comments": 600
  },
  "stats": {
    "users": {
      "rows": 500,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 500,
          "min": 1,
          "max": 500
        },
        "full_name": {
          "nulls": 0,
          "distinct": 486,
          "min": "Alice Ahmed",
          "max": "Zoe Walker"
        },
        "email": {
          "nulls": 0,
          "distinct": 495
        },
        "registration_date": {
          "nulls": 0,
          "distinct": 417,
          "min": "2020-01-03",
          "max": "2023-12-31"
        }
      }
    },
    "media_items": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "title": {
          "nulls": 0,
          "distinct": 264
        },
        "media_type": {
          "nulls": 0,
          "distinct": 2,
          "min": "song",
          "max": "video"
        },
        "genre_id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "release_date": {
          "nulls": 0,
          "distinct": 294,
          "min": "2000-01-02",
          "max": "2023-12-17"
        }
      }
    },
    "genres": {
      "rows": 20,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 20,
          "min": 1,
          "max": 20
        },
        "name": {
          "nulls": 0,
          "distinct": 20
        }
      }
    },
    "engagement_metrics": {
      "rows": 800,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 800,
          "min": 1,
          "max": 800
        },
        "media_item_id": {
          "nulls": 0,
          "distinct": 283,
          "min": 1,
          "max": 300
        },
        "likes": {
          "nulls": 0,
          "distinct": 497,
          "min": 2,
          "max": 1000
        },
        "comments_count": {
          "nulls": 0,
          "distinct": 357,
          "min": 0,
          "max": 499
        }
      }
    },
    "comments": {
      "rows": 600,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 600,
          "min": 1,
          "max": 600
        },
        "user_id": {
          "nulls": 0,
          "distinct": 345,
          "min": 1,
          "max": 498
        },
        "media_item_id": {
          "nulls": 0,
          "distinct": 261,
          "min": 1,
          "max": 300
        },
        "comment_text": {
          "nulls": 0,
          "distinct": 590
        },
        "created_at": {
          "nulls": 0,
          "distinct": 600,
          "min": "2020-01-03 17:51:47",
          "max": "2023-12-30 06:04:39"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/genres.csv",
      "format": "csv",
      "table": "genres",
      "key": "datasets/streaming-engagement-metrics/v2/csv/genres.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/csv/genres.csv",
      "bytes": 439,
      "sha256": "0538ce85fc3dcc53e9656b179a8727562b0a3c2a426842940c32e2f337bc0bfe",
      "rows": 20,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/media_items.csv",
      "format": "csv",
      "table": "media_items",
      "key": "datasets/streaming-engagement-metrics/v2/csv/media_items.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/csv/media_items.csv",
      "bytes": 11285,
      "sha256": "950578a130bdff512e6b6ac18c362c4706d953c54b8d653fc1a1528ab1d52e7d",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/engagement_metrics.csv",
      "format": "csv",
      "table": "engagement_metrics",
      "key": "datasets/streaming-engagement-metrics/v2/csv/engagement_metrics.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/csv/engagement_metrics.csv",
      "bytes": 12778,
      "sha256": "84d4a4908f5095f7900fbc402a246e609b25e170af5b1a89ec1edaf726e5469e",
      "rows": 800,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/streaming-engagement-metrics/v2/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/csv/users.csv",
      "bytes": 25944,
      "sha256": "b0fba453eba3074a47bc84e819e940b15f1585574f0766edce1eb01ac22e4b66",
      "rows": 500,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/comments.csv",
      "format": "csv",
      "table": "comments",
      "key": "datasets/streaming-engagement-metrics/v2/csv/comments.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/csv/comments.csv",
      "bytes": 53328,
      "sha256": "0cd2b8fb0fc0d79f771bbd3ddcb64d383a3b707c0c133d15ce27497c897b076f",
      "rows": 600,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "streaming-engagement-metrics.json",
      "format": "json",
      "table": null,
      "key": "datasets/streaming-engagement-metrics/v2/streaming-engagement-metrics.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/streaming-engagement-metrics.json",
      "bytes": 323620,
      "sha256": "7aafc87e6a637d902c1287a797377325e94d7a8f7f048be007300583664fac01",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/streaming-engagement-metrics/v2/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/sql/postgres.sql",
      "bytes": 134889,
      "sha256": "76e947575d4f4eec7e0fdedbf24f7df6fa9c73ff043c24829b140c779224d649",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/streaming-engagement-metrics/v2/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/sql/mysql.sql",
      "bytes": 134317,
      "sha256": "3badaecfac127263f5c4cb0047ecdbc896ee1b1658f6f754f01de1840bb062a5",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/streaming-engagement-metrics/v2/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/sql/mssql.sql",
      "bytes": 138273,
      "sha256": "46a928dabf8ce3cb070a1190170ef3618d88f550a1098239200b4046cbd0cae3",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/streaming-engagement-metrics/v2/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/sql/sqlite.sql",
      "bytes": 134115,
      "sha256": "62d4feea564da90cdfe260a8e25da4d75f745a4547d7f6635e0ca0c23ff524d6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/streaming-engagement-metrics/v2/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/prisma/seed.ts",
      "bytes": 262277,
      "sha256": "11e04d3649e91179462114f5a04529acda7d4cc1541cf79983ac46322fd43e2f",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/streaming-engagement-metrics/v2/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/streaming-engagement-metrics/v2/django/fixtures.json",
      "bytes": 421152,
      "sha256": "afddd7d81f3b885646c9cee216cb3ca4820d5dd2a83c03e4c4693e898bf6e1ca",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768018468,
  "updatedAt": 1788786257695
}
