IE437 · Assignment 1 Case Study

Audience
Digital Twin

Individual choices drive
movie demand forecasts and programming simulation

Phase 1 — Bottom-up Demand Prediction
Phase 2 — Choice Simulation & Programming Optimization
Individual→ Aggregate→ Choice→ Optimize
IE437Assignment 1Classroom edition
→ / Space Next · ← Previous · F Fullscreen · P Print
02Executive Summary

People want different movies; the schedule changes what they watch.
Simulate their choices to find better programming.

01 · Want

Who wants to
watch this movie?

Predict each viewer's desire for a movie from their viewing history and tastes.

USER 1,842 · MOVIE DESIRE
Movie A82%
Movie B47%
Movie C18%
02 · Can

Is there a
suitable showtime?

Theater, time, format, distance and price affect the opportunity to attend.

CURRENT SCHEDULE · SUITABLE SHOWTIME?
A 14:00 / 21:40Poor fit
B 19:10Great fit
C 17:00Medium
03 · Choose

What do they
actually watch?

Simulate the choice among A / B / C / No Movie, then aggregate attendance.

ACTUAL CHOICE THIS EVENING
Movie B48%
Movie A23%
No Movie23%
04 · Optimize

Which schedule
should we use?

Change the schedule and simulate the same audience repeatedly to find a better plan.

+ ADD MOVIE A AT 19:00
Movie A61% ↑
Movie B22% ↓
No Movie12% ↓
AUDIENCE DIGITAL TWIN A system that compares the results of giving different schedules to the same audience
Phase 1 models the audience; Phase 2 changes only the schedule to simulate how that same audience responds.
Cinema AUDIENCE DIGITAL TWIN · WANT → CAN → CHOOSE → OPTIMIZE
03 Planning horizons

Plan a movie portfolio with a demand outlook that updates
across three forecast horizons

① Annual lineup · Aug–Sep

Initial total audience outlook

  • 50–60 key movies for next year
  • Limited advance information
② 1–2 months before release

Updated demand forecast

  • Posters · trailers
  • Awareness · buzz · marketing signals
③ About 2 weeks before release

Final forecast update

  • Advance bookings · searches · clicks
  • Viewing intent · latest response
The same Audience Twin updates its belief as new evidence arrives, instead of creating three separate models.
03 · CASE PLANNING CADENCE · ANNUAL → PRE-RELEASE → BOOKINGS
04 Reference forecasting approach

A movie-level baseline estimates total demand directly from movie features:
a top-down forecast

Genre · director · cast
IP · studio · past box office
→
Forecast Model
→
5.0M
Top-down
MOVIE-LEVEL FEATURE FORECAST
  • Fast and intuitive
  • Suitable for annual planning
  • An important baseline
  • However, it does not directly model individual choices
04 · MOVIE-FEATURE BASELINE · ILLUSTRATIVE FORECAST
04A Limits of movie-level regression

With a limited movie-level sample,
new combinations are difficult to forecast

Training samples for movie-level regression
300–600example films
Illustrative training size; many genre, cast, director and IP features
VS
Bottom-up viewer × movie observations
400,000+example pairs
Viewer–movie interactions across linked histories
  • Hundreds of samples + dozens of features → risk of overfitting and unstable extrapolation to new combinations such as a new director and new IP
  • With few samples, prediction intervals are themselves unstable; even the appropriate interval width is hard to estimate reliably
  • One or two outliers, such as a blockbuster or major flop, can distort all regression coefficients.
Viewer × movie observations add behavioral detail. Test whether that detail improves forecasts on later movies.
04A · SMALL-N REGRESSION · WHY BOTTOM-UP
05 The change in perspective
A different question:
“How many people will watch?” → “Who will watch this movie?”
VIEWER × MOVIE · DESIRE TO WATCH Movie AMovie BMovie C
User 1,84282%47%18%
User 4,41014%73%32%
User 9,07761%44%18%
… User N………
No schedule is included yet. This step measures desire for the movie itself.
Σ
→
Σ INDIVIDUAL CHOICE
MOVIE A · ALL MEMBERS
4.7M EXPECTED AUDIENCE

Total demand is generated by adding individual viewers' choices.

Total attendance is generated from the sum of individual choices rather than predicted as a single number.
05 · MOVIE-LEVEL → INDIVIDUAL-LEVEL · SYNTHETIC EXAMPLE
06 Audience Digital Twin definition

An Audience Digital Twin is a virtual population
with each viewer's own “memory”

WHAT

What have they watched recently?

Viewing history and movie ratings

2 recent SF movies · 1 action movie last month
AUDIENCE TWIN
1,842
User 1,842
SF · action 9 visits / year Weekdays 18:00–21:00 Cinema near home IMAX

That memory informs “What will this person choose next?”.

WHEN

How often do they attend?

Visit frequency and recency; expected frequency, not a fixed interval

9 visits / year · last visit 12 days ago
WHERE / HOW

Which theater, time and format do they prefer?

Theater · region · time · format · companions · price sensitivity

Cinema near home · weekday evenings · IMAX
Each member's memory is read by one shared model to calculate individual choices, rather than a separate AI for every member.
06 · AGENT-BASED AUDIENCE MICROSIMULATION
07 Inputs for individual audience modeling

Link viewing history, audience feedback
and movie information to model choices

User History
  • Which movie they watched
  • When they watched
  • Where they watched
  • Which format they chose
  • Who they attended with
Preference / Feedback
  • Ratings
  • Reviews
  • Post-viewing satisfaction
  • Interest · watchlists
  • Clicks · searches · trailer views
Movie / Market
  • Genre · cast · director
  • Synopsis · poster · trailer
  • Awareness · buzz
  • Advance bookings
Linked histories connect movie content to viewer preferences; time and theater information then support the choice model.
07 · REQUIRED INPUTS · HISTORY + FEEDBACK + CONTENT
08Feedback Loop

Lightweight feedback after a visit
can fill gaps in taste information

