Recurring events - finding in a time series



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!


Posted 2016-06-08T07:09:41.287

Reputation: 61

You can also look at genetic algorithms, like the Meyer Packard Algorithm

– sonaam1234 – 2016-09-08T16:55:01.447



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:

Pablo Suau

Posted 2016-06-08T07:09:41.287

Reputation: 1 507


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

enter image description here


Posted 2016-06-08T07:09:41.287

Reputation: 2 982

Can you explain how to incorporate the event type and nonstationarity with this approach? – Emre – 2016-08-09T17:40:05.563

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. – K3---rnc – 2016-08-09T22:21:43.017