IP Library Granted Patent US 12,373,325
Granted Patent B1
US 12,373,325 · App. 18/305,962 · Granted Jul 29, 2025

Identifying seasonal frequencies for time series data sets

Inventors: William Deaderick (San Francisco, CA); Joseph Ari Ross (San Francisco, CA); Tanner Gilligan (San Francisco, CA)
G06F11/3452G06F11/3006G06F16/245
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,373,325
App. No.
18/305,962
Granted
Jul 29, 2025
Kind
B1
Abstract

Embodiments are directed to facilitating identifying seasonal frequencies. In particular, a set of candidate seasonal frequencies associated with a time series data set are determined based on ACF peaks identified in association with a representation of the time series data set. Thereafter, the filters are applied to analyze the candidate seasonal frequencies and update the candidate seasonal frequencies by removing any candidate seasonal frequencies that fail a filter. An example filter can include comparing ACF peaks with peaks associated with SDF peaks. Thereafter, a candidate seasonal frequency of the updated candidate seasonal frequencies can be identified as a seasonal frequency for the time series data set, and such a seasonal frequency can be provided (e.g., to a user or another process) for use in performing data analysis.

Claims (39)

1. A computer-implemented method comprising:

obtaining a time series data set, wherein the time series data set comprises a set of events accessed in a field-searchable data store, wherein each event includes a portion of raw machine data that reflects activity in an information technology environment and that is produced by a component of that information technology environment, wherein each event includes a set of fields, wherein at least one field is defined by an extraction rule that when applied extracts a value from the portion of raw machine data that has the field specified by the extraction rule;

applying, via one or more processors, a set of filters to analyze a set of candidate seasonal frequencies associated with the time series data set and update the set of candidate seasonal frequencies by removing any candidate seasonal frequencies that fail a filter from the set of candidate seasonal frequencies to reduce subsequent computing resource utilization, wherein at least one of the filters of the set of filters includes comparing auto-correlation function (ACF) peaks associated with a representation of the time series data set and spectral density function (SDF) or periodogram function peaks associated with the time series data set;

identifying a candidate seasonal frequency of the updated set of candidate seasonal frequencies as a seasonal frequency for the time series data set; and

providing the seasonal frequency for the time series data set for use in performing data analysis.

2. The computer-implemented method of claim 1 , wherein the set of filters are applied in an ordered manner such that a candidate seasonal frequency that fails a filter is removed from the set of candidate seasonal frequencies before being analyzed by a subsequent filter of the set of filters.

3. The computer-implemented method of claim 1 further comprising identifying the set of candidate seasonal frequencies associated with the time series data set based on the ACF peaks identified in association with the representation of the time series data set.

4. The computer-implemented method of claim 1 , wherein the representation of the time series data set comprises a differenced data set generated from the time series data set.

5. The computer-implemented method of claim 1 , wherein a first filter of the set of filters comprises a presence filter that ensures peaks associated with the candidate seasonal frequencies were also present before any seasonal components were removed from the time series data set.

6. The computer-implemented method of claim 1 , wherein a first filter of the set of filters comprises a presence filter that determines if an ACF peak associated with a particular candidate seasonal frequency was an original ACF peak associated with the representation of the time series data set before any seasonal components were removed.

7. The computer-implemented method of claim 1 , wherein a first filter of the set of filters comprises a multiple peak filter that ensures a second peak exists at two times a seasonal frequency associated with a first peak.

8. The computer-implemented method of claim 1 , wherein a first filter of the set of filters comprises a peak location matching filter that ensures a first ACF peak identified substantially matches a second SDF peak.

9. The computer-implemented method of claim 1 , wherein a first filter of the set of filters comprises a peak location matching filter that ensures a first ACF peak identified substantially matches a second SDF peak, wherein the first ACF peak is identified as substantially matching the second SDF peak when the first ACF peak and second SDF peak are within one bandwidth distance from one another.

10. The computer-implemented method of claim 1 , wherein a first filter of the set of filters comprises a multiple matching peak filter that selects a particular candidate seasonal frequency associated with an ACF peak that most closely matches a corresponding SDF peak.

11. The computer-implemented method of claim 1 , wherein a first filter of the set of filters comprises an auto-correlation function prominence filter that ensures an ACF peak has a prominence that exceeds a prominence threshold.

12. The computer-implemented method of claim 1 , wherein a first filter of the set of filters comprises a spectral density function prominence filter that ensures a SDF peak has a prominence that exceeds a prominence threshold.

13. The computer-implemented method of claim 1 , wherein identifying the candidate seasonal frequency of the updated set of candidate seasonal frequencies as the seasonal frequency for the time series data set comprises selecting a minimum candidate seasonal frequency from the updated set of candidate seasonal frequencies.

14. The computer-implemented method of claim 1 further comprising:

performing data decomposition to the time series data set using the identified seasonal frequency for the time series data set; and

based on a set of residual components determined from performing the data decomposition, using the set of residual components to identify another seasonal frequency for the time series data set.

15. The computer-implemented method of claim 1 further comprising:

performing data decomposition to the time series data set using the identified seasonal frequency for the time series data set; and

