1

I'm developing a recommendation engine using Amazon Personalize, and found that in interaction dataset, we can input different EVENT_TYPE and corresponding EVENT_VALUE.

If I build the model with two event types (like purchase & click), can I say I can make the model training understand that purchase event is more important(indicate stronger interaction) than click event by setting EVENT_VALUE of purchase to 10, and EVENT_VALUE of click to 3 in the interaction dataset, and perform the model training that way?

John Rotenstein
  • 241,921
  • 22
  • 380
  • 470
Henry
  • 11
  • 2

1 Answers1

0

Short answer

No - Personalize don't care about EVENT_VALUE for calculating recommendations.

The use of event value

In general, Personalize doesn't include event value during training of the model. It's simply ignored.

However you can use it for implementing your own logic. For example, you can provide Event value threshold during the Solution creation: Personalize Create Solution web console

This value threshold will be used to determine, if given interaction should be ignored, during Solution training. For example, if event value is percentage progress of watching a video, then having a threshold of 0.9 will make sure, than interactions included during the training, were about fully watching the video.

The use of event type

As you can see on the picture above, you can specify the event type itself, so the given solution will ignore all of the interactions, that doesn't match event type. It might be helpful in some cases.

Event type can be also used in Filters option, which was added a few months ago. It might be helpful to filter out the Items, that User already fully watched or bought, examples:

EXCLUDE itemId WHERE INTERACTIONS.event_type in ("fully_watched")

EXCLUDE itemId WHERE INTERACTIONS.event_type in ("purchased")
PatrykMilewski
  • 922
  • 8
  • 17
  • This answer is not entirely correct. Event value is used during training for the associated event type. However, it is not used as a reward. In other words, higher values do not indicate stronger/higher weight for the interaction. In addition, if you specify an eventValueThreshold when creating a solution, you must specify an event type. The inverse is not true, however. Regarding the OP and weighting event types, see [answer to similar question](https://stackoverflow.com/a/69483117/13815548). – James J Oct 08 '21 at 12:16
  • Thanks for the comment, could you please provide a link to documentation about how Personalize use the event value? This answer is a little bit old and it was based on the AWS support answer by Personalize team architect (I'm no longer able to verify that, since I no longer have an access to that support case). – PatrykMilewski Oct 08 '21 at 13:07
  • There have been some recent improvements to the documentation on this topic. See [Choosing the interactions data used for training](https://docs.aws.amazon.com/personalize/latest/dg/event-values-types.html) for details. – James J Oct 09 '21 at 16:17