I have an event dataset from which I would like to detect recurring events (i.e: weekly, bi-weekly, monthly). The dataset contains:

  1. Timestamp (date)
  2. Event type which can get any value (e.g: purchase, withdrawal, inquiry, bid, etc...).
  3. Amount in USD (can be bid or price for example)

My goal is to find and label recurring events and their frequency. Most of the time there's one event per day, but sometimes there are two or more events for the same day (can be with the same event type, but doesn't have to be). I should also be able to account for a change in recurrence (from bi-weekly to weekly or vice-versa).

How would you approach this?

Any help would be appreciated!


2 Answers 2


I'd suggest to use ARIMA (autoregressive iterate moving average) as a way to detect the regularities in your time series. Take a look to the following link, in which you will be introduced to ARIMA by means of series of blog posts:



To discover periodic behavior in time series data, you should plot and look into a periodogram.

enter image description here

  • $\begingroup$ Can you explain how to incorporate the event type and nonstationarity with this approach? $\endgroup$
    – Emre
    Aug 9, 2016 at 17:40
  • $\begingroup$ One periodogram for each event type. I don't think non-stationarity is a problem. As for non-uniform spacing, the daily data should be resampled (aggregated) onto a weekly/bi-weekly/monthly period. If non-stationarity is indeed a problem, differencing. $\endgroup$
    – K3---rnc
    Aug 9, 2016 at 22:21

Your Answer

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

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