Data Modeling
Explain grain, partitions, facts, dimensions, marts, lineage, and why each table exists for analytics or ML use cases.
On this page
Core tables
Connect ERD, star schema, lineage, and table semantics in one place.
I explain the model by grain first, then facts and dimensions, then how each table is populated, partitioned, and consumed downstream.
Quick jumps
Click to jumpMonthly users
200M-250M
Docs use both 200M+ and 250M assumptions
Daily active users
80M
Used for heartbeat and Kafka math
Peak concurrency
15M
Useful for QoE and live ops workloads
Show the key data model interactively
Let users inspect the grain, columns, and examples rather than reading generic table descriptions.
Tables
Schema columns
fact_watch_session
Grain
One row per user-profile-content-device-session
Partition
event_date
Bucket
user_id or content_id depending workload
Use case
Official watch-time, completion, binge, QoE, and recommendation features.
watch_session_id
Surrogate session key for the trusted playback session grain.
Example query
SELECT content_id, SUM(total_watch_seconds) / 3600 AS watch_hours FROM gold.rpt_content_daily_metrics WHERE event_date = DATE '2026-06-21' GROUP BY 1 ORDER BY 2 DESC;
Interview follow-up
Show who writes each table and who reads it
This is the missing DE-specific visual that makes the platform feel intuitive.
Table population flow
Show how one event family becomes a trusted Gold metric.
video.heartbeat / playback events
Kafka playback topics
Bronze immutable raw events
Silver trusted playback session facts
Gold content and user metrics
BI dashboards + feature tables
Connect operational entities to analytical tables
Explain how source relationships become serving-friendly dimensions and facts.
Core entities
Behavioral facts
Published marts
Star schema visual
fact_watch_session
grain: one trusted playback session
dim_user
dim_profile
dim_content
dim_device
dim_date
Explain modeling by grain first
That keeps your answer senior and avoids column-by-column noise.
Say This In Interview
I explain the model by grain first, then facts and dimensions, then how each table is populated, partitioned, and consumed downstream.
30-second answer
FastI explain the model by grain first, then facts and dimensions, then how each table is populated, partitioned, and consumed downstream.
2-minute answer
BalancedExplain grain, partitions, facts, dimensions, marts, lineage, and why each table exists for analytics or ML use cases. Focus on MODELING, 9 min, Connect ERD, star schema, lineage, and table semantics in one place..
Deep answer
DeepI explain the model by grain first, then facts and dimensions, then how each table is populated, partitioned, and consumed downstream. Then go layer by layer through MODELING, 9 min, Connect ERD, star schema, lineage, and table semantics in one place., including trade-offs, failure handling, and why this shape is right for the consumer SLAs.
Last reviewed June 2026 Β· By Prasoon Parashar
Numbers are interview assumptions, not real Netflix internal figures.