EventHopper / EHServerSide

Server-Side functionality including REST API, hosting scripts & client-server modules
0 stars 0 forks source link

Events By Suggestion #67

Open kylermintah opened 4 years ago

kylermintah commented 4 years ago

Events By Suggestion (#67)

(See Documentation)

Internal Module 🌟

_

Internal Modules are comprehensive engineering tasks or tasks with potentially large implications either in our backend or for client applications. Responsibility for the efficacy of an internal module lies on our own engineers

_

Background:

Users will all have their own set of events that they'd prefer to see based on events they've liked before; their listed preferences; and other factors. Being able to suggest a set of events to a user based on their preferences may add a layer of personalization that will keep users coming back for more. Given a user, we aim to derive a system by which the eventsby/suggestion/:userID endpoint returns a set of events similar to events a user has shown behavioral interest in.

Example:

  • User swipes right on 20 events in category 'Art', with hastags ['museum', 'painting', 'cocktail', ... , 'art']
  • User swipes left on 20 events in category 'Sport' with hashtags ['basketball', 'arena', 'endurance', ... , 'sport']
  • User has swiped a total of 40 times
  • eventsby/suggestion/:userID endpoint should return 75% 'Art' related events and 25% 'Sport' related events

It is important to note that this should be done over a selected time period with a sliding window approach in case a user begins to show a trend of interest in an event category they previously have not.

Specification:

Given a record of user swipe behavior, this endpoint should return a selection of events influenced by said behavior over a period of time.

Behavioral Testing:

Input Explanation: JSON Output Explanation: JSON

  1. Concert Category: IN: {'art' : +20, 'sports' : -20, 'total' : 40} OUT: {'art' : 75%, 'sports' : 25%}