Watch a movie
→
“How was it?”
→
Quick rating · brief feedback
→
Small incentive
→
Update the taste model
  • Avoid requiring long reviews for every movie
  • Focus on 1–3 questions
  • Active feedback can target questions with high information value
  • Account for low-effort responses made only to earn a coupon
Viewing history tells us what they watched; feedback tells us why they liked it.
08 · LIGHTWEIGHT FEEDBACK
09Phase 1 · WANT

Phase 1 reads movie desire from a person's history
and adds all viewers' choices to forecast attendance

User History
1,842User 1,842 9 visits / year · SF · action
Past 12 months · 7 movies · last 2 movies were SF

Viewing history changes the probability of choosing the next movie over time.

→
Movie Desire · WANT

Which movie does this person
want to watch?

Movie A82%
Movie B47%
Movie C18%

Use taste, content and recent history to calculate desire for each movie. New movies can enter through content alone.

→
Daily Choice Simulation

Each day during the theatrical run:
“Watch or skip; which movie?”

D1D2D3D4AD6D7…
After watching, desire for that movie becomes 0; a brief recovery period follows

Desire does not mean watching every day. Simulate multiple paths, accounting for visit frequency and competing movies, to predict when and what they will watch.

→
Population Sum · AGGREGATE

Add the choices of
all viewers

4.7MMOVIE A · EXPECTED AUDIENCE

Individual choices generate attendance by movie, date and region.

Start with a simple, testable baseline. Adopt a more complex history model only when it delivers verified improvement. Step-by-step sampling: next slide · Equations: Appendix A13
09 · PHASE 1 · DESIRE → DAILY CHOICE → POPULATION SUM · SYNTHETIC EXAMPLE
09ASampling Process · Step by Step

One person's year is 365 daily draws: compute desire once, then draw one daily choice

STEP 1 · ONCE

Viewer × movie desire table

Calculate and store desire for every eligible movie, independent of dates and schedules

STEP 2 · DAILY

Today's intensity λ

Only movies showing today and not yet watched: desire × release kernel × post-visit recovery

STEP 3 · DAILY

One joint draw

Choose one of {No Movie, A, B, C…}; do not draw separately for each movie

STEP 4 · DAILY

Update state → next day

Watched movie: λ=0; attendance intensity recovers over several days

STEP 5 · REPEAT PATHS

K paths → probabilities → aggregate

Share of paths watching A = Pᵤ(A); aggregate across viewers = attendance

STEP 1 · DESIRE TABLE (USER 1,842)
Movie A82 Day 1 release · SF Movie B47 Day 1 release · romance Movie C18 Day 15 release · action
Calculate once. Keep low-desire movies: they may still be chosen with a low probability.
DAY 1 NOW SHOWING: A · B WEEK 1
② Intensity λ for movies available today Desire × release kernel × post-visit recovery
③ One daily roulette draw Each segment's width is its probability. One random value selects today's outcome.
④ Record outcome → update state
Press ▶ to start at DAY 1 → Record in calendar
Path 1 · four-week (28-day) example
FOUR WEEKS ON THIS PATH · ONE CELL PER DAY
No Movie Watch A Watch B Watch C
⑤ Repeat paths (20–50 in practice)
Pᵤ(A within 4 weeks) = paths watching A ÷ all paths — Updates after each completed path
Attendance is calculated by weighting each person's share of paths that watched the movie, rather than counting one sampled choice per person. After a visit, desire becomes 0. Nine visits per year is an expectation, not a quota.
09A · DAILY JOINT DRAW → PATH AVERAGE → POPULATION SUM · ILLUSTRATIVE PATH
10 3 horizons · 1 model · Bayesian update

New evidence updates the same Audience Twin's belief
and narrows the forecast interval

