IP Library Granted Patent US 10,776,818
Granted Patent B1
US 10,776,818 · App. 16/669,156 · Granted Sep 15, 2020

Identifying and leveraging patterns in geographic positions of mobile devices

Inventors: Brian Gabriel Nash (Seattle, WA); Andrew Hoy Stein (Carlsbad, CA)
Assignee: Splunk Inc.
G06Q30/0246G01S5/0252G06Q30/0205H04W4/02
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 10,776,818
App. No.
16/669,156
Granted
Sep 15, 2020
Kind
B1
Abstract

Embodiments are disclosed for a method that may include accessing events in a field-searchable data store. The events may include raw machine data associated with a timestamp. The raw machine data may represent interactions between a mobile device and one or more network devices at a locale. The method may further include determining, based on the interactions, one or more geographic positions of the mobile device, and calculating a metric for the locale using the geographic positions.

Claims (131)

1. A method, comprising:

receiving, via a network connection, an event log from at least one wireless access point in a plurality of network devices at a locale,

wherein the at least one wireless access point is in a communication path between a plurality of mobile devices and a wireless network, and

wherein the event log lists a plurality of network interactions between the plurality of mobile devices and the at least one wireless access point in order for the plurality of mobile devices to access the wireless network, the plurality of network interactions each corresponding to a single event of a plurality of events in the event log;

storing the event log at the data intake and query system;

processing, by the data intake and query system, a query for a subset of the plurality of events corresponding to a mobile device of the plurality of mobile devices;

generating, by a processor, a plurality of geographic position patterns for the mobile device using the plurality of interactions, wherein generating the plurality of geographic position patterns comprises determining, by the data intake and query system, a duration of time that the mobile device is connected to a particular wireless access point based on a time difference between an initial access request to access the wireless network and a termination access request to stop access to the wireless network as recorded in the event log;

determining, by the processor, at least one value of at least one characteristic of the mobile device based on the plurality of geographic position patterns; and

clustering, according to the at least one characteristic, a plurality of mobile devices comprising the mobile device, wherein clustering assigns the mobile device to a cluster based on the at least one value of the at least one characteristic and calculates a membership score, the membership score indicating a degree of similarity of the at least one value to an average value of the at least one characteristic in the cluster.

2. The method of claim 1 , wherein the at least one characteristic is further based on a sales transaction obtained from a point-of-sale (POS) system at the locale.

3. The method of claim 1 ,

wherein at least a subset of the plurality of events each include a mobile device identifier of the mobile device, a timestamp, and an interaction type,

wherein the timestamp records a time of a corresponding network interaction between the mobile device and the at least one wireless access point, and

wherein, for the first event, the interaction type is the initial access request, wherein, for the second event, the interaction type is the termination access request.

4. The method of claim 1 , wherein determining the location of the mobile device is further performed using triangularization based on measuring the radial distance of the plurality of network devices to the mobile device as recorded in the plurality of events.

5. The method of claim 1 , further comprising:

identifying, as an anomaly, a first geographic position pattern of the plurality of geographic position patterns; and

excluding, in response to identifying the first geographic position pattern as an anomaly, the first geographic position pattern from the plurality of geographic position patterns.

6. The method of claim 1 , further comprising:

obtaining user data corresponding to a user from an application executing on the mobile device;

correlating the plurality of geographic position patterns with the user data; and

assigning the mobile device to the user in response to the correlating.

7. The method of claim 1 , further comprising:

correlating the at least one value of the at least one characteristic with a purchasing preference for a product;

identifying, in response to correlating the at least one value of the at least one characteristic, a promotion for the product targeting the cluster; and

predicting an impact of the promotion on a metric of the locale.

8. The method of claim 1 , further comprising:

obtaining inventory data from an inventory system;

identifying, using the inventory data, a product with expiring inventory;

correlating, in response to identifying the product, the at least one value of the least one characteristic with a purchasing preference for the product; and

transmitting a promotion for the product to the mobile device.

9. The method of claim 1 , further comprising:

obtaining user data corresponding to a user from a mobile application executing on the mobile device;

correlating the plurality of geographic position patterns with the user data;

assigning the mobile device to the user in response to the correlating; and

determining, using the plurality of geographic position patterns, an average number of days between visits to the locale by the user,

wherein the at least one value of the at least one characteristic is further based on the average number of days between visits.

10. The method of claim 1 , further comprising:

determining, using the plurality of geographic position patterns, an average number of days between visits to the locale by the mobile device; and

