Design the data model and high-level system that Netflix uses to run millions of concurrent marketing experiments (campaigns) across 200 M+ members. A campaign is an A/B test that targets a logical audience (e.g. “users who watched ≥ 3 Korean titles in the last 30 days”), assigns each member to one of several variants (promo tiles, trailers, price-points, etc.), and measures conversions (streams, upgrades, etc.) inside a fixed attribution window. The system must guarantee that (1) the same member always sees the same variant for the same campaign (deterministic, reproducible), (2) campaigns can be launched, paused or mutated without stopping the world, (3) audience membership is evaluated in real time as new events arrive, (4) attribution is accurate even if conversions happen hours or days later, and (5) all raw events and derived assignments are available for offline analytics. You do not need to design the delivery path (CDN, UI) or the ML that chooses which campaign to show; focus on the campaign-catalog service, the audience-evaluation engine, the assignment service, and the attribution pipeline. Start with the logical data model (tables/relations or protobuf/Avro schemas), then sketch the service topology and the flow of events from Netflix client → assignment → impression → conversion → attribution row. Be explicit about how you materialize audiences, how you compute variant assignment deterministically, how you join conversions back to assignments at scale, and how you keep the system eventually consistent when a campaign is updated mid-flight.