based on a set of residual components determined from performing the data decomposition, using the set of residual components to identify another seasonal frequency for the time series data set, wherein using the set of residual components to identify the another seasonal frequency comprises:

identifying a new set of candidate seasonal frequencies based on a new set of ACF peaks identified in association with a representation of the residual components; and

applying the set of filters to analyze the new set of candidate seasonal frequencies.

16. The computer-implemented method of claim 1 further comprising downsampling the time series data set and identifying another seasonal frequency for the downsampled time series data set.

17. The computer-implemented method of claim 1 , wherein an iterative process is performed to identify additional frequencies associated with the time series data set via downsampling the time series data set.

18. One or more computer-readable storage media having instructions stored thereon, wherein the instructions, when executed by a computing device, cause the computing device to:

obtain a time series data set, wherein the time series data set comprises a set of events accessed in a field-searchable data store, wherein each event includes a portion of raw machine data that reflects activity in an information technology environment and that is produced by a component of that information technology environment, wherein each event includes a set of fields, wherein at least one field is defined by an extraction rule that when applied extracts a value from the portion of raw machine data that has the field specified by the extraction rule;

apply, via one or more processors, a set of filters to analyze a set of candidate seasonal frequencies associated with the time series data set and update the set of candidate seasonal frequencies by removing any candidate seasonal frequencies that fail a filter from the set of candidate seasonal frequencies to reduce subsequent computing resource utilization, wherein at least one of the filters of the set of filters includes comparing auto-correlation function (ACF) peaks associated with a representation of the time series data set and spectral density function (SDF) or periodogram function peaks associated with the time series data set;

identify a candidate seasonal frequency of the updated set of candidate seasonal frequencies as a seasonal frequency for the time series data set; and

provide the seasonal frequency for the time series data set for use in performing data analysis.

19. A computing device comprising:

one or more processors; and

a memory coupled with the one or more processors, the memory having instructions stored thereon, wherein the instructions, when executed by the one or more processors, cause the computing device to:

obtain a time series data set, wherein the time series data set comprises a set of events accessed in a field-searchable data store, wherein each event includes a portion of raw machine data that reflects activity in an information technology environment and that is produced by a component of that information technology environment, wherein each event includes a set of fields, wherein at least one field is defined by an extraction rule that when applied extracts a value from the portion of raw machine data that has the field specified by the extraction rule;

apply, via the one or more processors, a set of filters to analyze a set of candidate seasonal frequencies associated with the time series data set and update the set of candidate seasonal frequencies by removing any candidate seasonal frequencies that fail a filter from the set of candidate seasonal frequencies to reduce subsequent computing resource utilization, wherein at least one of the filters of the set of filters includes comparing auto-correlation function (ACF) peaks associated with a representation of the time series data set and spectral density function (SDF) or periodogram function peaks associated with the time series data set;

identify a candidate seasonal frequency of the updated set of candidate seasonal frequencies as a seasonal frequency for the time series data set; and

provide the seasonal frequency for the time series data set for use in performing data analysis.

Assignments (4)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069826/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2023
From: DEADERICK, WILLIAM; GILLIGAN, TANNER; ROSS, JOSEPH ARI
To: SPLUNK INC.
Reel/Frame 063420/0674 →
Continuity (2)
Continuation 17384491 · Jul 23, 2021
Provisional Application 63182717 · Apr 30, 2021
References Cited (18)
US 7937344B2 · Baum et al. · 2011 [cited by applicant]
US 8112425B2 · Baum et al. · 2012 [cited by applicant]
US 8751529B2 · Zhang et al. · 2014 [cited by applicant]
US 8788525B2 · Neels et al. · 2014 [cited by applicant]
US 9215240B2 · Merza et al. · 2015 [cited by applicant]
US 9286413B1 · Coates et al. · 2016 [cited by applicant]
US 10127258B2 · Lamas et al. · 2018 [cited by applicant]
US 11392845B2 · Singh et al. · 2022 [cited by applicant]
US 11663109B1 · Deaderick · 2023 [cited by examiner]
US 20150377938A1 · Bansal et al. · 2015 [cited by applicant]
US 20190098106A1 · Mungel et al. · 2019 [cited by applicant]
Bitincka, L., et al., “Optimizing Data Analysis with a Semi-structured Time Series Database”, Workshop on Managing Systems via Log Analysis and Machine Learning Techniques (SLAML), Vancouver, British Columbia, (Oct. 3, … [cited by applicant]
Carraso, D., “Exploring Splunk,” published by CITO Research, New York, NY, Apr. 2012. [cited by applicant]
Splunk Cloud 8.0.2004 User Manual, available online, retrieved May 20, 2020 from docs.splunk.com. [cited by applicant]
Splunk Enterprise 8.0.0 Overview, available online, retrieved May 20, 2020 from docs.splunk.com. [cited by applicant]
Splunk Quick Reference Guide, updated 2019, available online at https://www.splunk.com/pdfs/solution-guides/splunk-quick-reference-guide.pdf, retrieved May 20, 2020. [cited by applicant]
U.S. Appl. No. 63/182,717, filed Apr. 30, 2021, Status: Expired. [cited by applicant]
U.S. Appl. No. 17/384,491, filed Jul. 23, 2021, Status: Patented Case. [cited by applicant]