A method comprising the steps of: obtaining data from monitoring a system, wherein the data includes a plurality of records each including at least a start time and a unique identifier; sorting the plurality of records into one or more queues; analyzing each of the one or more queues, to detect approximate periodic chains of events in the plurality of records, and to characterize a periodicity of the periodic chains of events, wherein an approximate periodic chain of events includes some missing occurrences of events therein and the approximate periodic chain of events is not seasonal, wherein the periodicity is detected and defined based on a plurality of parameters obtained from the data and on said missing occurrences therein, wherein the plurality of parameters include a history depth that defines how far back in time of the data, a sensitivity that is a range of time for establishing periodicity, a minimal chain size that defines how many consecutive occurrences are required to detect the periodic chains of events, and a number of consecutive missing occurrences allowed, wherein the analyzing comprises comparing distances of events in the one or more queues based on the plurality of parameters; and one or more of: - presenting detected periodic chains of events in a user interface, - storing the detected periodic events, and - transforming the detected periodic chains of events into statistics reflecting characteristics of the periodicity of the chain of events for use in predictions of future events using a machine learning model. obtaining data from monitoring a system, wherein the data includes a plurality of records each including at least a start time and a unique identifier; sorting the plurality of records into one or more queues; analyzing each of the one or more queues, to detect approximate periodic chains of events in the plurality of records, and to characterize a periodicity of the periodic chains of events, wherein an approximate periodic chain of events includes some missing occurrences of events therein and the approximate periodic chain of events is not seasonal, wherein the periodicity is detected and defined based on a plurality of parameters obtained from the data and on said missing occurrences therein, wherein the plurality of parameters include a history depth that defines how far back in time of the data, a sensitivity that is a range of time for establishing periodicity, a minimal chain size that defines how many consecutive occurrences are required to detect the periodic chains of events, and a number of consecutive missing occurrences allowed, wherein the analyzing comprises comparing distances of events in the one or more queues based on the plurality of parameters; and one or more of: - presenting detected periodic chains of events in a user interface, - storing the detected periodic events, and - transforming the detected periodic chains of events into statistics reflecting characteristics of the periodicity of the chain of events for use in predictions of future events using a machine learning model. - presenting detected periodic chains of events in a user interface, - storing the detected periodic events, and - transforming the detected periodic chains of events into statistics reflecting characteristics of the periodicity of the chain of events for use in predictions of future events using a machine learning model.