transmitting a promotion for a product to the mobile device in response to a current number of days following the most recent visit to the locale by the mobile device being within a threshold of the average number of days between visits, wherein the at least one value of the at least one characteristic indicates a purchasing preference for the product.

11. The method of claim 1 , further comprising:

obtaining user data corresponding to a user from a mobile application executing on the mobile device;

correlating the plurality of geographic position patterns with the user data;

assigning the mobile device to the user in response to the correlating; and

determining, using the plurality of geographic position patterns, an average amount of time spent at the locale by the user,

wherein the at least one value of the at least one characteristic is further based on the average amount of time spent.

12. A computer system, comprising:

a data store comprising an event log of a plurality of events comprising a plurality of interactions between a mobile device and at least one wireless access point on a wireless network at a locale,

wherein the at least one wireless access point is in a communication path between a plurality of mobile devices and a wireless network,

wherein the event log lists a plurality of network interactions between the plurality of mobile devices and the at least one wireless access point in order for the plurality of mobile devices to access the wireless network, the plurality of network interactions each corresponding to a single event of a plurality of events in the event log, and

wherein the event log is received from the at least one wireless access point via a network connection to the data store;

storing the event log at the data intake and query system; and

circuitry configured to:

process a query for a subset of the plurality of events corresponding to a mobile device of the plurality of mobile devices;

generate a plurality of geographic position patterns for the mobile device using the plurality of interactions, wherein generating the plurality of geographic position patterns comprises determining, by the data intake and query system, a duration of time that the mobile device is connected to a particular wireless access point based on a time difference between an initial access request to access the wireless network and a termination access request to stop access to the wireless network as recorded in the event log;

determine at least one value of at least one characteristic of the mobile device based on the plurality of geographic position patterns; and

clustering, according to the at least one characteristic, a plurality of mobile devices comprising the mobile device, wherein clustering assigns the mobile device to a cluster based on the at least one value of the at least one characteristic and calculates a membership score, the membership score indicating a degree of similarity of the at least one value to an average value of the at least one characteristic in the cluster.

13. The system of claim 12 , wherein the at least one characteristic is further based on a sales transaction obtained from a point-of-sale (POS) system at the locale.

14. The system of claim 12 , wherein the circuitry is further configured to:

identify, as an anomaly, a first geographic position pattern of the plurality of geographic position patterns; and

exclude, in response to identifying the first geographic position pattern as an anomaly, the first geographic position pattern from the plurality of geographic position patterns.

15. The system of claim 12 , wherein the circuitry is further configured to:

obtain user data corresponding to a user from an application executing on the mobile device;

correlate the plurality of geographic position patterns with the user data; and

assign the mobile device to the user in response to the correlating.

16. The system of claim 12 , wherein the circuitry is further configured to:

correlate the at least one value of the at least one characteristic with a purchasing preference for a product;

identify, in response to correlating the at least one value of the at least one characteristic, a promotion for the product targeting the cluster; and

predict an impact of the promotion on a metric of the locale.

17. The system of claim 12 , wherein the circuitry is further configured to:

obtain inventory data from an inventory system;

identify, using the inventory data, a product with expiring inventory;

correlate, in response to identifying the product, the at least one value of the at least one characteristic with a purchasing preference for the product; and

transmit a promotion for the product to the mobile device.

18. The system of claim 12 , wherein the circuitry is further configured to:

obtain user data corresponding to a user from a mobile application executing on the mobile device;

correlate the plurality of geographic position patterns with the user data;

assign the mobile device to the user in response to the correlating; and

determine, using the plurality of geographic position patterns, an average number of days between visits to the locale by the user,

wherein the at least one value of the at least one characteristic is further based on the average number of days between visits.

19. The system of claim 12 , wherein the circuitry is further configured to:

determine, using the plurality of geographic position patterns, an average number of days between visits to the locale by the mobile device; and

transmit a promotion for a product to the mobile device in response to a current number of days following the most recent visit to the locale by the mobile device being within a threshold of the average number of days between visits, wherein the at least one value of the at least one characteristic indicates a purchasing preference for the product.

20. The system of claim 12 , wherein the circuitry is further configured to:

obtain user data corresponding to a user from a mobile application executing on the mobile device;

correlate the plurality of geographic position patterns with the user data;

assign the mobile device to the user in response to the correlating; and

determine, using the plurality of geographic position patterns, an average amount of time spent at the locale by the user,

wherein the at least one value of the at least one characteristic is further based on the average amount of time spent.

