PARTITION BY Clause & Window Definition: Real-World
Module: Window Functions
PARTITION BY is the foundation of advanced analytics in every major company. Netflix uses it to analyze viewing patterns by user demographics (PARTITION BY age_group, country), calculating average watch time per group while keeping individual user data. Amazon partitions sales data by product category and region to compute running totals and rankings within each segment. Goldman Sachs partitions trading data by asset class and trading desk to calculate risk metrics and performance rankings. Spotify partitions listening data by genre and user type to generate personalized recommendations. The key advantage: you get group-level insights while preserving row-level detail, eliminating the need for complex joins between aggregated and detailed data.
Netflix Content Analytics - Multi-dimensional Partitioning
Netflix analyzes viewing patterns across different dimensions to optimize content recommendations and acquisition strategies. Need to analyze viewing metrics by user demographics, content genres, and time periods simultaneously while preserving individual viewing session details.
-- Netflix-style content analytics
SELECT
user_id,
content_id,
genre,
user_age_group,
country,
watch_duration_minutes,
session_date,
-- Genre performance by demographics
AVG(watch_duration_minutes) OVER (
PARTITION BY genre, user_age_group, country
) as demographic_genre_avg,
-- User behavior within genre
SUM(watch_duration_minutes) OVER (
PARTITION BY user_id, genre
ORDER BY session_date
ROWS UNBOUNDED PRECEDING
) as user_genre_total_time,
-- Content popularity ranking
RANK() OVER (
PARTITION BY genre, country
ORDER BY watch_duration_minutes DESC
) as content_popularity_rank,
-- Monthly cohort analysis
AVG(watch_duration_minutes) OVER (
PARTITION BY DATE_TRUNC('month', session_date), user_age_group
) as monthly_cohort_avg
FROM viewing_sessions
WHERE session_date >= CURRENT_DATE - INTERVAL '90 days'
ORDER BY session_date DESC, watch_duration_minutes DESC;
This analysis helps Netflix understand content performance across different user segments, optimize recommendation algorithms, and make data-driven content acquisition decisions. The multi-dimensional partitioning reveals patterns like "Action movies perform 40% better with 18-25 age group in US vs UK".
Optimizes content recommendation algorithms
Drives data-driven content acquisition decisions
Reveals demographic viewing patterns
Improves user engagement and retention
All