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:
transaction_id,user_id,last_transaction,next_transaction
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?