IP Library Granted Patent US 11,049,142
Granted Patent B2
US 11,049,142 · App. 15/434,886 · Granted Jun 29, 2021

Smart geo-fencing using location sensitive product affinity

Inventors: Ankur Garg (Chandigarh, IN); Sweta Agrawal (Sirsa, IN); Shubham Agrawal (Kota, IN); Payal Bajaj (Palo Alto, CA); Abhishek Kedia (West Bengal, IN)
Assignee: ADOBE INC.
G06Q30/0261H04W4/021
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 11,049,142
App. No.
15/434,886
Granted
Jun 29, 2021
Kind
B2
Abstract

In some embodiments, a computing system determines, based on stored user information retrieved from a mobile user device and associated with a particular user, a location-specific affinity of the particular user for a product at a particular geographical location. The location-specific affinity indicates an interest of the particular user in the product that increases when the particular user is positioned at the particular geographical location. The computing system designs a geo-fence targeted to the particular user based on the location-specific affinity, where messages are transmitted to the mobile user device if the particular user is within a boundary of the geo-fence. The geo-fence defines a geographical area that includes the particular geographical location and that is associated with a provider of the product. The computing system causes a telecommunication server to transmit the message to the user device when the user device is positioned within the designed geo-fence.

Claims (84)

1. A computer-implemented method for generating personalized geo-fences that customize electronic communications with mobile devices, the computer-implemented method comprising:

determining, by a processor and from a set of taxonomy data defining a common characteristic of a set of similar products, cosine similarities between a product at a particular geographical location and additional products;

computing, by the processor, an intrinsic affinity of a particular user for the product from a weighted browse-count sum of (i) a browse count for the product and (ii) additional browse counts for the additional products, respectively, wherein each weight in the weighted browse-count sum indicates a respective cosine similarity between the product and a respective additional product,

computing, by the processor, a user-similarity-based affinity based on:

semantic vectors for geographic locations, wherein a semantic vector includes a plurality of dimensions respectively representing types of places located within a threshold distance of a geographic location and, wherein each dimension from the plurality of dimensions has a respective value representing a respective number of places having a respective type represented by the dimension, and

the intrinsic affinity of the particular user for the product,

designing, by the processor and based on the user-similarity-based affinity, a geo-fence targeted to the particular user such that a message is transmitted to a user device of the particular user in response to an indication that the particular user is within a boundary of the geo-fence, the geo-fence defining a geographical area that includes the particular geographical location and that is associated with a provider of the product; and

causing, by the processor, a telecommunication server to transmit the message to the user device when the user device is positioned within the designed geo-fence.

2. The computer-implemented method of claim 1 , wherein the geo-fence is designed based on a location-specific affinity determined from the user-similarity-based affinity, wherein the method further comprises determining the location-specific affinity by, at least:

computing the user-similarity-based affinity for the particular user from a weighted sum of intrinsic affinities for a set of users, wherein each weight of the weighted sum of the intrinsic affinities indicates a respective similarity between the particular user and a respective one of the users; and

computing the location-specific affinity from the user-similarity-based affinity and a weighted sum of additional user-similarity-based affinities for additional geographical locations wherein each weight of the weighted sum of the additional user-similarity-based affinities indicates a respective similarity between the particular geographical location and a respective one of the additional geographical locations.

3. The method of claim 1 , wherein the processor computes the user-similarity-based affinity by performing operations comprising:

generating a multi-layer hierarchy of clusters of the semantic vectors, wherein each layer of the multi-layer hierarchy includes a respective set of clusters of the semantic vectors; and

computing similarities between the particular user and users from a set of users, respectively, wherein computing each similarity comprises, for each user:

determining layer similarities between the user and the particular user based on the sets of clusters, respectively, and

determining the similarity between the user and the particular user based on a weighted sum of the layer similarities.

4. The method of claim 2 , wherein the processor further computes the location-specific affinity by computing each similarity between the particular geographical location and respective one of the additional geographical locations by computing a respective cosine similarity between a respective pair of semantic vectors representing the particular geographical location and the respective one of the additional geographical locations.

5. The method of claim 1 , wherein designing the geo-fence targeted to the particular user comprises:

computing, for the particular user, modeled location-specific affinities for geographical locations, respectively;

selecting a subset of particular geographical locations based on each selected geographical location having a respective modeled location-specific affinity greater than a threshold affinity;

grouping the subset of the particular geographical locations into clusters; and

deriving the geo-fence from a boundary around a cluster including the particular geographical location.

