Introduction

The problem statement is as follows:
Create a sorting logic for cinemas on this (Cinema listing) page
We can think of the problem as designing a Recommendation-Engine that considers a set of factors and suggests the most suitable Cinemas.

Factors that impact choice of Cinema

Note: Assuming the User is making the booking on a Mobile device, we can assume we have their current location.
Factors that would affect choice of Cinema for our would include (in no particular order).
Factors
Name
Details
Time left for Start of Movie
if there is a Cinema that is close enough for a person to reach an open slot then a User would be able to book a show and leave immediately to make it in time.
Distance to Cinema
Time taken to drive to the Cinema from current location
Amenities
Especially in a post-Covid world, people would look for safety protocols in addition to things like snacks, restrooms, etc.
Screen Type
IMAX, Drive-In, Multi-plex, Independant, etc.
Num of Available Shows
In a day there would be morning, matinee and evening shows.
Average Price
Average price of tickets for the particular movie
Cancellation Policy
After booking is there a facility to get refunds?
There are no rows in this table

Group Factors into Categories

To decide whether a Cinema is the right fit we can evaluate each one on three axes:
Factors per Category
Criteria
Factors
Cost Effective (CE)
Convenient (CN)
Quality (Q)
There are no rows in this table

Creating a Recommendation Engine

Based on the factors, we can score each Cinema. Once each Cinema has a score, we can just sort them in descending order:

Constructing a Formula

where
Note: Since we’re prioritizing Planned outings, we’re dropping Time to Movie-Start for now.
Each Factor is scored as per the table below:
How to Score each Factor
Name
Low (1 Point)
Medium ( 2 Points)
High (3 Points)
Distance to Cinema
Travel time < 15 minutes
15 > Travel time > 45 minutes
Travel Time >= 45 minutes
Amenities
Basic snacks, bathroom facilities
Normal facilities, range of snacks, occasional cleaning
highly curated facilities, WHO certified safety protocols followed
Screen Type
small screen, local Cinema
normal multiplex cinema, good sound, modern amenities
IMAX, surround sound
Num of Available Shows
only has slots in one category
has open slots in 2 categories
has open slots throughout the day
Average Price
average price is INR 200
Average price is INR 700
Average price is INR 1000
Cancellation Policy
no refund on cancellation
refund available on certain conditions
relaxed cancellation policy
No results from filter

Tweaking the Formula for different User Personas

The above formula is a baseline for sorting Cinemas for a new customer we know nothing about.
As we learn more about a customer, we can add a weight-age factor to each of the terms above.
For Example:

Where:
does the user generally pick cheaper tickets,
has the user already sorted by Price
has the user sorted by Distance to cinema?
does the user have a small set of Cinemas they regularly visit?
does the user typically view Movies in better quality Cinemas?
has the user already sorted by Amenities?
l, m, n are Real numbers in range [1, 2]
This allows the formula to dynamically adapt the ranking as we learn more about the Users preferences and behavior. For example:
If we detect that the User is on the move, they might be looking for a last-minute booking
In that case we can increase the value of the m-factor so that distance to cinema and time-to-movie-start have more weight-age so that closer Cinemas get a boost in the rankings.

Acceptance Criteria

Some acceptance criteria would be:
Cinema’s should load within 1 second at most
Cinemas can be paginated, minimum 5 per page
no bugs related to the way available seats are displayed per Cinema
Loading available Cinemas is the priority on the screen, the movie-rating, banner-art, and other header information can be progressively loaded later if that will cut down response time.

Measuring Success

Since we’re looking to Increase our Market-Share, as per our , we would be looking to improve Retention metrics. As we roll-out changes to the recommendation algorithm, we would monitor the following Metrics:
Visit to Sale Conversion %
How many people who click on a Movie to view Cinemas end up purchasing a ticket
Abandonment Rate
How many people select a Show-Time and then abandon the flow
Repeat Customers
What percentage of Customers come back to purchase movie-tickets.
Note: We could directly measure # of Orders or Revenue but those metrics are bound to have hundreds of input metrics, and probably have too much lag time to be able to derive Product Insight for the Listings page.

KPI’s

From our Success Metrics (👆 above) and our , we can derive low-level metrics:
Average time spent on Listings Page
less time, the better
Number of Clicks on Listings Page
less clicks (on filters, etc) the better
Average Number of Cinemas loaded
assuming that the list is paginated, the more the User swipes the more cinemas are loaded.
if we’re recommending the right cinemas, this metric should reduce.

Interactive Prototype of Sorting Algorithm

Below is a simplified version of the formula shared above. It directly gives a
low
medium
high
rating to Cost-Effectiveness, Convenience and Quality instead of calculating it from the Factors as shown above.
Note: The Cinemas listed below are all 27 permutations of
@low
@medium
@high
for Cost-Effectiveness, Convenience and Quality .
Change the following sliders to see impact on the Sorting order.
User’s Price Sensitivity :
000
1.2
User’s Convenience Focus:
000
1.6
User’s Quality Mindedness:
000
1.8
Example Cinemas
Cinema ID
Cinema
(CE) cost-effectiveness
(CN) convenience
(Q) quality
Score
27
Meridian Theatre
13.80
26
Springset Theatre
12.60
24
Stargaze Theatre
12.20
18
Beacon Cinema Group
12.00
25
Ellipse Concert
11.40
23
MindSPark Hall
11.00
17
Black Sheep Theatre
10.80
21
Ancestral Theatre
10.60
15
Chelsea Theatre Works
10.40
9
Interamerica Stage Inc.
10.20
22
RapidWave Company
9.80
16
Carver Theatre Developers
9.60
20
Virtue Opera
9.40
14
Cutler Majestice Theatre
9.20
8
Ion Theatre Company
9.00
12
Elite Performance
8.80
6
Margeson Theatre
8.60
19
Regal Sky Theatre
8.20
13
Cygnet Theatre
8.00
7
Mad Cow Theatre
7.80
11
Fiddlehead Theatre
7.60
5
Navarasa Dance Theatre
7.40
3
The Eureka Theatre
7.00
10
Garden Theatre
6.40
4
Santuary Theatre
6.20
2
The Factory Theatre
5.80
1
The Paramount Center
4.60
There are no rows in this table

Further Improvements

In addition to working on the recommendation engine, there are some other ways we could improve conversions and increase retention
Some ideas are listed here:

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.