All problems

Who Has Gone Quiet?

mediumPythonGroupByDates

StreamVerse's retention team flags subscribers who have gone quiet — nobody whose most recent watch event falls before the team's cutoff date should go another week without a "we miss you" email. The cutoff moves every time they run it, since it tracks the day they last sent the campaign rather than any fixed date on the calendar.

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

Input

Both tables above are already built for you — the subscriber and watch rows are not read from input. What does arrive is a single line holding this run's cutoff date, written the same YYYY-MM-DD way the watch events are.

Task: Print, as a bare string, the name of one subscriber whose most recent watch falls strictly before the cutoff — somebody whose last watch was on the cutoff day itself has not gone quiet and does not count. Where more than one subscriber qualifies, name whichever of them comes first in the subscribers table; the campaign goes out one name at a time. At least one subscriber always qualifies.

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…