We have a use-case where, for every customer, they have a sequence of products, arranged from oldest product taken to newest. A customer can take one or multiple products at different periods. We want to create a model that’s trained on a sequence of products, and is able to ‘predict’/recommend what a customer’s next best offer/product. So basically a next best offer/next best basket. These products can range from taking a personal loan to being recommended travel insurance.
It was suggested using a LSTM model but I had a few questions/concerns regarding this.
Can the input be of different lengths? If so, and my input will be a sequence of products of varying lengths, would the model somehow know which product is the most recent based on position only? We might weigh more recent products (and maybe the time between two products) more. We have the date when a customer takes the product. How would I introduce the date into the input, and somehow align each product to its date?
I assume I have to apply encodings on my products, so we’ll assign a number (or float?) for each product. So the sequence of products will be a sequence of arrays?
The data will basically be a table with customer ID and all products he took as with the date.
Any direction or references would be appreciated. Please feel free to suggest how you would approach this. Still very new to this.