mbrizic / ratethegame

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Detect when an event is "trending" and send email notification to all users subscribed to that sport

mbrizic opened this issue · comments

  • implement a scheduled job which triggers email sending service
  • detect and implement "trending" events
  • implement an email generation service

@mbrizic thinking about situations in which we want to notify/mail users -- what's your opinion on these options?

  1. mail a user about favorably rated events (the next day after they occurred) across all sports
  2. mail a user about favorably rated events (a week after they occurred) across all sports
  3. mail a user about favorably rated events (the next day after they occurred), only for sports the user is subscribed to
  4. mail a user about favorably rated events (a week after they occurred), only for sports the user is subscribed to
  5. mail a user about any event (the next day after they occurred), only for sports the user is subscribed to
  6. mail a user about any event (a week after they occurred), only for sports the user is subscribed to
  7. sth else?

For all of these, I'd also introduce a lower-bound related with the minimum number of votes required. Furthermore, for all of these, I also wouldn't send events which were already rated by the user
Also -- favorably is a generic definition and is subject to change by revisions of our recommendation engine

In my opinion, options 2) (as a spammy, off by default option designed for sport exploration) and 3)/5) (timely user-tailored notifications for specific sports, on by default) make most sense. Just can't decide between 3) and 5). I'm leaning towards 5), but, at the same time we might flood users with too many events in comparison with 3).
What do you think?

I would skip 1 and 2 as I don't expect too many users (if any) will be interested in every single sport in the app. But if such rare individuals show up, just subscribing to all sports wouldn't be too much of an effort, as we shouldn't really have more than 10-30 of them.

But in general, sending weekly email recaps across different sports might actually be a really good idea, even though it's not something we're currently trying to solve. We'd be pivoting to a email-first spoiler-free sports newspaper, which definitely does not exist right now 😄

For 4 and 6, I think sending notifications after a full week might be too late. People who are into sport would have already heard what happened or seen the recaps, so sending a mail might not give them any new info at that point.

And for 3 and 5, sending it for all events in sports sounds more useful (regardless of what ticket's title says we are building 😄 ). I think it might not be spammy as events aren't really held daily usually, so getting an email once a week might not be a problem.

But I wouldn't send it 24 hours later. Maybe 6 hours by default, with a special overriding logic: in case events gets extra good ratings (for example, 5 upvotes with a 100% score in first three hours) the email can be sent immediately.

Unrelated, but just getting it out there - we might have to "join" more reports in a single email - e.g. if user is subscribed to three sports, all of which have events on Sunday, we shouldn't send him three mails. So in the code, logic probably shouldn't be primarily tied to event, but user instead.