I have a problem where I want to predict "when is the next action happening" based on the time.

Example problem: Imagine you have a dataset of transactions per user, your goal is to predict when is the user going to do another transaction.

Minimal example data:

0,1,'2018-02-04 22:31:25','2018-02-05 02:35:11'
1,1,'2018-02-05 02:35:11','2018-02-06 14:58:54'
2,2,'2018-02-06 15:50:50','2018-02-06 16:24:22'

You get the labels already from the data.

1. How would you frame this problem using machine learning if you want to be precise in minutes? I want the output to be a probability distribution of all future minutes (e.g. next 7 days, predictions later than 7 days are not that important but have to be part of the problem).

2. After framing of the problem, what kind of methods would you investigate/dive deeper into?

At first I was thinking of using classification of time buckets but this gives me no flexibility. If I have a time bucket 'next transaction is next day 16:00-17:00', if somebody asks what is the probability of next transaction between 15:45-16:45, I am unable to tell. Another idea of mine were regression trees and I think what I want to achieve goes in the direction of probabilistic forecasting. Do you have other ideas that will direct me towards my goal?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.