๐ SQL Project Series #33 YouTube Channel Analytics ๐บAnalyze videos, creators, views, watch time, engagement, and subscriber growth using SQL to understand content performance and audience behavior.
๐ฏ Business Objectivesโ
Analyze video performance
โ
Track subscriber growth
โ
Measure audience engagement
โ
Identify top-performing content
โ
Compare video categories
โ
Analyze watch time
โ
Identify high-performing creators
โ
Discover the best publishing times
๐ Step 1: Create DatabaseCREATE DATABASE youtube_analytics_db;
USE youtube_analytics_db;
๐ Step 2: Create Channels TableCREATE TABLE channels (
channel_id INT PRIMARY KEY,
channel_name VARCHAR(100),
category VARCHAR(50),
country VARCHAR(50),
created_date DATE
);
๐ Step 3: Create Videos TableCREATE TABLE videos (
video_id INT PRIMARY KEY,
channel_id INT,
video_title VARCHAR(200),
category VARCHAR(50),
publish_date DATETIME,
duration_minutes DECIMAL(6,2),
views BIGINT,
likes INT,
comments INT,
shares INT,
FOREIGN KEY (channel_id)
REFERENCES channels(channel_id)
);
๐ Step 4: Create Subscribers TableCREATE TABLE subscribers (
subscriber_id INT PRIMARY KEY,
channel_id INT,
subscribe_date DATE,
unsubscribe_date DATE,
FOREIGN KEY (channel_id)
REFERENCES channels(channel_id)
);
๐ Step 5: Insert Sample ChannelsINSERT INTO channels VALUES
(1,'Data Simplifier','Education','India','2023-01-10'),
(2,'Tech World','Technology','India','2022-08-15'),
(3,'Finance Explained','Finance','USA','2021-05-20'),
(4,'Travel Diaries','Travel','India','2023-04-12');
๐ Step 6: Insert Sample VideosINSERT INTO videos VALUES
(101,1,'SQL Interview Questions','Education','2025-01-05 10:00:00',12,15000,900,120,80),
(102,1,'Power BI Dashboard Tutorial','Education','2025-01-08 18:00:00',18,22000,1400,180,150),
(103,2,'Best AI Tools','Technology','2025-01-10 12:00:00',10,35000,2800,310,420),
(104,3,'How to Invest','Finance','2025-01-12 09:00:00',15,28000,2100,250,300),
(105,4,'Top Places in India','Travel','2025-01-15 20:00:00',14,19000,1300,170,200);
๐ Step 7: Insert Sample SubscribersINSERT INTO subscribers VALUES
(1001,1,'2025-01-01',NULL),
(1002,1,'2025-01-03',NULL),
(1003,1,'2025-01-05','2025-03-01'),
(1004,2,'2025-01-02',NULL),
(1005,3,'2025-01-04',NULL),
(1006,4,'2025-01-10',NULL);
๐ง SQL Concepts You'll Practiceโ Joins
โ GROUP BY
โ HAVING
โ CASE WHEN
โ CTEs
โ Subqueries
โ Window Functions
โ Ranking
โ Date & Time Functions
โ Conditional Aggregation
๐ Business KPIs You Can Build๐ Total Channels
๐ Total Videos
๐ Total Views
๐ Total Likes
๐ Total Comments
๐ Total Shares
๐ Total Subscribers
๐ Subscriber Growth Rate
๐ Subscriber Churn Rate
๐ Average Views per Video
๐ Average Likes per Video
๐ Average Comments per Video
๐ Engagement Rate
๐ Like-to-View Ratio
๐ Comment-to-View Ratio
๐ Share-to-View Ratio
๐ Watch Time
๐ Average Video Duration
๐ Top 10 Videos by Views
๐ Top Videos by Engagement
๐ Top Performing Categories
๐ Channel-wise Performance
๐ Views by Publishing Day
๐ Views by Publishing Hour
๐ Monthly Views Growth
๐ Subscriber Growth by Month
๐ Content Performance Dashboard
๐ก Example 1: Find Top 5 Videos by ViewsSELECT
video_title,
views
FROM videos
ORDER BY views DESC
LIMIT 5;
๐ก Example 2: Calculate Engagement RateSELECT
video_title,
views,
likes,
comments,
shares,
ROUND(
100.0 * (likes + comments + shares) / NULLIF(views, 0),
2
) AS engagement_rate
FROM videos
ORDER BY engagement_rate DESC;
๐ก Example 3: Find Top Video in Each Category