SELECT HORIZON
ACCUMULATED EVIDENCE
    BAYESIAN UPDATE
    Posterior ∝ Prior × Likelihood (new evidence)

    The previous forecast remains the prior. Additional evidence from posters, buzz and advance bookings updates that belief. Stronger evidence narrows the posterior.

    EXPECTED AUDIENCE (NATIONWIDE EQUIVALENT)
    3.6M[2.5M, 5.0M]
    Prior (previous belief) Posterior (current horizon) 90% forecast interval
    New evidence updates the same distribution for the same model and population, instead of creating three separate models.
    10 · PROPOSED FORECAST UPDATES · SYNTHETIC EXAMPLE
    11New Movie Cold Start

    Place a new movie's content in the existing movie space
    to forecast it before anyone has watched

    Genre Cast Director IP SynopsisPosterTrailer Pre-release buzz
    A new movie's initial forecast is driven by content. Actual audience signals gain weight as release approaches.
    11 · MOVIE REPRESENTATION SPACE
    11ATemporal Point Process

    A person's viewing history is a sequence of events over time.
    History creates intensity λ, which determines the next movie choice

    Jan Apr Jul Oct Dec VIEWING EVENTS Hᵤ(t) · ONE PERSON'S YEAR 2 recent SF movies in a row ◎ New A viewed (joint draw) Movie viewing intensity λᵤₘ(t | Hᵤ) (events/day) ② SF graph propagation → λ_A ≫ λ_B g(Hᵤ,A) = Σᵥ G_Aᵥ · zᵤᵥ(t) zᵤᵥ: decay between events; GRU on visit Before release: λ = 0 (eligible = 0) ① Release → kₘ(d) on Pᵤ,d(A) = (1−e^−L) · λ_A / L Viewed → λ_A = 0 (ineligible) ③ rᵤ falls after visit, then recovers B (romance) · λ_B Visit dip → recovery B released
    SF Action Drama λ_A New movie A (SF) λ_B New movie B (romance) ◎ = simulated viewing event
    ① WHEN / HOW OFTEN · VISIT FREQUENCY
    aᵤ + rᵤ(gap) = min(1, gap / recovery daysᵤ)

    Annual propensity fᵤ enters as intercept aᵤ. Recovery term r suppresses an immediate return. Ten visits a year is an expectation, not a quota. Attractive releases can shorten the interval.

    ② WHAT · CONTENT FIT + HISTORY STATE
    λᵤₘ = softplus(aᵤ + sᵤₘ + g(Hᵤ, m)) · kₘ(d) · rᵤ(gap)

    sᵤₘ measures taste–content fit; g(Hᵤ,m) = Σᵥ Gₘᵥ·zᵤᵥ(t) captures history propagated from recently watched similar movie nodes. zᵤᵥ decays between events and is updated by a GRU on a visit. The effect can reinforce taste or suppress intensity through fatigue.

    ③ NEXT VIEWING EVENT · TIME AND MOVIE TOGETHER
    Λ(t) = Σₘ λₘ(t | Hₜ),  S(t) = exp(−∫τt Λ)
    P(next = m, t ∈ [a,b)) = ∫ab S(t) · λₘ(t) dt

    “When” is the survival function S(t); “what” is the instantaneous share λₘ/Λ. They form one distribution. With daily constant intensity, this becomes S18A's (1−e −L )·λₘ/L.

    M0 (baseline) starts with frequency and intervals as the history term in ②, keeping it interpretable without learning. M1 (research model) extends it with graph history state g(Hᵤ,m). Compare both models on held-out data (A12).
    11A · PROPOSED M1 EXTENSION · HISTORY-DEPENDENT INTENSITY
    12 Individual prediction demo · WANT

    One viewer: which movie do they want to watch?

    SELECT VIEWER
    1,842User 1,842
    VIEWING HISTORY · PAST 12 MONTHS
    SF Action Drama · romance ◎ Similar to new movie A
    Want · Movie Desire Movie appeal independent of the schedule · Color = genre, matching the history dots
    Movie A New SF movie 82%
    Movie B Romance 47%
    Movie C Action · 4DX 18%
    EVIDENCE RAISING DESIRE FOR A
      EVIDENCE LOWERING DESIRE
        Movie desire comes first. Phase 2 adds suitable showtimes (CAN) and recalculates actual choice (CHOOSE).
        12 · INDIVIDUAL MOVIE DESIRE · SYNTHETIC EXAMPLE
        13Individual → Market

        Add the choices of 10,000 Audience Twins
        to forecast attendance by movie and date

        USER CHOICE PROBABILITY · MOVIE A
        High likelihood Medium Low
        Σ 10,000 AUDIENCE TWINS
        ADD EVERY
        VIEWER'S CHOICES
        →MARKET DEMAND
        4.7M PREDICTED TOTAL AUDIENCE · NEW MOVIE A
        DAILY ATTENDANCE · MOVIE A · RELEASE SPIKE, WEEKEND REBOUND AND DECAY
        Release Week 2 Week 3
        Attendance during the run = Σ each viewer's probability of watching A
        Add individual probabilities for total attendance, applying member-to-market weights (S14)
        Attendance on a date = Σ each viewer's probability of choosing A that day
        Release spikes, weekend rebounds and decay arise from aggregated individual choices. Equations: A13.
        EXPECTED AUDIENCE SEGMENTS
        Age Group Region Visit Frequency Weekday / Weekend Premium Format Affinity
        The same 10,000 viewers and choice model are reused in Phase 2 programming optimization, recalculating this aggregate for every candidate schedule.
        Break down the aggregate by viewer segment and date to understand where predicted demand comes from.
        13 · WEIGHTED AGGREGATION · SYNTHETIC MARKET EXAMPLE
        14Market Calibration

        Cinema member forecasts are not automatically nationwide attendance

        Member-level
        Bottom-up Demand

        • Sum of individual member propensities
        →

        Population
        Calibration

        • Cinema member penetration
        • Non-member attendance
        • Regional market share
        • Age · gender · visit-frequency differences
        • Cinema share by movie type
        →

        Market-level
        Audience Forecast

        • Nationwide equivalent attendance
        Separate individual modeling from market calibration
        before interpreting the aggregate as market demand
        14 · MEMBER → MARKET
        15Uncertainty

        Provide a forecast and its uncertainty together

        Annual Aug–Sep
        3.6M [2.5M–5.0M]
        T-1~2M Posters · trailers
        4.2M [3.5M–4.9M]
        T-2W Advance bookings · searches
        4.5M [4.1M–4.9M]
        For annual planning, quantifying uncertainty is more useful than forcing false precision.
        15 · FORECAST + UNCERTAINTY · SYNTHETIC EXAMPLE
        16Phase 1 Validation

        Validate Phase 1 through historical backtesting

        01

        Select past movies

        Choose released movies with known outcomes for validation.

        02 · PREVENT LEAKAGE

        Hide information after
        the forecast date

        Mask all information learned after the selected forecast cutoff.

        03

        Use history available
        at that time

        Build the Twin only from history available at the forecast date.

        04

        Calculate individual movie desire

        Store each member's desire for each movie.

        05

        Aggregate demand

        Aggregate daily movie choices to forecast attendance.

        06 · COMPARE

        Reveal actual attendance

        Measure error by comparing forecasts with actual outcomes.

        REPEAT CONDITIONS
        AnnualT-1~2MT-2W

        Repeat at each horizon to test whether error falls as information increases.

        COMPARISON BASELINES
        Existing feature-based forecast simple genre / actor similaritypopularity baselineAudience Twin

        Test whether the Audience Twin consistently lowers error versus all three baselines.

        Reforecast using only information available at the time, without looking ahead at outcomes.
        16 · LEAKAGE-SAFE BACKTEST
        17Phase 1 KPI

        Phase 1 aims to provide more reliable decision support
        than the existing forecast

        Accuracy
        • MAE / WMAPE
        • Ranking Accuracy
        Calibration
        • Over/Under Prediction Bias
        • Interval Coverage
        Stability
        • Genre · scale · release season
        • New franchise vs established IP
        • Segment Consistency
        Business Utility
        • Better ranking across a 50–60 movie portfolio
        • Revision quality by forecast horizon
        17 · MODEL · DECISION · BUSINESS KPI
        17AThe Missing Piece

        Wanting to watch and actually attending are different

        1,842User 1,842 SF / action · 9 visits / year · weekdays 18:00–21:00 · nearby Cinema (Site A) · IMAX
        Want MOVIE APPEAL
        Movie A ♥82%
        Movie B47%
        Movie C18%
        “I want to watch A most.”
        +
        Can CURRENT SCHEDULE · Cinema SITE A · TODAY
        Movie A14:00 · 21:40 · 2DPOOR FIT At work / too late · no IMAX
        Movie B19:10 · 2DGREAT FIT Just after work · near home
        Movie C17:00 · 4DXMEDIUM Slightly early
        “A has no suitable showtime.”
        =
        Actual Choice ACTUAL CHOICE PROBABILITY THIS EVENING
        Movie B48%
        Movie A23%
        Movie C6%
        No Movie23%
        They watch B, or skip the cinema, rather than watch their first choice A.
        Movie appeal alone cannot explain actual attendance. Programming changes choices.
        17A · POTENTIAL ≠ REALIZED · BRIDGE TO PHASE 2
        17BPhase 2 Framework

        Without a suitable showtime, desire may not become a visit.
        Phase 2 repeats these five steps for each schedule

        PHASE 1
        ① Want

        Which movie does this person
        want to watch?

        Viewer history + movie content → desire for each movie

        USER 1,842
        Movie A82%
        Movie B47%
        Movie C18%
        Independent of schedule · calculated once and reused
        PHASE 2
        ② Can

        Can they attend
        a suitable showtime?

        Theater · Distance · Showtime · Format · Price → Schedule Accessibility

        Current schedule · today
        A 14:00 / 21:40Poor
        B 19:10Great
        C 17:00Medium
        Recalculate whenever the schedule changes
        PHASE 2
        ③ Choose

        What does this person
        actually choose?

        One of A / B / C / No Movie, considering both desire and schedule

        Actual choice probability
        Movie B48%
        Movie A23%
        No Movie23%
        May differ from their most desired movie
        PHASE 2
        ④ Aggregate

        Add the choices of
        all viewers

        → Attendance · revenue · theater / time demand

        Σ 10,000 TWINS
        Attendance31,420
        Revenue units410M units
        Site A at 19:00 1,240
        All 10,000 Twins · the same population
        PHASE 2
        ⑤ Optimize

        Change the schedule and
        resimulate the same audience

        → Find better programming

        + MOVIE A 19:00
        Movie A61% ↑
        No Movie12% ↓
        Attendance+2,760
        Schedule → Response → Outcome → Better Schedule
        Return from ⑤ to ② and repeat ↺
        Phase 1 builds WANT; Phase 2 repeats CAN → CHOOSE → AGGREGATE for each schedule to OPTIMIZE.
        17B · WANT → CAN → CHOOSE → AGGREGATE → OPTIMIZE · SYNTHETIC EXAMPLE
        18 Phase 1 to Phase 2

        Phase 2 extends the same audience model
        with scheduling conditions

        Same AudienceDifferent ScheduleDifferent Choice
        Movie Desire WANT
        Movie A82
        Movie B47
        Movie C18
        Estimated in Phase 1 · schedule-independent · reused unchanged
        →
        1,842User 1,842 Same person · same memory
        Realized Choice CHOOSE · THIS EVENING
        Movie A24%
        Movie B51%
        Movie C8%
        No Movie17%
        ←
        Schedule Accessibility CAN
        Movie A 14:00 · 21:4030
        Movie B 19:1090
        Movie C 17:00 4DX45
        Changes with programming: theater · distance · time · format · price
        Same audience + different schedule = different realized demand
        Keep Phase 1's WANT and add schedule-specific CAN to recalculate CHOOSE. The audience model is reused.
        18 · SAME AUDIENCE · DIFFERENT SCHEDULE · DIFFERENT CHOICE
        18A Attendance opportunity model

        Preference and attendance share one joint distribution

        Desire for each movie Independent of dates and showtimes
        →
        Accounts for the theatrical run, competing movies and visit intervals
        →
        TODAY'S JOINT PROBABILITIES
        Choose movie m Compete with movies showing now → choose theater / showtime → assign seat → update last visit
        No Movie Determined in the same distribution, with no second draw; defer to a future opportunity
        L(today) = Σₘ λₘ(today) : total intensity across movies showing today. λₘ is the history-dependent intensity λᵤₘ(d | Hᵤ) in S11A
        P(No Movie) = exp(−L)    P(movie m) = (1−exp(−L)) × λₘ/L
        Attendance and movie choice come from one joint distribution using the same intensities λ, rather than two independently adjusted models or double multiplication of probabilities. Ten visits a year is an expectation, not a fixed quota.
        Attractive new releases shorten visit intervals; a weak lineup delays the next visit. The Twin is not forced to choose a movie every week.
        18A · JOINT VISIT-CHOICE DISTRIBUTION
        18B Movie desire to programming pipeline

        Four steps connect movie desire to a better schedule

        01Movie desire (static) Taste · content · visit frequency → date-independent intensity M0 workflow
        →
        02Phase 1-A potential demand Theatrical run · competing movies · daily travel patterns M0 workflow
        →
        03Phase 1-B baseline schedule Place showtimes within operating constraints M0 workflow
        →
        04Phase 2 local improvement Reforecast the same population · repeat M0 workflow
        Runnable M0 demonstrator · movie inputs → potential demand → baseline → local improvement
        Start from the demand-based schedule, then compare feasible changes using the same synthetic audience.
        18B · MOVIE-FIRST M0 PIPELINE · LEARNED M1 IS A PROPOSED EXTENSION
        18C Reusable simulator components

        Population, seats and history
        support the same operating loop

        01 · Annual schedule input 200 movies · 32,850 screenings · 6 theaters / 30 screens
        02 · Annual results dashboard 107,359 annual visits · 9,996 / 10,000 visitors
        03 · Viewer timeline Today's visit probability 0.56% × conditional movie choice
        04 · Screenings and confirmed bookings Screening assignments · 24h / 48h freeze policy
        Reuse population, seat assignment and state tracking while changing the movie-choice model.
        18C · EARLIER PROTOTYPE SCHEMATICS · REUSABLE COMPONENTS
        19Choice Set · CAN → CHOOSE

        Viewers choose movie × theater × showtime combinations.
        Compare all options available to User 1,842 this evening

        Same AudienceDifferent ScheduleDifferent Choice
        MOVIETHEATER · TIME · FORMATUTILITY (WANT + CAN)
        1Movie A Site A · 18:30 · IMAX Preferred theater · time · format 8.7
        2Movie A Site B · 21:40 · 2D Distant theater · late time 5.2
        3Movie B Site C · 19:10 · 2D Lower desire, but a good time 7.9
        4Movie C Site A · 20:00 · 4DX Low desire 3.8
        5No Movie No Movie today Defer to a future opportunity (outside option) 6.1
        Choice Probability Combine showtimes for the same movie:
        Movie A43%
        Movie B31%
        Movie C5%
        No Movie21%
        A ranks first because its 18:30 IMAX screening is available. Without it (S17A), B ranks first and No Movie rises. Showtimes change the movie choice itself. Calculation is hierarchical: movie → showtime. Showtime quality feeds back into the movie probability (A13).
        Movie choice and showtime choice are connected: a good showtime can attract someone to a less desired movie; without one, they may abandon their first choice.
        19 · MOVIE × THEATER × SHOWTIME × NO MOVIE · SYNTHETIC EXAMPLE
        20 How regional and time demand emerges

        Regional and time demand emerges without allocation rules

        EXISTING · TOP-DOWN ALLOCATION
        Nationwide 5.0M → Seoul 25% → Site A 4% → Evening 35%

        Predefined allocation ratios divide total demand after forecasting.

        Audience Twin · BOTTOM-UP

        Each viewer directly chooses based on region, theater, distance, time and format preferences.

        Regional and time demand emerges from audience choices, rather than predefined allocation rules.
        20 · BOTTOM-UP SITE / TIME DEMAND
        21Before / After Programming

        Adding one screening changes the same person's choices

        Same AudienceDifferent ScheduleDifferent Choice
        BEFORE
        1,842User 1,842 A is the first choice ♥ 82% · prefers weekdays 18:00–21:00
        Movie A14:0021:40
        Movie B19:00
        10:0014:0018:0022:00
        Choice
        Movie A23%
        Movie B48%
        No Movie23%
        PROGRAMMING CHANGE+ Movie A
        19:00
        →
        Same person · same memory
        CHANGE SCHEDULE ONLY
        AFTER
        1,842User 1,842 Same person; only the schedule changes
        Movie A14:0019:0021:40
        Movie B19:00
        10:0014:0018:0022:00
        Choice
        Movie A61%↑ +38
        Movie B22%↓ −26
        No Movie12%↓ −11
        Programming changes choice probabilities themselves, instead of allocating fixed demand.
        When programming changes, the same person may choose a different movie or make a new visit. Phase 2's response model is the choice model itself.
        21 · SAME AUDIENCE, DIFFERENT SCHEDULE · SYNTHETIC EXAMPLE
        22Schedule A/B Simulation

        Apply different schedules to the same 10,000 viewers
        to see whose choices changed and why attendance increased

        Same AudienceDifferent ScheduleDifferent Choice
        SELECT SCHEDULE
        SCHEDULE FEATURES
        Attendance31,420
        Revenue units410M units
        Audience Movement · vs Schedule A
        A new visit = higher total attendance A switch between movies = unchanged total attendance
        Synthetic illustration · revenue in example units
        22 · HERO · SCHEDULE A/B · WHY ATTENDANCE MOVED
        23Programming Optimization

        The optimizer repeatedly calls the Digital Twin
        to search for a better schedule

        ① Change schedule
        →
        ② Rerun the same 10,000 viewers
        →
        ③ Calculate choice changes
        →
        ④ Calculate attendance / revenue
        →
        ⑤ Adopt a better schedule
        ↺
        CONSTRAINTS
        Operating hours RuntimeCleaning Screen QuotaFormat Compatibility Booking LockProgramming RulesStability Penalty
        Demand-based baseline schedule (Phase 1-B)
        Same population of 10,000 viewers Same population used in Phase 1 estimation
        Cumulative evaluations 10,000 viewer-runs
        SYNTHETIC AUDIENCE SCORE 4,820candidate 1/6
        10:0014:4019:2024:00
        Movie A Movie B Movie C ■ Purple border = screening changed in this step
        ILLUSTRATIVE SEARCH TRAJECTORY · SIX CANDIDATES
        Schedule → Audience Response → Outcome → Better Schedule. Search feasible changes, retain the best candidate explored, and compare it with the reference schedule.
        23 · SCHEDULE → RESPONSE → OUTCOME → BETTER SCHEDULE · ILLUSTRATIVE SEARCH
        25Dynamic Re-programming

        Update the audience response
        and revise eligible future screenings

        Same AudienceDifferent ScheduleDifferent Choice
        SELECT TIMING
        • · Booked showtimes frozen
        • · Future schedule only
        • · Stability threshold
        • · Human approval initially
        FUTURE SCHEDULE WINDOW
        25 · REVISE FUTURE SCREENINGS · ILLUSTRATIVE OPERATING LOOP
        24 Integrating audience forecasts with programming

        Use the same audience forecasts
        with existing programming or a reference optimizer

        Audience Digital Twin / Prediction API
        A. Existing programming

        Feed audience forecasts into the current schedule workflow.

        B. Reference Optimizer

        Evaluate alternative schedules with the same Audience Score.

        Compare both programming paths against the same inputs, rules and outcome measures.
        24 · SAME PREDICTION · DECISION BENCHMARK
        26 Two-phase project definition

        Both phases extend the same Audience Intelligence asset
        in sequence

        Phase 1
        Audience Digital Twin for Demand Prediction

        • Individual Propensity
        • 3 Prediction Horizons
        • Total Market Calibration
        • Historical Backtest
        • Prototype API
        GATE

        Phase 2
        Choice Simulation & Programming Intelligence

        • Theater / Time / Format Choice
        • Visit model based on frequency and intervals
        • Annual release and theatrical-run simulation
        • Schedule A/B Simulation
        • Reference Optimizer
        • Dynamic Re-programming Prototype
        Phase 1's audience model is reused as Phase 2's core asset.
        26 · GATE: FORECAST PERFORMANCE · CALIBRATION · BUSINESS USEFULNESS
        27 Implementation sequence

        Build audience forecasts first,
        then connect them to schedule decisions

        INPUTS

        Prepare inputs

        • Movie metadata and releases
        • Linked audience history
        • Theater and screen supply
        • Reference rules and schedule
        MODELING

        Phase 1

        • Baseline
        • User / Movie Representation
        • Watch Propensity
        • Population Calibration
        • 3-Horizon Backtest
        • Prototype
        COMPARISON

        Compare forecasts

        • Forecast error and calibration
        • Held-out movie ranking
        • Choose the stronger model
        SCHEDULING

        Phase 2

        • Visit frequency and attendance model
        • Choice model · annual slate
        • Schedule Simulator
        • Reference Optimizer

        The audience representation carries forward: predict movie demand → simulate accessible choices → improve the schedule.

        27 · INPUTS → AUDIENCE MODEL → FORECAST COMPARISON → SCHEDULING
        28 Validation hypotheses

        Validate five hypotheses in sequence

        H1
        Individual viewing history

        Can viewing history meaningfully predict a person's choice of a new movie?

        H2
        Bottom-up Aggregation

        Does aggregating individual propensities improve total attendance and ranking versus feature-based forecasts?

        H3
        Visit frequency and intervals

        Can estimated visit frequency and intervals explain the actual distribution of visit timing?

        H4
        Choice model explanatory power

        Can the theater / time / format choice model explain actual site and time demand?

        H5
        Programming improvement

        Does audience simulation improve attendance and revenue KPIs versus current or rule-based programming?

        28 · H1 → H2 → H3 → H4 → H5
        29 Data requirements

        Phase 1 depends most on
        member-level longitudinal history

        User History
        • anonymous_user_id
        • movie_id
        • theater / site
        • showtime · format
        • booking timestamp
        • ticket count
        Feedback
        • rating
        • review
        • like / dislike
        • interest / wishlist
        Implicit Intent
        • search
        • detail page view
        • trailer view
        • booking abandonment
        Movie / Market
        • metadata · synopsis
        • poster · trailer
        • awareness / buzz
        • actual admissions · Cinema share
        Aggregate data alone cannot adequately test the core hypotheses. Personal identity is unnecessary, but the same anonymous user's viewing history must remain linked over time. This provides an initial estimate of individual visit frequency and intervals. After that, update movies and schedules. Use declared frequency profiles when linked history is unavailable.
        29 · PSEUDONYMOUS LONGITUDINAL DATA
        30 Privacy and security principles

        Individual behavior can be modeled
        without identifying the person

        • Use pseudonymous IDs
        • Exclude unnecessary direct identifiers
        • Prioritize training in the cinema chain's environment / VPC
        • Purpose limitation · minimal retention
        • Do not use Cinema data to train external models
        • If needed, isolate content analysis through a multimodal API
        Keep preference modeling separate from direct personal identification.
        30 · PRIVACY BY DESIGN
        31 Phase 1 PoC deliverables

        Core deliverables of the Phase 1 PoC

        01

        Existing Forecast Baseline Report

        02

        Audience Digital Twin Prototype

        03

        User Preference / Movie Representation Pipeline

        04

        3-Horizon Watch Propensity Model

        05

        Market Calibration Layer

        06

        Historical Backtest Harness

        07

        Forecast API / Demo Application

        08

        Phase 2 Choice Simulation Prototype (concept/demo)

        LATER OPERATING PHASE Production integration Live schedule rollout Serving and retraining Operational monitoring
        31 · POC DELIVERABLES
        32Operator workflow

        An operator solves the problem
        from inputs to a schedule comparison

        01 · PREPAREImport & prepare
        • Load movie metadata
        • Prepare synthetic audience profiles
        • Inspect potential movie demand
        →
        02 · EXPERIMENTConfigure & compare
        • Set objective and operating rules
        • Build a feasible baseline
        • Run local schedule improvement
        →
        03 · DECIDEReview & revise
        • Compare admissions and revenue
        • Inspect movies, dates and viewers
        • Try a response shock and replan
        Open the live Movie First M0 demo → Import inputs, set rules, run the experiment, then inspect and save the comparison.
        32 · LIVE M0 DEMO · PREPARE → EXPERIMENT → DECIDE
        33 Operator and simulator responsibilities

        The operator sets the decision;
        the simulator compares its consequences

        Operator actionSimulator output
        Supply movie and audience inputs Potential demand by movie
        Set screens, hours and commitments Feasible baseline schedule
        Choose admissions or revenueComparable schedule scores
        Run a bounded schedule experimentBest explored plan and paired check
        Review changes and save the runInput, rule and result records
        A clear division of work connects operating choices to reproducible simulation results.
        33 · OPERATOR INPUTS → SIMULATOR OUTPUTS
        34Implementation capabilities

        The modeling framework's strength is extending prediction
        into operating decisions

        Prediction→ Simulation→ Optimization→ Operation→ Learning

        ML / Representation Learning

        Decision Modeling / OR

        Discrete Choice / Response Modeling

        Simulation / Digital Twin

        Combinatorial Optimization

        Enterprise Integration

        One shared pipeline links audience profiles, movie demand, seat-constrained choices and schedule experiments.
        The Audience Digital Twin begins with prediction and can extend into programming, promotions and marketing decisions.
        34 · IMPLEMENTATION CAPABILITIES
        35References

        The same problem structure appears across industries

        RETAIL

        Demand → ordering / inventory decisions

        LOGISTICS

        Orders → vehicle / route decisions

        HEALTHCARE

        Staff demand → scheduling decisions

        PARKING / PHYSICAL AI

        Arrivals / dwell time → location, resource and time decisions + simulator

        the cinema chain faces the same structure: uncertain demand, limited resources, combinatorial choices and ongoing feedback.
        35 · PROBLEM STRUCTURE, NOT INDUSTRY
        36Implementation roles

        Functional roles connect models
        to operating decisions

        01
        Problem framing

        Decision lead

        Define prediction targets, decision scope, baselines, and validation criteria.

        02
        Representation and propensity

        Audience modeling

        Model viewing preferences and update individual watch propensities.

        03
        Audience behavior

        Choice simulation

        Simulate theater, time, and format choices under candidate schedules.

        04
        Reference optimizer

        Optimization

        Evaluate feasible schedules through the same audience population and score.

        05
        Operational delivery

        Platform integration

        Provide APIs, data pipelines, and integration with existing operating systems.

        Shared responsibility: problem formulation · validation · operational integration
        IE437 · ASSIGNMENT 1 · FUNCTIONAL RESPONSIBILITIES
        37Closing

        Prediction AI becomes
        a Digital Twin for operating experiments

        WANTCANCHOOSEAGGREGATEOPTIMIZE

        People want different movies (WANT). Schedules determine what is accessible (CAN), changing actual choices (CHOOSE). Summing choices gives attendance (AGGREGATE). Testing different schedules on the same audience finds better programming (OPTIMIZE).

        Audience profiles explain potential demand. A shared choice simulator connects that demand to feasible programming and repeatable operating experiments.

        IE4372026.09 Thank you
        A1 Current approach vs Audience Digital Twin

        Top-down feature forecasts vs bottom-up Audience Twins

        Dimension Reference · top-down features Audience Digital Twin · Bottom-up
        Forecast unit Whole movie Individual members → aggregate
        Core inputs Genre · cast · director · past box office Member viewing history + movie representation
        Regional / time demand Allocation rules after forecasting Emerges from individual choices
        Programming response Difficult to explain directly Extends to a choice model (Phase 2)
        New movies Estimate from similar movies Content Representation Cold Start
        Explainability Movie-level evidence Individual evidence + segment composition
        APPENDIX A1 · BASELINE VS PROPOSED AUDIENCE MODEL
        A2 Three forecast horizons in detail

        Available features, output and uncertainty by horizon

        Horizon Available features OutputUncertainty
        Annual (Aug–Sep) Genre · IP · cast · director · studio · synopsis 3.6M expected attendance Very wide [2.5M–5.0M]
        T-1~2M + Posters · trailers · awareness · buzz · marketing response 4.2M expected attendance Moderate [3.5M–4.9M]
        T-2W + Advance bookings · searches / clicks · viewing intent · early response 4.5M expected attendance Narrow [4.1M–4.9M]
        APPENDIX A2 · SYNTHETIC FORECAST EXAMPLE
        A3 Viewer representation candidates

        Compare candidate encoders for shared audience preferences

        Two-Tower

        Train separate viewer and movie encoders; use their inner product for propensity.

        Sequence Encoder

        Encode viewing history as a sequence to capture recency and order.

        Collaborative Filtering

        A traditional approach using the member–movie interaction matrix.

        Hybrid Representation

        An ensemble combining these methods with content features.

        APPENDIX A3 · PROPOSED LEARNED MODEL CANDIDATES
        A4 Movie representation candidates

        Content representations for new-movie cold starts

        Metadata

        Structured features: genre, cast, director, IP and studio.

        Text Embedding

        Convert synopsis text into language-model embeddings.

        Poster

        Capture visual tone and genre signals from poster images.

        Trailer VLM / Multimodal Fusion

        Analyze trailers with a vision–language model and combine the signals.

        APPENDIX A4
        A5 Choice model candidates

        Phase 2 theater, time and format choice model candidates

        MNL / Nested Logit

        Traditional discrete choice model with high interpretability.

        Neural Choice Model

        Learn nonlinear utility with a neural network.

        Mixed Logit / Latent Segment

        Represent audience heterogeneity through latent segments.

        Contextual Utility Model

        Condition on programming context, including competing movies and time.

        APPENDIX A5 · For technical review
        A6 Market calibration details

        Expanding from members to the market

        • Post-stratification / Weighting: reweight member age, gender and region to match actual audience composition
        • Share Model: use Cinema market share by movie type to estimate nationwide attendance
        • Regional Calibration Factor: adjust for regional differences in Cinema member penetration
        • Non-member Adjustment: estimate non-member attendance with a separate baseline and add it
        • Define frequency scope: store whether frequency covers all cinemas or Cinema only. For all-cinema frequency, model competitor attendance as a separate path
        APPENDIX A6
        A7Historical Backtest Protocol

        Leakage prevention

        • Time-cutoff: exclude information after the forecast date from training and inference
        • Rolling Origin: repeat validation across historical forecast dates
        • Embargo Period: leave a buffer between the forecast date and label finalization
        • Out-of-time Split: split training and validation chronologically
        APPENDIX A7
        A8 Privacy and security controls

        Pseudonymous user-level data handling

        • Pseudonymization Pipeline: replace identifiers with anonymous IDs inside the cinema chain's environment before transfer
        • Access Control: restrict access to project staff and maintain audit logs
        • Retention Policy: delete promptly after the purpose is fulfilled; minimize retention
        • Purpose Limitation: prohibit use beyond this PoC or for external model training
        APPENDIX A8 · PROPOSED DATA-HANDLING CONTROLS
        A9 Phase 2 optimizer details

        Objective, constraints, starting schedule and local improvement

        Objective

        Maximize admissions or ticket revenue; include a change penalty when the operating objective requires it

        Constraints

        Operating hours · runtime · cleaning · screen quotas · format compatibility · booking locks · programming rules

        Starting schedule · search

        Local search starts from Phase 1-B's demand-based schedule; bounded local improvement

        Audience Score uses one joint distribution from the same intensities λ (S18A), not separately multiplied visit and choice probabilities. Report the best schedule explored, and validate on paths excluded from search.

        APPENDIX A9 · See the main programming optimization slide
        A10Demo Architecture

        Synthetic Population → Individual Propensity → Aggregate Demand → Schedule Simulator

        Synthetic Population
        →
        Individual Propensity
        →
        Aggregate Demand
        →
        Schedule Simulator
        →
        Reference Optimizer
        APPENDIX A10 · The demo illustrates how the methodology works
        A11 Current M0 and proposed extensions

        Use M0 for operating experiments;
        extend the learned model separately

        ComponentCurrent M0 demonstratorProposed extension
        Audience modelExplicit taste, frequency and recovery rulesLearn preference/history representations
        Movie demandDaily joint choices over release windowsUpdate forecasts from new audience signals
        Screening supplyHours, runtime, cleaning, seats and formatsIntegrate actual operator rules and supply
        Schedule searchBounded local improvement of a feasible baselineBroaden candidate search if useful
        ComparisonCommon synthetic people and separate validation pathsHeld-out predictive and operating comparisons
        RevisionHypothetical shock and future replanningObserved signals and booking-sensitive updates

        The live application executes Movie First M0 with synthetic inputs. Learned graph-history M1 is a proposed extension (A12).

        APPENDIX A11 · RUNNABLE M0 · PROPOSED LEARNING / OPERATING EXTENSIONS
        A12 Movie choice methodology (M0 → M1)

        Start with interpretable M0;
        compare learned graph-history M1

        M0 · LIVE DEMONSTRATOR

        Static content fit + frequency intercept

        Convert taste–content fit and individual frequency intercepts to softplus intensity. Interpretable without learning; used in the live demo.

        M1 · RESEARCH MODEL

        Content graph + individual history state

        Place movies in genre, style and IP clusters. Propagate recent viewing history through a similarity graph. Watching a similar movie may raise or lower intensity through persistent taste, fatigue or budget depletion.

        Compare M1, M0 and a learned model without a graph on the same held-out target. Inspect history contributions by removing signals and recalculating.
        M1 adds a learned history state; shared movie content supports new releases. Keep the same choice and schedule-comparison contract.
        APPENDIX A12 · M0 RULE MODEL → PROPOSED LEARNED M1
        A13Technical Formulation

        Equations for WANT → CAN → CHOOSE → AGGREGATE

        Phase 1 · WANT → daily choice → aggregate (schedule-independent)
        λᵤₘ(d | Hᵤ) = softplus(aᵤ + sᵤₘ + g(Hᵤ, m)) · kₘ(d) · rᵤ(gap)
        History-dependent intensity (events/day): aᵤ frequency intercept; sᵤₘ content fit; g history effect (M0: frequency / intervals; M1: graph state Σᵥ Gₘᵥ zᵤᵥ(t)); kₘ release kernel; r post-visit recovery. BaseMovieDesire(u,m) ≡ log λᵤₘ.
        Pᵤ,d(m) = (1 − e−Lᵤ(d)) · λᵤₘ / Lᵤ(d),  Pᵤ,d(none) = e−Lᵤ(d),  L = Σₘ λᵤₘ
        One daily joint distribution, without separately multiplying visit and movie choice probabilities. In continuous time: S(t)=exp(−∫Λ), P(next=m, t∈[a,b))=∫S(t)λₘ(t)dt (S11A).
        D(m, W) = Σᵤ wᵤ · Pᵤ(m ∈ W),  D(m, d) = Σᵤ wᵤ · Pᵤ,d(m)
        Pᵤ(m∈W) averages simulated paths of the joint distribution over W. A sum of λ is not attendance. wᵤ is the member-to-market calibration weight.
        Phase 2 · CAN → CHOOSE (schedule S feeds back into movie choice)
        ShowtimeUtility(u, m, j | S) = θ · [distance, time fit, format, price, seat availability]
        Accessibility(u, m, S) = logsumexpj ∈ S(m) ShowtimeUtility(u, m, j)
        Measures whether movie m has suitable showtimes in the current schedule. Group equivalent showtimes by equivalence key to increase seat capacity without inflating choice probabilities.
        RealizedUtility(u, m, S) = BaseMovieDesire(u, m)
        + β · Accessibility(u, m, S)
        P(m | S) = eRU(m) / (eU₀ + Σₘ′ eRU(m′)),  P(j | m, S) = softmaxj ShowtimeUtility
        Includes outside option U₀. Equivalent expression: λ observed = λᵤₘ · exp(β·Accessibility). Accessibility enters movie-level probability; choice is not a one-way movie-then-showtime process. Nested calculations feed inclusive value back upward.
        Potential demand and schedule accessibility A may not be fully identifiable from observations alone. Travel, price and availability define the accessible choice set. Use the same conditions for model and schedule comparisons (A12).
        APPENDIX A13 · PROPOSED FORMULATION · S09, S18 AND S19
        Q&A Questions and answers

        Six points to return to

        • Planning uses annual, 1–2 month and 2-week forecasts. The same Audience Twin updates as new information arrives.
        • WANT: people want different movies. Predict individual movie desire from viewing history and taste.
        • CAN: desire does not guarantee attendance. Theater, time, format and distance affect access.
        • CHOOSE → AGGREGATE: a new schedule changes the same person's choices. Summing those choices gives attendance.
        • OPTIMIZE: test several schedules through the Digital Twin to find the best candidate. Validate alongside existing programming.
        • The live M0 workflow connects movie inputs, synthetic audience demand, feasible schedules and a reproducible comparison.
        Q&A HOLDING · A opens appendix · Esc returns
        All worked examples Presentation path 01/37