LOCATION GRAPH BASED DERIVATION OF ATTRIBUTES
Location graph-based derivation of user attributes is disclosed. In various embodiments, location data associated with a user, such as a current and/or past location at which the user has been, is received. A user attribute data associated with the location data is determined and used to update a user profile associated with the user.
CROSS REFERENCE TO OTHER APPLICATIONS
This application claims priority to U.S. Provisional Patent Application No. 61/663,183 entitled LOCATION GRAPH BASED DERIVATION OF ATTRIBUTES filed Jun. 22, 2012 which is incorporated herein by reference for all purposes.
BACKGROUND OF THE INVENTION
Computer “cookies” have been used to track which websites a computer user has visited, e.g., using a browser. Browsing history information gathered using cookies has been used to select for display to the computer user, e.g., in a banner or pop-up ad, advertising content that may have been selected based at least in part on attributes of pages the user has visited. For example, a computer user who has visited web pages associated with automobiles may be more likely to have a car ad selected for display to the user.
Attempts have been made to target ads to a mobile device user based on the user's current geographic location. For example, an ad “request” sent by and/or on behalf of a mobile app being used by a mobile user may include GPS or other current location information (e.g., latitude/longitude), and an attempt may be made to serve to the mobile user for display in the context of the mobile app an ad that has been selected based on the current location information included in the ad request, for example an ad for a business that is located at or near the user's current location.
Ads also have been selected based on the content of a site the user is currently visiting or an app the user is using, and based on analyses of social media content associate with a user, such as the user's own feed or that of the user's friends, etc.
BRIEF DESCRIPTION OF THE DRAWINGS
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. As used herein, the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
Building a profile of a user based on the user's location history is disclosed. In various embodiments, demographic and/or behavioral profiles associated with a user's current and/or past location(s) are attributed to the user. For example, in some embodiments a location data, such as a latitude/longitude or other location identifying information, may be received, e.g., in an ad request from an anonymous or a previously known user. When the ad request comes in, the location is mapped to a business or other place of interest, a zip+4 code, etc. One or more user attributes associated with the business or other named place to which the user's location has been mapped may be added to a user profile associated with the user.
In various embodiments, the user attributes may be associated with the user's location at varying degrees of granularity and/or specificity. For example, the user's profile may be updated based on including information about where the user was in a business or other defined location, say in the International Terminal of an airport as opposed to more generally being at the airport. Such more specific information may signal that the user is not only a traveler but also an international traveler. For another example, the user may be determined to be located in the women's clothing department in a clothes retailer, which may signify that the user is a woman, or say in the appliance section versus the TV section in a big box electronics store to signal someone interested in an appliance rather than a TV.
If the user previously was unknown, a new profile may be created and stored for the user. If the same user is seen again, e.g., a future ad request from the same mobile or other equipment is received, the user's profile may be updated, for example by adding further attributes about the user to the profile, increasing a confidence level associated with one or more attributes added to the profile previously, etc.
In various embodiments, a “location taxonomy” that assigns demographic and behavior profiles to businesses and places of interests is created and maintained. For example, users in nail salons may be determined based on demographic attributes of past users at that location to be statistically likely to be females, users in plumbing stores may be determined based on demographic attributes of past users at that location to be statistically likely to be males, and users on child playgrounds may be determined based on demographic attributes of past users at that location to be statistically likely to have kids. In various embodiments, attributes ascribed to a user based on attributes associated with places they have visited may be confirmed to be correct or incorrect in a particular case based on other information, for example attributes associated with other locations the same user has visited, user profile information received from and/or confirmed by the user, information from third party data sources about the user, the user's equipment, and/or places the user has been, etc. In some embodiments, rules may be used to classify a zip+4 code as either “home zip” or “work zip,” e.g., based on time of day, proximity to other users, etc. In some embodiments, third party data associating demographic and/or other data with locations at the zip+4 level may be used.
In various embodiments, a user profile may contain user demographic and behavioral attributes derived, for example, from the user's past locations, and may enable a more informed decision to be made as to which ad or other content may be of interest to the user, even if the ad request received from the user's device does not contain location information and/or no useful information is derived from the current location. For example, the user profile lookup may reveal the user is an “auto intender” (i.e., someone currently intending to buy an auto), even though the user is not currently anywhere near an auto dealership.
In some embodiments, a weighted algorithm is used to adjust a current profile on the user based on user information associated with a current location of the user. In various embodiments, over time increasingly accurate profile attributes may be determined, based on information amalgamated about where a user has been.
In various embodiments, user attributes may be assigned to places of business based on business floor plans or calendar events. An example of assigning user attributes based on floor plan is if a user is in a big box electronic retailer and by accessing information about the business floor plan, the system is able to determine if the user was in the appliance or TV section as a more specific signal of intent (i.e., to purchase an appliance versus a TV); whether the user was at a sales register as an indication that the user may have responded favorable to an ad sent to the user; or whether the user was at a sales register in the appliance or TV section as a stronger indication that the user actually made a purchase of the type of item advertised. An example of assigning user attributes based on calendar events is a multi-use venue such as an airport or stadium. Stadiums host both sporting events and music events, and in some embodiment a calendar of events is used at least in part to ascribe attributes to users based on the nature of event that is scheduled to be occurring at the time the user is observed to be at the venue
In various embodiments, user attributes may be associated with a defined location with varying degrees of confidence, reflected for example in a confidence or other score and/or weighting associated with the user attribute with respect to that defined location. For example, if 90% of nail salon patrons are known to be female, a gender attribute of “female” may be assigned (at least initially) with a 90% degree of confidence to a user profile of a user observed to be or have been in a nail salon. Other gender attribute information may be or have been derived from other sources, such as based on other locations the same user has visited, and for each such location a corresponding confidence score and/or weighting may be associated with the gender attribute associated with that location. The respective confidence scores, weightings, etc. may be used in various embodiments to determine a most likely value for the attribute and an associated level of confidence, which in various embodiments are stored in the user's profile.
In the example shown in
In various embodiments, user attributes may be determined based on one or more prior locations, and those attributes may be used to select an ad to be served in response to ad requests that do not include a location. For example, in some embodiments if enough prior location history is known about a user to assign to the user an “auto intender” profile as described above, the prior location-derived “auto intender” profile may be assigned to the user and used to serve an auto ad even if the current ad request does not have a location.
In various embodiments, a mobile advertisement may be served to a user based on third party data that other companies have gathered about the user, including without limitation offline transaction data. In some embodiments, one or more third parties obtain data from retailers about what consumers spend in their stores. Such data typically is referred to as “offline transaction data,” since it happens in a store (and is therefore not “online”) and is transactional because it measures actual purchases. Most third party companies know the user's postal address. In various embodiments, third party data records identified by postal address may be used to map such offline transaction data to user profiles built as described herein. A user's location graph, derived from the user's locations as observed via ad requests and/or otherwise, may be used as described herein to determine and store in the user's profile the user's postal address. The postal address determined for the user and stored in the user's profile is then used to “match” data with the third party offline transaction data, enabling both advertisements and measurement studies to be offered to advertisers based on offline transactional data. A measurement study refers in various embodiments to the ability to see how a particular household indexes for a product before and after being exposed to an ad.
In various embodiments, IP coincidence-based techniques may be used to determine whether two or more devices are associated with a single “user”, and based on such a determination to merge user profiles and/or split a profile into two or more distinct user profiles. Most paid internet subscriptions have a unique IP address. For example, the IP address that powers the WiFi in a user's house is different and unique from the IP address of that user's neighbor, even though both may use the same Internet service provider. For every ad that is served to a user who is connected to the Internet via the WiFi at the user's house, the same IP address is sent in the ad request, regardless of device. So, for example, if the user is using an app on a first device at home over WiFi and later on (could be another day or another week) the user uses an app on a second device at home over WiFi, the two devices would be associated with the same unique IP address. In various embodiments, an IP address to home or other street address mapping is built. The IP address to street address mapping may be used to more correctly assign two devices to one user. For example, in some embodiments, if the street address has been determined to be the user's home address (as opposed to anyplace that has “shared” WiFi, such as work or a public place like a coffee shop or other hotspot), a decision to merge two initially separate profiles, each associated with a separate device identifier but with the same IP address, may be made with higher confidence.
In various embodiments, user profile information derived primarily based on ad requests and associated location information received in connection with a user's use of a first set of one or more devices (e.g., a smartphone) may be used to inform interaction with the same user, via user attribute information stored in the user's profile, during time in which the user is using a typically more stationary and/or location-history rich but at least sometimes mobile or at least portable device, such as a laptop, tablet, or other portable computer. For example, for a typical user who uses a smartphone, a tablet, and a laptop computer, e.g., in the course of a business trip, the user may be observed (for example, via ad requests) to use the tablet and/or laptop at airports, in hotels, and in multiple cities; however, a rich location history may not be able to be built based on the user's use of a tablet and/or laptop alone, because typically a user will not use such a device to connect at restaurants, auto dealerships, beauty salons, etc. By contrast, the user may be observed at a greater diversity of locations through the user's use of their smartphone. By associating all three devices with the same user profile, using techniques disclosed herein, a location-derived profile that more accurately describes the user based on the user's locations as determined (primarily) from their use of their smartphone may be used to target in a more informed way ads sent to the user when the user is using the user's tablet or laptop. For example, if a user was observed based on an ad request received from their smartphone to have been on a car lot this past Sunday, an auto advertisement may be served to the user on the user's tablet while the user is connected to WiFi at home, even though the user never took their tablet to the car lot.
In some embodiments, an ad or other content may be provided in a manner that includes, reflects, and/or is otherwise informed by a user address data stored in the user's profile. For example, in the example described above, the ad for the car lot may be served to the user via the user's tablet while the user is at home in a manner that reflects the system's awareness—based on the user's profile; information included in the ad request, such as the IP address associated with the user's home WiFi; and/or contextual information such as the day of the week, time of day, etc.—that the user is at home or some other user location the street address of which is known. For example, directions from the known user location to a retail store with which an ad is associated may be included and/or a link to such information may be included in the ad.
In various embodiments, a user profile that is based at least in part on a user's location history may be used to select advertising and/or other content to be provided to the user.
While in certain examples described herein a user profile generated at least in part based on a user's past location(s) is used to determine an ad to be served to the user, in various embodiments a profile so generated may be used for one or more other or different purposes, including without limitation to select non-advertising content to be provided to the user. In addition, while in various embodiment a user profile is built to associate with a user one or more attributes derived from that user's past location(s), in other embodiments, advertising and/or other content may be selected for a user based on the user's past location(s) other than by storing in a user profile one or more user attributes derived from such past location(s). For example, in some embodiments, a user's past location(s) may be evaluated dynamically, at content selection time, to select content based at least in part on such past location(s).
Techniques disclosed herein enable the intersection of users and their locations to be used to assign users to audience segments, enabling content more likely to be of interest to a particular user, such as mobile ads, to be provided.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
1. A method, comprising:
- receiving a location data associated with a user;
- determining a user attribute data associated with the location data; and
- updating, based at least in part on the user attribute data, a user profile associated with the user.
2. The method of claim 1, wherein the location data includes a set of location coordinates.
3. The method of claim 1, wherein the location data is received in connection with an ad request.
4. The method of claim 1, wherein the location data is received in connection with one or more of the following: a WiFi login page, a marketing opportunity within a mobile app, entering a geo-fence, and a deal or offer opportunity.
5. The method of claim 1, wherein determining a user attribute data associated with the location data includes using the location data to identify a defined location that is associated with the location data.
6. The method of claim 5, wherein the defined location includes one or more of the following: a business, a business floor plan, a point of interest, a street address, a zip+4 or other postal code, a neighborhood, a district, and a political or other subdivision.
7. The method of claim 5, wherein determining a user attribute data associated with the location data further includes determining a user attribute data associated with the defined location.
8. The method of claim 7, further comprising: determining that the user attribute data is associated with the defined location and storing an association data that associates the user attribute data with the defined location.
9. The method of claim 8, wherein the user attribute data is determined to be associated with the defined location based at least in part on a prior user's presence at a prior time at the defined location.
10. The method of claim 9, wherein the user attribute data is derived at least in part from a prior user profile of the prior user.
11. The method of claim 1, wherein the user attribute data is determined at least in part by querying a third party or other external data source.
12. The method of claim 1, wherein the user attribute data comprises demographic data.
13. The method of claim 1, wherein the user attribute data comprises behavioral data.
14. The method of claim 1, wherein the location data includes a set of two or more locations and determining the user attribute data associated with the location data includes determining that the location data matches a location pattern with which the user attribute data is associated.
15. The method of claim 1, wherein the user profile comprises a first user profile and further comprising merging said first user profile with a second user profile based at least in part on a determination that the first user profile and the second user profile are associated with the same user.
16. The method of claim 1, further comprising updating the user profile to reflect the passage of time.
17. A system, comprising:
- a processor configured to: receive a location data associated with a user; determine a user attribute data associated with the location data; and update, based at least in part on the user attribute data, a user profile associated with the user; and
- a storage device coupled to the processor and configured to store the user profile.
18. The system of claim 17, further comprising a communication interface coupled to the processor and configured to receive said location data associated with the user.
19. The system of claim 17, wherein the processor is configured to determine the user attribute data associated with the location data at least in part by using the location data to identify a defined location that is associated with the location data.
20. The system of claim 19, wherein the processor is further configured to determine that the user attribute data is associated with the defined location and store an association data that associates the user attribute data with the defined location.
21. A computer program product embodied in a tangible, non-transitory computer readable storage medium and comprising computer instructions for:
- receiving a location data associated with a user;
- determining a user attribute data associated with the location data; and
- updating, based at least in part on the user attribute data, a user profile associated with the user
Filed: Jun 21, 2013
Publication Date: Jan 9, 2014
Inventors: Kevin Ching (Berkeley, CA), Grigory Sokol (Castro Valley, CA), Ahmad Fairiz Azizi (Santa Clara, CA), Luke Gain (Santa Clara, CA), Yury Zhyshko (Minsk), Mark Dixon (Belmont, CA), Robert Abusaidi (Angels Camp, CA), Kevin McKenzie (Moraga, CA), John Raymond Klein (El Dorado Hills, CA), Leonid Blyukher (Burlingame, CA), Jeff Pittelkau (Oakland, CA), David Staas (Menlo Park, CA)
Application Number: 13/924,103
International Classification: G06F 17/30 (20060101);