All problems

Which Shows Are Punching Above Their Weight?

hardPythonMergeGroupByTransform

Content acquisition renews licenses tier by tier: a show earns its renewal by outperforming the rest of the catalogue with the audience being paid for. So the same catalogue gets judged several times over, once per subscription plan, and a show can be clearly worth keeping for one tier and not for another.

Watch events

id subscriber_id show_id watch_minutes watch_date
1 1 1 45 2023-05-01
2 1 5 60 2023-05-03
3 2 3 20 2023-05-02
4 3 2 55 2023-05-05
5 4 1 40 2023-05-06
6 4 4 70 2023-05-08
7 1 3 25 2023-05-10
8 3 5 50 2023-05-11
9 2 2 30 2023-05-12
10 5 4 65 2023-05-14

Subscribers

id name plan signup_date country
1 Ana Torres premium 2022-11-01 US
2 Ben Osei basic 2023-01-15 UK
3 Chloe Martin standard 2023-02-20 US
4 Dev Malhotra premium 2023-03-10 IN
5 Ella Novak basic 2023-04-05 UK

Shows

id title genre release_year
1 Nebula Drift sci-fi 2021
2 The Long Kitchen drama 2019
3 Byte Size comedy 2022
4 Deep Trench documentary 2020
5 Neon Alley sci-fi 2023

Input

The DataFrames above are already built for you — those rows are not read from input. What does arrive is a single line naming the plan whose audience this renewal round is about, spelled exactly as the plan column spells it.

Task: Counting only sessions watched by subscribers on that plan, work out the total watch_minutes per show. Print a sorted Python list of the titles whose total is strictly above the average total across the shows that audience watched. If that audience has watched nothing at all, print an empty list.

Example: if two titles cleared the bar, you'd print something shaped like ['A Quiet Field', 'Winter Harbour'].

Sign in to solve this problem

Reading problems is free for everyone — solving them (Run, Submit, and tracking what you've solved) needs an account.

Sign in

Discussion

Sign in to join the discussion — reading is open to everyone.

Loading comments…