21. A non-transitory computer-readable medium comprising instructions, execution of which in a computer system causes the computer system to:

receive, via a network connection, an event log from at least one wireless access point in a plurality of network devices at a locale,

wherein the at least one wireless access point is in a communication path between a plurality of mobile devices and a wireless network, and

wherein the event log lists a plurality of network interactions between the plurality of mobile devices and the at least one wireless access point in order for the plurality of mobile devices to access the wireless network, the plurality of network interactions each corresponding to a single event of a plurality of events in the event log;

store the event log at the data intake and query system;

process, by the data intake and query system, a query for a subset of the plurality of events corresponding to a mobile device of the plurality of mobile devices;

generate a plurality of geographic position patterns for the mobile device using the plurality of interactions, wherein generating the plurality of geographic position patterns comprises determining, by the data intake and query system, a duration of time that the mobile device is connected to a particular wireless access point based on a time difference between an initial access request to access the wireless network and a termination access request to stop access to the wireless network as recorded in the event log;

determine at least one value of at least one characteristic of the mobile device based on the plurality of geographic position patterns; and

clustering, according to the at least one characteristic, a plurality of mobile devices comprising the mobile device, wherein clustering assigns the mobile device to a cluster based on the at least one value of the at least one characteristic and calculates a membership score, the membership score indicating a degree of similarity of the at least one value to an average value of the at least one characteristic in the cluster.

22. The non-transitory computer-readable medium of claim 21 , wherein the at least one value characteristic is further based on a sales transaction obtained from a point-of-sale (POS) system at the locale.

23. The non-transitory computer-readable medium of claim 21 , wherein the at least one value of the at least one characteristic is further based on data obtained from a sensor at the locale.

24. The non-transitory computer-readable medium of claim 21 , wherein the instructions, upon execution, further cause the computer system to:

identify, as an anomaly, a first geographic position pattern of the plurality of geographic position patterns; and

exclude, in response to identifying the first geographic position pattern as an anomaly, the first geographic position pattern from the plurality of geographic position patterns.

25. The non-transitory computer-readable medium of claim 21 , wherein the instructions, upon execution, further cause the computer system to:

obtain user data corresponding to a user from an application executing on the mobile device;

correlate the plurality of geographic position patterns with the user data; and

assign the mobile device to the user in response to the correlating.

26. The non-transitory computer-readable medium of claim 21 , wherein the instructions, upon execution, further cause the computer system to:

correlate the at least one value of the at least one characteristic with a purchasing preference for a product;

identify, in response to correlating the at least one value of the at least one characteristic, a promotion for the product targeting the cluster; and

predict an impact of the promotion on a metric of the locale.

27. The non-transitory computer-readable medium of claim 21 , wherein the instructions, upon execution, further cause the computer system to:

obtain inventory data from an inventory system;

identify, using the inventory data, a product with expiring inventory;

correlate, in response to identifying the product, the at least one value of the at least one characteristic with a purchasing preference for the product; and

transmit a promotion for the product to the mobile device.

28. The non-transitory computer-readable medium of claim 21 , wherein the instructions, upon execution, further cause the computer system to:

obtain user data corresponding to a user from a mobile application executing on the mobile device;

correlate the plurality of geographic position patterns with the user data;

assign the mobile device to the user in response to the correlating; and

determine, using the plurality of geographic position patterns, an average number of days between visits to the locale by the user,

wherein the at least one value of the at least one characteristic is further based on the average number of days between visits.

29. The non-transitory computer-readable medium of claim 21 , wherein the instructions, upon execution, further cause the computer system to:

determine, using the plurality of geographic position patterns, an average number of days between visits to the locale by the mobile device; and

transmit a promotion for a product to the mobile device in response to a current number of days following the most recent visit to the locale by the mobile device being within a threshold of the average number of days between visits, wherein the at least one value of the at least one characteristic indicates a purchasing preference for the product.

30. The non-transitory computer-readable medium of claim 21 , wherein the instructions, upon execution, further cause the computer system to:

obtain user data corresponding to a user from a mobile application executing on the mobile device;

correlate the plurality of geographic position patterns with the user data;

assign the mobile device to the user in response to the correlating; and

determine, using the plurality of geographic position patterns, an average amount of time spent at the locale by the user,

wherein the at least one value of the at least one characteristic is further based on the average amount of time spent.

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 069825/0558 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2019
From: NASH, BRIAN GABRIEL; STEIN, ANDREW HOY
To: SPLUNK INC.
Reel/Frame 051251/0661 →
Cited By (1)
US 12,456,137