Say we have customers who acquire or not a product, and we have snapshots of the customer's profile monthly, with the information if at that given month they acquired or not (binary label).

I have two questions:

(1) What should be the best way to handle this dataset; concatenating the information as columns (for say, the last 3 snapshots so that the model can find a trend), with only the result of the last month? Or appending the snapshots as rows, and do some aggregated calculations (for example, averages for the same customer, how many times it acquired the product in the past x months, etc)

(2) If I go with the appending rows route, I guess all the aggregations have to consider only the previous rows based on the time on the snapshot (otherwise, I guess there would be a leakage of information), but how would I manage a cross validation scenario, should I take a specific caution here?


It would depend on the approach you want to take...

Based on the information you gave, I could imagine turning the data into a classification problem, whereby you cluster in the feature space of the various customer profile features. You could train the classifier on a "did buy"/"didn't buy" column.

The descriptive statistics you mentioned could also be valuable. I would recommend doing a mixed method approach and see which yield the most interesting results

  • $\begingroup$ Please accept the answer if it resolve your issue or let me know if something is unclear $\endgroup$
    – WBM
    Apr 29 at 11:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.