6. The method of claim 5 , wherein computing the modeled location-specific affinities for geographical locations comprises:

computing location-specific affinity vectors for the geographical locations and a set of users including the particular user, wherein each location-specific affinity vector comprises, for a respective one of the users, a respective distribution of location-specific affinities across the geographical locations;

segmenting the set of users by grouping the location-specific affinity vectors into location-specific affinity clusters, wherein the location-specific affinity clusters define respective segments of the users;

averaging, for a segment corresponding to the particular user, distributions of location-specific affinities in a location-specific affinity cluster corresponding to the segment; and

selecting the averaged distribution of location-specific affinities as the modeled location-specific affinities for the particular user.

7. The method of claim 1 , wherein stored user information used to compute the intrinsic affinity comprises:

a user browsing history generated from interactions by the user device with an online service providing access to the product; and

locations tracked by a global positioning system of the user device and associated with the interactions.

8. A non-transitory computer-readable medium embodying program code that, when executed by a processing device, cause the processing device to perform operations comprising:

determining, from a set of taxonomy data defining a common characteristic of a set of similar products, cosine similarities between a product at a particular geographical location and additional products;

computing an intrinsic affinity of a particular user for the product from a weighted browse-count sum of (i) a browse count for the product and (ii) additional browse counts for the additional products, respectively, wherein each weight in the weighted browse-count sum indicates a respective cosine similarity between the product and a respective additional product,

computing a user-similarity-based affinity based on:

semantic vectors for geographic locations, wherein a semantic vector includes a plurality of dimensions respectively representing types of places located within a threshold distance of a geographic location and, wherein each dimension from the plurality of dimensions has a respective value representing a respective number of places having a respective type represented by the dimension, and

the intrinsic affinity of the particular user for the product,

designing, based on the user-similarity-based affinity, a geo-fence targeted to the particular user such that a message is transmitted to a user device of the particular user in response to an indication that the particular user is within a boundary of the geo-fence, the geo-fence defining a geographical area that includes the particular geographical location and that is associated with a provider of the product; and

causing a telecommunication server to transmit the message to the user device when the user device is positioned within the designed geo-fence.

9. The non-transitory computer-readable medium of claim 8 , wherein the geo-fence is designed based on a location-specific affinity determined from the user-similarity-based affinity, wherein the operations further comprise determining the location-specific affinity by, at least:

computing the user-similarity-based affinity for the particular user from a weighted sum of intrinsic affinities for a set of users, wherein each weight of the weighted sum of the intrinsic affinities indicates a respective similarity between the particular user and a respective one of the users; and

computing the location-specific affinity from the user-similarity-based affinity and a weighted sum of additional user-similarity-based affinities for additional geographical locations wherein each weight of the weighted sum of the additional user-similarity-based affinities indicates a respective similarity between the particular geographical location and a respective one of the additional geographical locations.

10. The non-transitory computer-readable medium of claim 8 , wherein the user-similarity-based affinity is computed by performing operations comprising:

generating a multi-layer hierarchy of clusters of the semantic vectors, wherein each layer of the multi-layer hierarchy includes a respective set of clusters of the semantic vectors; and

computing similarities between the particular user and users from a set of users, respectively, wherein computing each similarity comprises, for each user:

determining layer similarities between the user and the particular user based on the sets of clusters, respectively, and

determining the similarity between the user and the particular user based on a weighted sum of the layer similarities.

11. The non-transitory computer-readable medium of claim 9 , wherein computing the location-specific affinity further comprises computing each similarity between the particular geographical location and respective one of the additional geographical locations by computing a respective cosine similarity between a respective pair of semantic vectors representing the particular geographical location and the respective one of the additional geographical locations.

12. The non-transitory computer-readable medium of claim 8 , wherein designing the geo-fence targeted to the particular user comprises:

computing, for the particular user, modeled location-specific affinities for geographical locations, respectively, wherein computing the modeled location-specific affinities for geographical locations comprises:

computing location-specific affinity vectors for the geographical locations and a set of users including the particular user, wherein each location-specific affinity vector comprises, for a respective one of the users, a respective distribution of location-specific affinities across the geographical locations,

segmenting the set of users by grouping the location-specific affinity vectors into location-specific affinity clusters, wherein the location-specific affinity clusters define respective segments of the users,

averaging, for a segment corresponding to the particular user, distributions of location-specific affinities in a location-specific affinity cluster corresponding to the segment, and

selecting averaged distribution of location-specific affinities as the modeled location-specific affinities for the particular user;

