{
  "format": "dataset-manifest/1",
  "slug": "article-page-views",
  "version": 3,
  "seed": "article-page-views:1",
  "spec": {
    "format": "dataset/1",
    "slug": "article-page-views",
    "name": "Article Page Views",
    "tagline": "Page views, articles, readers, and subscription data from a media publisher's website.",
    "description": "Readers engage with articles on a publisher's site, generating page views that reveal patterns in content consumption. Each interaction is logged, capturing essential details such as which articles were read, how long they were viewed, and the referral sources that led readers to the site. This dynamic environment not only tracks the popularity of individual articles but also sheds light on reader behavior, including the transition from casual readers to subscribers. \n\nThe dataset consists of four main tables: articles, readers, page_views, and subscriptions. Each article entry reflects the unique characteristics of the content published, including its title and genre. Readers, some of whom are anonymous, are captured in another table, detailing their unique identifiers and any demographic information available. The page_views table ties these elements together, with each row representing a distinct interaction that includes the article ID, reader ID, the referrer for the page visit, and the duration of the view. Finally, the subscriptions table showcases which readers have converted to subscribers following their article views, linking back to the original readers and the articles accessed. \n\nBy exploring this dataset, developers can answer various questions regarding audience engagement—such as which articles drive the most traffic, what referrers are the most effective, and what content leads to higher subscription rates. Analyzing trends in page views can provide insights into reader preferences and content performance, making it a rich resource for understanding the digital media landscape. The data is synthetic, designed to mimic real-world scenarios, allowing for a safe and effective practice environment.",
    "domain": "media",
    "shape": "event-log",
    "useCases": [
      "analytics-demo",
      "bi-dashboards"
    ],
    "keywords": [
      "page views",
      "articles",
      "readers",
      "subscriptions",
      "referrers",
      "engagement",
      "analytics"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "articles": {
        "description": "This table records the articles available on the publisher site. Each row represents an individual article.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each article."
          },
          "title": {
            "kind": "title",
            "description": "The title of the article.",
            "pool": [
              "Breaking",
              "News",
              "Exclusive",
              "Investigation",
              "Report",
              "Analysis",
              "Feature",
              "Opinion",
              "Review",
              "Guide",
              "Trends",
              "Update",
              "Insights",
              "Perspective",
              "Overview",
              "Debate",
              "Discussion",
              "Interview",
              "Profile",
              "Spotlight",
              "Exploration",
              "Journey",
              "Challenge",
              "Success",
              "Failure",
              "Future",
              "History",
              "Impact",
              "Culture",
              "Society",
              "Technology",
              "Innovation",
              "Policy",
              "Strategy",
              "Economy",
              "Health",
              "Environment",
              "Education",
              "Sports",
              "Entertainment",
              "Lifestyle",
              "Travel",
              "Science",
              "Art",
              "Music",
              "Film",
              "Literature",
              "Fashion",
              "Food",
              "Business",
              "Marketing",
              "Media",
              "Digital",
              "Social",
              "Community",
              "Voices",
              "Perspectives"
            ],
            "min": 1,
            "max": 3
          },
          "publish_date": {
            "kind": "date",
            "from": "2020-01-01",
            "to": "2023-12-31",
            "description": "The date the article was published.",
            "trend": "growing"
          },
          "category": {
            "kind": "enum",
            "values": [
              "technology",
              "health",
              "finance",
              "lifestyle"
            ],
            "description": "The category of the article.",
            "weights": [
              5,
              3,
              2,
              1
            ]
          }
        }
      },
      "readers": {
        "description": "This table captures information about readers who visit the publisher site. Some readers are anonymous.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each reader."
          },
          "is_anonymous": {
            "kind": "bool",
            "trueRate": 0.5,
            "description": "Indicates whether the reader is anonymous."
          },
          "age_group": {
            "kind": "enum",
            "values": [
              "under_18",
              "18_24",
              "25_34",
              "35_44",
              "45_plus"
            ],
            "description": "Age group of the reader.",
            "weights": [
              4,
              6,
              5,
              3,
              2
            ]
          },
          "country": {
            "kind": "country",
            "description": "Country where the reader is located."
          }
        }
      },
      "page_views": {
        "description": "This table logs each page view event, linking articles with readers and capturing essential metrics.",
        "rows": {
          "per": "articles",
          "via": "article_id",
          "min": 5,
          "max": 30,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each page view event."
          },
          "article_id": {
            "kind": "fk",
            "ref": "articles.id",
            "description": "Reference to the article being viewed."
          },
          "reader_id": {
            "kind": "fk",
            "ref": "readers.id",
            "nullable": true,
            "description": "Reference to the reader who viewed the article, can be null for anonymous views."
          },
          "view_time": {
            "kind": "decimal",
            "min": 0,
            "max": 300,
            "scale": 2,
            "description": "Time spent reading the article in seconds.",
            "distribution": "normal"
          },
          "referrer": {
            "kind": "enum",
            "values": [
              "direct",
              "search",
              "social_media",
              "email",
              "referral"
            ],
            "description": "Source from where the reader came to the article.",
            "weights": [
              7,
              4,
              3,
              2,
              1
            ]
          },
          "view_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Timestamp of when the page view occurred.",
            "dayProfile": "waking"
          }
        }
      },
      "subscriptions": {
        "description": "This table records subscriptions that follow page views, linking readers to their subscription status.",
        "rows": {
          "per": "readers",
          "via": "reader_id",
          "min": 0,
          "max": 1,
          "skew": "long-tail"
        },
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each subscription event."
          },
          "reader_id": {
            "kind": "fk",
            "ref": "readers.id",
            "description": "Reference to the reader who subscribed."
          },
          "subscription_date": {
            "kind": "datetime",
            "from": "2023-01-01",
            "to": "2023-12-31",
            "description": "Date when the subscription was made.",
            "dayProfile": "business"
          },
          "subscription_type": {
            "kind": "enum",
            "values": [
              "monthly",
              "annual"
            ],
            "description": "Type of subscription chosen by the reader.",
            "weights": [
              7,
              3
            ]
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "categorical",
      "nullable"
    ],
    "analysisQuestions": [
      "What articles generate the most page views?",
      "How do referrer sources impact page view engagement?",
      "Is there a correlation between read time and subscription rates?",
      "Which age groups are most likely to subscribe after reading an article?",
      "What is the average time spent on articles across different categories?"
    ],
    "suggestedQueries": [
      {
        "title": "Join page views with articles",
        "sql": "SELECT p.view_date, a.title FROM page_views p JOIN articles a ON p.article_id = a.id;",
        "dialect": "postgres"
      },
      {
        "title": "Count views by article category",
        "sql": "SELECT a.category, COUNT(p.id) FROM page_views p JOIN articles a ON p.article_id = a.id GROUP BY a.category;",
        "dialect": "postgres"
      },
      {
        "title": "Average read time by referrer",
        "sql": "SELECT p.referrer, AVG(p.view_time) FROM page_views p GROUP BY p.referrer;",
        "dialect": "postgres"
      },
      {
        "title": "Subscription rates by age group",
        "sql": "SELECT r.age_group, COUNT(s.id) FROM subscriptions s JOIN readers r ON s.reader_id = r.id GROUP BY r.age_group;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Content Optimization",
        "body": "Media analysts can use this dataset to identify which articles attract the most views and engagement. By analyzing referrer sources and reader demographics, they can tailor content strategies to improve reach and engagement rates."
      },
      {
        "title": "Subscription Analysis",
        "body": "Marketing teams can leverage this data to understand the conversion rates from page views to subscriptions. By examining the relationship between read time and subscription types, they can develop targeted campaigns to increase subscriber numbers."
      },
      {
        "title": "User Behavior Insights",
        "body": "Data scientists can explore patterns in reader behavior by analyzing how different age groups interact with the site. Understanding the preferences of anonymous versus identified readers can inform user experience improvements."
      },
      {
        "title": "Referrer Effectiveness Studies",
        "body": "Digital marketers can investigate the effectiveness of various referrer sources in driving traffic to articles. Evaluating page views from social media versus direct traffic can help allocate marketing resources more effectively."
      }
    ]
  },
  "counts": {
    "articles": 100,
    "readers": 300,
    "page_views": 1345,
    "subscriptions": 77
  },
  "stats": {
    "articles": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "title": {
          "nulls": 0,
          "distinct": 87
        },
        "publish_date": {
          "nulls": 0,
          "distinct": 96,
          "min": "2020-01-08",
          "max": "2023-12-11"
        },
        "category": {
          "nulls": 0,
          "distinct": 4,
          "min": "finance",
          "max": "technology"
        }
      }
    },
    "readers": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "is_anonymous": {
          "nulls": 0,
          "distinct": 2,
          "min": "false",
          "max": "true"
        },
        "age_group": {
          "nulls": 0,
          "distinct": 5,
          "min": "18_24",
          "max": "under_18"
        },
        "country": {
          "nulls": 0,
          "distinct": 43,
          "min": "Argentina",
          "max": "United States"
        }
      }
    },
    "page_views": {
      "rows": 1345,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 1345,
          "min": 1,
          "max": 1345
        },
        "article_id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "reader_id": {
          "nulls": 142,
          "distinct": 293,
          "min": 1,
          "max": 300
        },
        "view_time": {
          "nulls": 0,
          "distinct": 1294,
          "min": 30.96,
          "max": 279.32
        },
        "referrer": {
          "nulls": 0,
          "distinct": 5,
          "min": "direct",
          "max": "social_media"
        },
        "view_date": {
          "nulls": 0,
          "distinct": 1345,
          "min": "2023-01-01 12:40:33",
          "max": "2023-12-31 14:16:23"
        }
      }
    },
    "subscriptions": {
      "rows": 77,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 77,
          "min": 1,
          "max": 77
        },
        "reader_id": {
          "nulls": 0,
          "distinct": 77,
          "min": 8,
          "max": 299
        },
        "subscription_date": {
          "nulls": 0,
          "distinct": 77,
          "min": "2023-01-04 10:01:31",
          "max": "2023-12-28 13:52:22"
        },
        "subscription_type": {
          "nulls": 0,
          "distinct": 2,
          "min": "annual",
          "max": "monthly"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/articles.csv",
      "format": "csv",
      "table": "articles",
      "key": "datasets/article-page-views/v3/csv/articles.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/csv/articles.csv",
      "bytes": 4217,
      "sha256": "35a78589504beb4add0c7b493a6aeea31a26913f7a95365a6d11b665110bd77a",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/readers.csv",
      "format": "csv",
      "table": "readers",
      "key": "datasets/article-page-views/v3/csv/readers.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/csv/readers.csv",
      "bytes": 7817,
      "sha256": "bb1162b6f2e03291fdfc9d4579b8de0d8b08f94c3e6acf32e5e718eaf2b68477",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/page_views.csv",
      "format": "csv",
      "table": "page_views",
      "key": "datasets/article-page-views/v3/csv/page_views.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/csv/page_views.csv",
      "bytes": 62626,
      "sha256": "83eeaaa90dd0773b1b0760377db0710fe5573dc1031c0a6aad3b22e161915a15",
      "rows": 1345,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/subscriptions.csv",
      "format": "csv",
      "table": "subscriptions",
      "key": "datasets/article-page-views/v3/csv/subscriptions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/csv/subscriptions.csv",
      "bytes": 2762,
      "sha256": "907a143b7fd72e0dea1e5fe474d7d53df6e29b5223d028ae748075a66fc92318",
      "rows": 77,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "article-page-views.json",
      "format": "json",
      "table": null,
      "key": "datasets/article-page-views/v3/article-page-views.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/article-page-views.json",
      "bytes": 293387,
      "sha256": "a84da8360d65ade6a3ac6433bf23e1a208ce13dba70e7ef0439a76cfff36a051",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/article-page-views/v3/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/sql/postgres.sql",
      "bytes": 107378,
      "sha256": "5cb5f17051279460d418da26d63db5db82169ecaffd89750c297dfd89de369bb",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/article-page-views/v3/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/sql/mysql.sql",
      "bytes": 105885,
      "sha256": "fd756ab35fc52de4830d5486b6452ae9fe2ec8e17430b26a09b21c02085dc64c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/article-page-views/v3/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/sql/mssql.sql",
      "bytes": 109886,
      "sha256": "25d2b126069bb9d71163561ac90a8fb5215d51174654a3d21e9698a4174f772c",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/article-page-views/v3/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/sql/sqlite.sql",
      "bytes": 105706,
      "sha256": "ef0bc6ca8c1cb35ce8ef3ab06cd39f1da0e8e084d793d9dd8aab2c2310183dce",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/article-page-views/v3/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/prisma/seed.ts",
      "bytes": 240391,
      "sha256": "97fe855ea699e1096aa5d8eaeb9d04d50eba5d4f9834b26221d6cceb21a3285d",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/article-page-views/v3/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/article-page-views/v3/django/fixtures.json",
      "bytes": 370899,
      "sha256": "8f95b97ba37204b9464526a147a6f3aedc1f55cb3ba987126937bf563baa4587",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788767682854,
  "updatedAt": 1788782444853
}
