{
  "format": "dataset-manifest/1",
  "slug": "music-streaming-and-recommendation-app",
  "version": 1,
  "seed": "music-streaming-and-recommendation-app:1",
  "spec": {
    "format": "dataset/1",
    "slug": "music-streaming-and-recommendation-app",
    "name": "Music Engagement Insights",
    "tagline": "User interactions with music and podcasts including listening history, search queries, and social engagement.",
    "description": "Listeners engage with an extensive library of podcasts and music, creating personalized playlists and subscriptions that reflect their unique tastes. As they navigate through different genres, users leave behind a rich trail of data that captures their listening history, the search queries they make to discover new content, and even their offline downloads. This data provides insights into not only what users listen to most but also how they interact with artists and each other on the platform. Social interactions among users and artists reveal emerging patterns of popularity and engagement, showcasing how listeners connect with their favorite creators and share their experiences with others.\n\nThe relationships between the tables allow for a multifaceted exploration of user behavior. Each row in the users table represents an individual listener, while the listening_history table records their specific interactions with content over time. The content table gathers details about the various media available, and search_queries captures the terms users input when seeking new music or podcasts. Social_interactions reflect the connections made between users and artists, illustrating the dynamics of engagement within the community. Lastly, the artists table holds the profiles of creators, detailing their works and follower counts, which can be analyzed in relation to user interactions.\n\nUsing this dataset, developers can explore a range of questions, such as understanding how genre preferences vary among different demographics, analyzing trends in user engagement over time, or assessing what factors contribute to the popularity of specific artists or content types. The synthetic nature of this data ensures a safe and controlled environment for practicing data manipulation, visualization, and analysis without any privacy concerns.",
    "domain": "media",
    "shape": "slowly-changing",
    "useCases": [
      "etl-pipelines",
      "teaching"
    ],
    "keywords": [
      "music",
      "podcasts",
      "listeners",
      "engagement",
      "analytics",
      "streaming",
      "recommendations"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "users": {
        "description": "This table contains details about the users of the streaming platform. Each row represents a unique user with their profile information.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "User's full name."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "User's email address associated with their account."
          },
          "join_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "description": "The date the user joined the platform."
          },
          "subscription_status": {
            "kind": "enum",
            "values": [
              "active",
              "inactive",
              "premium",
              "free"
            ],
            "description": "Current subscription status of the user."
          }
        }
      },
      "listening_history": {
        "description": "This table records the listening activities of users, linking each user to their listened tracks and podcasts over time.",
        "rows": {
          "per": "users",
          "via": "user_id",
          "min": 1,
          "max": 10,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each listening record."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The user who listened to the track or podcast."
          },
          "content_id": {
            "kind": "fk",
            "ref": "content.id",
            "description": "The track or podcast that was listened to."
          },
          "listened_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "dayProfile": "waking",
            "description": "Timestamp when the content was listened to."
          },
          "duration": {
            "kind": "int",
            "min": 1,
            "max": 3600,
            "description": "Duration in seconds of the content listened to."
          }
        }
      },
      "content": {
        "description": "This table contains information about the audio content available on the platform, including tracks and podcasts.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each content item."
          },
          "title": {
            "kind": "words",
            "max": 10,
            "description": "Title of the track or podcast."
          },
          "genre": {
            "kind": "enum",
            "values": [
              "pop",
              "rock",
              "hip-hop",
              "jazz",
              "classical",
              "podcast"
            ],
            "description": "Genre of the content."
          },
          "release_date": {
            "kind": "date",
            "from": "2010-01-01",
            "to": "2023-01-01",
            "description": "The release date of the content."
          },
          "is_premium": {
            "kind": "bool",
            "trueRate": 0.4,
            "description": "Indicates if the content is part of the premium subscription."
          }
        }
      },
      "search_queries": {
        "description": "This table logs the search queries made by users on the platform, capturing their interests and content discovery patterns.",
        "rows": {
          "per": "users",
          "via": "user_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each search record."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The user who performed the search."
          },
          "query": {
            "kind": "words",
            "max": 10,
            "description": "The search term entered by the user."
          },
          "searched_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "dayProfile": "waking",
            "description": "Timestamp when the search was performed."
          }
        }
      },
      "social_interactions": {
        "description": "This table captures interactions between users and artists, such as follows and likes, illustrating social dynamics on the platform.",
        "rows": {
          "per": "users",
          "via": "user_id",
          "min": 1,
          "max": 5,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each social interaction."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "The user who interacted."
          },
          "artist_id": {
            "kind": "fk",
            "ref": "artists.id",
            "description": "The artist being interacted with."
          },
          "interaction_type": {
            "kind": "enum",
            "values": [
              "follow",
              "like",
              "share"
            ],
            "description": "Type of interaction performed by the user."
          },
          "interacted_at": {
            "kind": "datetime",
            "from": "2020-01-01",
            "to": "2023-01-01",
            "dayProfile": "waking",
            "description": "Timestamp of the interaction."
          }
        }
      },
      "artists": {
        "description": "This table provides information about the artists available on the platform, linking them to user interactions.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each artist."
          },
          "name": {
            "kind": "fullName",
            "description": "Name of the artist."
          },
          "genre": {
            "kind": "enum",
            "values": [
              "pop",
              "rock",
              "hip-hop",
              "jazz",
              "classical"
            ],
            "description": "Musical genre of the artist."
          },
          "followers_count": {
            "kind": "int",
            "min": 0,
            "max": 100000,
            "description": "Number of followers the artist has."
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "categorical",
      "high-cardinality",
      "timestamped"
    ],
    "analysisQuestions": [
      "What are the most popular genres among users?",
      "How does subscription status affect user engagement?",
      "What patterns emerge in search queries over time?",
      "Which artists have the highest follower counts?",
      "How do listening habits differ between premium and free users?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Users and Listening History",
        "sql": "SELECT u.full_name, lh.listened_at, c.title FROM users u JOIN listening_history lh ON u.id = lh.user_id JOIN content c ON lh.content_id = c.id",
        "dialect": "postgres"
      },
      {
        "title": "Count Listening Activities by Genre",
        "sql": "SELECT c.genre, COUNT(lh.id) as total_listens FROM listening_history lh JOIN content c ON lh.content_id = c.id GROUP BY c.genre",
        "dialect": "postgres"
      },
      {
        "title": "Average Duration of Listening per User",
        "sql": "SELECT u.full_name, AVG(lh.duration) as avg_duration FROM users u JOIN listening_history lh ON u.id = lh.user_id GROUP BY u.full_name",
        "dialect": "postgres"
      },
      {
        "title": "Search Queries Over Time",
        "sql": "SELECT DATE(searched_at) as search_date, COUNT(id) as total_queries FROM search_queries GROUP BY search_date ORDER BY search_date",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "User Engagement Analysis",
        "body": "Data analysts at a streaming service can use this dataset to analyze user engagement patterns, identifying which genres are most popular among different user segments. This analysis can help in tailoring marketing strategies and improving user retention."
      },
      {
        "title": "Content Recommendation Improvement",
        "body": "Developers working on recommendation algorithms can leverage the listening history and search queries to enhance suggestions for users. By understanding what content is being consumed, they can create more personalized experiences that keep users engaged."
      },
      {
        "title": "Artist Promotion Strategies",
        "body": "Music labels can utilize the social interactions data to devise promotion strategies for their artists. By analyzing follower counts and interactions, they can identify potential influencers and optimize marketing campaigns."
      },
      {
        "title": "Educational Use for Data Science",
        "body": "Educators can use this dataset in data science courses to teach students about data modeling, SQL querying, and analytics. Students can practice with real-world scenarios, learning to extract meaningful insights from user behavior data."
      }
    ]
  },
  "counts": {
    "artists": 150,
    "content": 300,
    "users": 200,
    "listening_history": 749,
    "search_queries": 444,
    "social_interactions": 471
  },
  "stats": {
    "users": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "full_name": {
          "nulls": 0,
          "distinct": 195,
          "min": "Alice Murphy",
          "max": "Zoe Yilmaz"
        },
        "email": {
          "nulls": 0,
          "distinct": 196
        },
        "join_date": {
          "nulls": 0,
          "distinct": 177,
          "min": "2020-01-11",
          "max": "2022-12-05"
        },
        "subscription_status": {
          "nulls": 0,
          "distinct": 4,
          "min": "active",
          "max": "premium"
        }
      }
    },
    "listening_history": {
      "rows": 749,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 749,
          "min": 1,
          "max": 749
        },
        "user_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "content_id": {
          "nulls": 0,
          "distinct": 276,
          "min": 1,
          "max": 300
        },
        "listened_at": {
          "nulls": 0,
          "distinct": 749,
          "min": "2020-01-06 15:58:48",
          "max": "2022-12-31 14:18:53"
        },
        "duration": {
          "nulls": 0,
          "distinct": 685,
          "min": 6,
          "max": 3600
        }
      }
    },
    "content": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "title": {
          "nulls": 0,
          "distinct": 300
        },
        "genre": {
          "nulls": 0,
          "distinct": 6,
          "min": "classical",
          "max": "rock"
        },
        "release_date": {
          "nulls": 0,
          "distinct": 288,
          "min": "2010-01-10",
          "max": "2022-12-08"
        },
        "is_premium": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        }
      }
    },
    "search_queries": {
      "rows": 444,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 444,
          "min": 1,
          "max": 444
        },
        "user_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "query": {
          "nulls": 0,
          "distinct": 444
        },
        "searched_at": {
          "nulls": 0,
          "distinct": 444,
          "min": "2020-01-07 09:05:44",
          "max": "2023-01-01 21:55:21"
        }
      }
    },
    "social_interactions": {
      "rows": 471,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 471,
          "min": 1,
          "max": 471
        },
        "user_id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "artist_id": {
          "nulls": 0,
          "distinct": 141,
          "min": 1,
          "max": 150
        },
        "interaction_type": {
          "nulls": 0,
          "distinct": 3,
          "min": "follow",
          "max": "share"
        },
        "interacted_at": {
          "nulls": 0,
          "distinct": 471,
          "min": "2020-01-03 08:47:01",
          "max": "2022-12-31 18:14:05"
        }
      }
    },
    "artists": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "name": {
          "nulls": 0,
          "distinct": 149,
          "min": "Alice Ahmed",
          "max": "Zoe Adams"
        },
        "genre": {
          "nulls": 0,
          "distinct": 5,
          "min": "classical",
          "max": "rock"
        },
        "followers_count": {
          "nulls": 0,
          "distinct": 150,
          "min": 3401,
          "max": 99203
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/artists.csv",
      "format": "csv",
      "table": "artists",
      "key": "datasets/music-streaming-and-recommendation-app/v1/csv/artists.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/csv/artists.csv",
      "bytes": 4329,
      "sha256": "0dea2409c0ff48c01e67d9112fe57771b404e3515daa398f68682acbe4cc4a81",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/content.csv",
      "format": "csv",
      "table": "content",
      "key": "datasets/music-streaming-and-recommendation-app/v1/csv/content.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/csv/content.csv",
      "bytes": 20754,
      "sha256": "4f2167d61347700fc17dd2b547b12456cf9295110ea2efb51c1ddd3867888da2",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/music-streaming-and-recommendation-app/v1/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/csv/users.csv",
      "bytes": 11809,
      "sha256": "1f141e17504a902a48a9d4f89aef1452a3632514ae68ccadc3058025e5f5c781",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/listening_history.csv",
      "format": "csv",
      "table": "listening_history",
      "key": "datasets/music-streaming-and-recommendation-app/v1/csv/listening_history.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/csv/listening_history.csv",
      "bytes": 27537,
      "sha256": "43e1aabf0edb2b95f0a2b6b800a822ca2b9a6056950e0e0459884e4b254027fb",
      "rows": 749,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/search_queries.csv",
      "format": "csv",
      "table": "search_queries",
      "key": "datasets/music-streaming-and-recommendation-app/v1/csv/search_queries.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/csv/search_queries.csv",
      "bytes": 30434,
      "sha256": "d42a7616f528788457e62b7fe93b1d9dd78b5a1b1a78d86a029257eca889bebb",
      "rows": 444,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/social_interactions.csv",
      "format": "csv",
      "table": "social_interactions",
      "key": "datasets/music-streaming-and-recommendation-app/v1/csv/social_interactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/csv/social_interactions.csv",
      "bytes": 17729,
      "sha256": "35c697d9b6292ba0b60f9fcb1fec40af3a0aae78ff16ac84e960db10574583ea",
      "rows": 471,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "music-streaming-and-recommendation-app.json",
      "format": "json",
      "table": null,
      "key": "datasets/music-streaming-and-recommendation-app/v1/music-streaming-and-recommendation-app.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/music-streaming-and-recommendation-app.json",
      "bytes": 352435,
      "sha256": "f0c203f30161f5bcfa280d311e394f0b5a3adc368abec5f41995e796aaa49a7a",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/music-streaming-and-recommendation-app/v1/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/sql/postgres.sql",
      "bytes": 148299,
      "sha256": "5b98a4e8fae5a4e0d13e4ea0628f00961f9500d031e0fd234df3cec5397e756c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/music-streaming-and-recommendation-app/v1/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/sql/mysql.sql",
      "bytes": 146510,
      "sha256": "24d255f1ee3d73f29530db1c1f643bced2a1d249cb7ea50842f29ab3744bb3c6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/music-streaming-and-recommendation-app/v1/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/sql/mssql.sql",
      "bytes": 151502,
      "sha256": "26923232bf7784a8b2a499e4677b5dbe1d68b4a40cad2a9414023bff4718e3fa",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/music-streaming-and-recommendation-app/v1/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/sql/sqlite.sql",
      "bytes": 146184,
      "sha256": "47cae970beaeb21604684cce3554bc79bf9e8751ed95902f9cdae62090173eba",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/music-streaming-and-recommendation-app/v1/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/prisma/seed.ts",
      "bytes": 293271,
      "sha256": "59da69fe954e7264955e6c175e527c4ddf07bd953f78b415b7a3f92e85ca9e15",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/music-streaming-and-recommendation-app/v1/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/music-streaming-and-recommendation-app/v1/django/fixtures.json",
      "bytes": 459599,
      "sha256": "485a71a0a1a4a0d621c0ee0609526fcfcaa1bb80de49a736de09957dc18f55d9",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788768633955,
  "updatedAt": 1788768633955
}