selecting a subset of the particular geographical locations based on each selected geographical location having a respective modeled location-specific affinity greater than a threshold affinity;

grouping the subset of the particular geographical locations into clusters; and

deriving the geo-fence from a boundary around a cluster including the particular geographical location.

13. A computing system comprising:

a non-transitory computer-readable medium storing computer executable program instructions; and

processing hardware configured for executing the program instructions and thereby perform operations comprising:

determining, from a set of taxonomy data defining a common characteristic of a set of similar products, cosine similarities between a product at a particular geographical location and additional products;

computing an intrinsic affinity of a particular user for the product from a weighted browse-count sum of (i) a browse count for the product and (ii) additional browse counts for the additional products, respectively, wherein each weight in the weighted browse-count sum indicates a respective cosine similarity between the product and a respective additional product,

computing a user-similarity-based affinity based on:

(a) semantic vectors for geographic locations, wherein a semantic vector includes a plurality of dimensions respectively representing types of places located within a threshold distance of a geographic location and, wherein each dimension from the plurality of dimensions has a respective value representing a respective number of places having a respective type represented by the dimension, and

(b) the intrinsic affinity of the particular user for the product, and

designing, based on the user-similarity-based affinity, a geo-fence targeted to the particular user such that a message is transmitted to a user device of the particular user in response to an indication that the particular user is within a boundary of the geo-fence, the geo-fence defining a geographical area that includes the particular geographical location and that is associated with a provider of the product; and

a server configured for transmitting the message to the user device when the user device is positioned within the designed geo-fence.

14. The computing system of claim 13 , wherein the geo-fence is designed based on a location-specific affinity determined from the user-similarity-based affinity, wherein the operations further comprise determining the location-specific affinity by, at least:

computing the user-similarity-based affinity for the particular user from a weighted sum of intrinsic affinities for a set of users, wherein each weight of the weighted sum of the intrinsic affinities indicates a respective similarity between the particular user and a respective one of the users; and

computing the location-specific affinity from the user-similarity-based affinity and a weighted sum of additional user-similarity-based affinities for additional geographical locations wherein each weight of the weighted sum of the additional user-similarity-based affinities indicates a respective similarity between the particular geographical location and a respective one of the additional geographical locations.

15. The computing system of claim 13 , wherein the user-similarity-based affinity is computed by performing operations comprising:

generating a multi-layer hierarchy of clusters of the semantic vectors, wherein each layer of the multi-layer hierarchy includes a respective set of clusters of the semantic vectors; and

computing similarities between the particular user and users from a set of users, respectively, wherein computing each similarity comprises, for each user:

determining layer similarities between the user and the particular user based on the sets of clusters, respectively, and

determining the similarity between the user and the particular user based on a weighted sum of the layer similarities.

16. The computing system of claim 14 , wherein computing the location-specific affinity further comprises computing each similarity between the particular geographical location and respective one of the additional geographical locations by computing a respective cosine similarity between a respective pair of semantic vectors representing the particular geographical location and the respective one of the additional geographical locations.

17. The computing system of claim 13 , wherein designing the geo-fence targeted to the particular user comprises:

computing, for the particular user, modeled location-specific affinities for geographical locations, respectively, wherein computing the modeled location-specific affinities for geographical locations comprises:

computing location-specific affinity vectors for the geographical locations and a set of users including the particular user, wherein each location-specific affinity vector comprises, for a respective one of the users, a respective distribution of location-specific affinities across the geographical locations,

segmenting the set of users by grouping the location-specific affinity vectors into location-specific affinity clusters, wherein the location-specific affinity clusters define respective segments of the users,

averaging, for a segment corresponding to the particular user, distributions of location-specific affinities in a location-specific affinity cluster corresponding to the segment, and

selecting the averaged distribution of location-specific affinities as the modeled location-specific affinities for the particular user;

selecting a subset of particular geographical locations based on each selected geographical location having a respective modeled location-specific affinity greater than a threshold affinity;

grouping the subset of the particular geographical locations into clusters; and

deriving the geo-fence from a boundary around a cluster including the particular geographical location.

Assignments (2)
CHANGE OF NAME Recorded Mar 6, 2019
From: ADOBE SYSTEMS INCORPORATED
To: ADOBE INC.
Reel/Frame 048525/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2017
From: GARG, ANKUR; AGRAWAL, SWETA; AGRAWAL, SHUBHAM; BAJAJ, PAYAL; KEDIA, ABHISHEK
To: ADOBE SYSTEMS INCORPORATED
Reel/Frame 041280/0877 →