US20120239486A1 - Suggesting deals to a user in a social networking system - Google Patents
Suggesting deals to a user in a social networking system Download PDFInfo
- Publication number
- US20120239486A1 US20120239486A1 US13/181,291 US201113181291A US2012239486A1 US 20120239486 A1 US20120239486 A1 US 20120239486A1 US 201113181291 A US201113181291 A US 201113181291A US 2012239486 A1 US2012239486 A1 US 2012239486A1
- Authority
- US
- United States
- Prior art keywords
- deal
- user
- deals
- candidate
- users
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000006855 networking Effects 0.000 title claims abstract description 142
- 230000009471 action Effects 0.000 claims abstract description 104
- 230000008685 targeting Effects 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005303 weighing Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 description 19
- 230000003993 interaction Effects 0.000 description 18
- 230000004913 activation Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 230000036541 health Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000035606 childbirth Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000037213 diet Effects 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000010419 pet care Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Definitions
- This invention relates to deals in social networking systems, and in particular to suggesting deals of interest to users in a social networking system.
- a deal is an offer to sell a product or service to a customer, oftentimes including a particular benefit available to customers who buy the product or service through the deal.
- a deal may offer a product or service at a discounted price, such as a fixed percent of the original price or a fixed amount below the original price.
- a deal may offer a discount on a future purchase of a product/service upon a purchase of a similar or a different product/service.
- a deal may also offer access to inventory not open to the general population. For example, a deal may provide discount on a second product upon purchase of a first product.
- Deals are often offered by providers who are different from the actual seller of the product or service. The deal provider manages the deal purchase transaction and gives a voucher for the transaction to the customer, who can then redeem the voucher for the purchased product or service.
- a social networking system suggests deals relevant to a user based on social information associated with the user, which may include information describing users of the social networking system connected to the target user.
- a user of the social networking system is identified for suggesting deals from a plurality of candidate deals.
- a measure of relevance of candidate deals is determined for the user. The measure of relevance is based on information describing associations between the candidate deal and other users connected to the user in the social networking system.
- a deal is selected based on the measures of relevance of the candidate deals and sent to the user.
- An association between a user connected to the user (called a connection of the user) and a candidate deal may be determined by matching the interests of the connection with information describing the candidate deal. Associations between candidate deals and the connections of the user may be determined based on actions associated with the deal performed by the connection, for example, purchasing a deal, commenting on a deal, posting an image associated with a deal, and the like. The actions may be weighted based on the types of actions to determine the measure of relevance of the candidate deals.
- FIG. 1 is a diagram of a system environment for allowing users of a social networking system to interact with deals from providers, in accordance with an embodiment of the invention.
- FIG. 2 is a diagram of the system architecture of a social networking system for allowing users of a social networking system to perform interactions with deals, in accordance with an embodiment of the invention.
- FIG. 3 is a user interface for allowing a user of a social networking system to interact with deals of interest to the user, in accordance with an embodiment of the invention.
- FIG. 4 is a user interface for presenting social information associated with deals of interest to the user of a social networking system, in accordance with one embodiment of the invention.
- FIG. 5 shows a screenshot of a user interface displaying connections of a user of the social networking system that are likely to be interested in a deal, in accordance with one embodiment of the invention.
- FIG. 6 is a flowchart of a process for determining deals that are likely to be of interest to a user of the social networking system, in accordance with one embodiment of the invention.
- FIG. 7 is a flowchart of a process for presenting social information along with information describing a deal to a user of the social networking system, in accordance with one embodiment of the invention.
- FIG. 8 is a flowchart of a process for categorizing deals based on social information for a user of the social networking system, in accordance with one embodiment of the invention.
- Embodiments use social networking systems to incorporate social information of users to improve user interactions with deals. Incorporation of social information provides better experience for the users interacting with the deals which in turn results in more users getting interested in deals. This furthers the goals of the providers since the providers are attempting to increase the number of potential customers by offering deals. Besides, deals provide a social experience to the users and a valuable interaction with the social networking system. Users that find the social networking system valuable are more likely to be loyal to the social networking system. Increased loyalty of the users to the social networking system is likely to attract more providers offering advertisements and deals via the social networking system. Since social networking systems derive revenue from advertisements, this provides increased revenues for the social networking systems.
- a user requesting information describing deals is presented with deals that are determined to be of interest to the user.
- the social networking system determines deals of interest to the user based on various criteria including information describing the user as well as information describing the connections of the user.
- the information describing the user and/or connections of the user considered includes actions performed by the user and/or the connections associated deals represented in the social networking system.
- the deals may be ranked based on their relevance to the user and presented to the user based on the ranking.
- Social information relevant to a deal is presented to a user along with information describing the deal.
- Social information relevant to the deal includes connections of the user that performed actions related to the deal including purchasing the deal, commenting on the deal, or recommending the deal.
- Social information relevant to a deal also includes events, social groups, and images captured by friends of the user. For example, a photograph taken by a friend of the user at a restaurant may be presented when a deal from the restaurant is presented to the user. A user is more likely to pay attention to a deal if the user is presented with social information related to a deal along with information describing the deal.
- Deals presented to a user are categorized based on social information describing the user. Deals that are related to each other based on a social context are presented together via a user interface. As a result, the user can relate the deals presented together and is provided with a social context in which to perform an action based on the deals. For example, a group of closely related friends may perform related actions associate with deals including going to concerts, movies, or attending other social events together. If the user is presented with the information describing deals related to these friends, the user is more likely to be interested in the deals and there is a better chance that the user might purchase a related deal.
- a deal is associated with an offer made to a user that provides certain benefits to the user upon acceptance.
- the benefit offered by a deal corresponds to a value of the deal or a price of the deal.
- a deal that offers higher benefits compared to other deals provides higher value compared to those deals.
- a user can purchase a deal by paying a price for the deal. The user can subsequently redeem the deal by making a purchase or a transaction.
- Providers often present a deal to the users along with their advertisements.
- the benefits offered by a deal are associated with a transaction, for example, a purchase of a product or service offered by the provider.
- a transaction between a customer and a provider involves an exchange between a user and a provider, wherein the customer provides money to the provider and the provider provides one or more products and/or services to the customer.
- a transaction involving a deal provides additional benefits to the user based on the deal.
- Benefits offered by a deal can include a reduction in the price of the product and/or service.
- the deal may offer reduction in price of a fixed percent (e.g., 10% reduction in price) or a reduction in price of a fixed amount (price reduced by ten dollars).
- the benefits provided by a deal may include other financial advantages including free shipping, a coupon for a subsequent purchase, a reduction in price of a different item bought in the same transaction, no sales tax, and the like.
- the benefits associated with a deal are referred to as the value of the deal or the price of the deal.
- a deal may be associated with a time period. For example, a deal can only be used after a start date and before an end date.
- the deal may be associated with other limits on the purchases. For example, the deal may apply to all items purchased in a transaction, the deal may apply to all purchases made on a particular day, or the deal may apply to a single item. These limits on the purchases applicable to a deal are called the maximum redemption of the deal.
- the deal may be associated with a location. For example, one location of a store may offer a deal but other locations may not.
- a deal may also be associated with an event.
- a deal may be applicable to in-store purchases as opposed to online purchases, or the deal may be for online purchases only.
- the deal may also have a specific redemption method. For example, the deal may require a user to present a coupon or a coupon code, the deal may be automatically offered upon making a purchase, the deal may require use of a particular type of payment mechanism including a specific type or credit or debit card, or the deal may require presentation of proof of membership in a club.
- a deal may be associated with certain conditions, for example, the number of purchases made by the user must exceed a threshold value or the total value of the purchases must exceed an amount.
- the required conditions associated with a deal are satisfied, the deal is considered activated.
- the activation of a deal may require an explicit status change by the provider of the deal. Alternatively, the activation may be automatic upon satisfaction of the required conditions and the user gets the benefits of the deal when the user completes an applicable transaction. The user may be required to complete a transaction associated with the purchase to redeem an activated deal.
- Certain deals may be activated when a user is present at a certain location associated with a deal.
- a deal may be activated when the user reaches the location of a restaurant.
- the deal may be activated when the user reaches a larger geographical area associated with the location of the provider.
- a deal associated with a restaurant may be activated if the user reaches a mall or an airport in which the restaurant is located.
- deals associated with providers located in a city may get activated for a user when the user is visiting the city.
- the location of a user may be detected by a device carried by the user, for example, with the help of a global positioning system (GPS), radio frequency identification (RFID) or explicitly identified by the user by checking-in to a location where the user is present or by tagging a photo with a business or location.
- GPS global positioning system
- RFID radio frequency identification
- a user can use the device to provide an indication to an online system informing the online system that the user has reached a location.
- a user providing input indicating that the user is present in a certain location is called checking-in to the location.
- the online system can send information to the provider indicating that the user is present at the location and the provider can activate the deal for the user.
- Activating a deal comprises marking the deal as ready for use by a user. For example, a deal that is activated can be presented to the user as a coupon that can be redeemed by the user.
- An activation of a deal may require certain actions to be performed by multiple users. For example, the activation of a deal may require multiple users to be present at a location associated with the provider. If more than a threshold number of user's friends' check-in to a location along with the user, the deal is activated. Each user who participates in the activation of the deal is called a participant of the deal.
- the deal may offer benefits to one user or to all the participants of the deal.
- a restaurant deal activated by a number of friends present at the location may offer a price reduction upon payment by a single user or it may offer price reduction to each participant making a separate payment.
- activation of the deal comprises redemption of the deal. For example, if more than a threshold number of connections of a user purchase tickets for an event (for example, a concert) via the social networking system, a social deal provides the tickets at a discounted price. In this case, the activation of the deal happens when the deal is redeemed.
- a reference to a deal in this disclosure may refer to an instance of deal associated with a particular user or a type of a deal offered by a provider.
- the context of the disclosure clarifies whether a deal refers to an instance of a deal or deals of a particular type.
- a deal may refer to an offer by a particular provider that gives 20% discount on a product if purchased before a given date.
- a deal may also refer to an instance of a social deal that is specific to a user and requires participation by connections of the user.
- FIG. 1 is a diagram of a system environment for allowing users of a social networking system to interact with deals using the social networking system, in accordance with an embodiment of the invention.
- the users 135 interact with the social networking system 100 using client devices 105 .
- the provider systems 120 also referred to as “provider” herein) interact with the social networking system 100 to provide information describing the deals.
- Some embodiments of the systems 100 , 120 , and 130 have different and/or other modules than the ones described herein, and the functions can be distributed among the modules in a different manner than described here.
- FIG. 1 and the other figures use like reference numerals to identify like elements.
- a provider system 120 comprises a provider application programming interface (API) module 125 that allows the social networking system 100 to interact with the provider system.
- the provider APIs 125 may be implemented as a web service.
- the provider APIs 125 allow the social networking system 100 to send requests for information to the provider system 120 and receive information associated with the deals from the provider system 120 .
- the social networking system 100 may send a request to the provider system 120 to determine whether a user of the social networking system 100 is an existing customer of the provider system 120 .
- the client device 105 used by a user 135 for interacting with the social networking system 100 can be a personal computer (PC), a desktop computer, a laptop computer, a notebook, a tablet PC executing an operating system, for example, a Microsoft Windows-compatible operating system (OS), Apple OS X, and/or a Linux distribution.
- the client device 105 can be any device having computer functionality, such as a personal digital assistant (PDA), mobile telephone, smartphone, etc.
- PDA personal digital assistant
- the client device 105 executes a user interface called dashboard 130 to allow the user 135 to interact with the social networking system 100 .
- the dashboard 130 allows the user 135 to perform various actions related to deals. These actions include retrieving information describing deals that are likely to be of interest to the user, recommending deals to connections of the user, participating in a deal, checking in to a location associated with a deal provider, and making a purchase using the deal.
- the dashboard 130 is presented to the user via a browser application that allows a user to retrieve and present information from the internet or from a private network.
- the social networking system 100 offers its users the ability to communicate and interact with other users of the social networking system 100 .
- Users join the social networking system 100 and then add connections to a number of other users of the social networking system 100 to whom they desire to be connected.
- the term “friend” refers to any other user to whom a user has formed a connection, association, or relationship via the social networking system 100 .
- the term friend need not require that users to actually be friends in real life, (which would generally be the case when one of the members is a business or other entity); it simply implies a connection in the social networking system 100 .
- the social networking system 100 maintains different types of objects representing entities, for example, user profile objects 175 , connection objects 195 , event objects 190 , deal objects 180 , and provider objects 185 .
- An object may be stored for each instance of the associated entity.
- a user profile object 175 stores information describing a user of the social networking system 100 .
- a connection object 195 stores information describing relations between two users of the social networking system or in general any two entities represented in the social networking system 100 .
- the event objects 190 store representations of real-world events in the social networking system 100 .
- the deal objects 180 represent deals and the provider objects represent providers in the social networking system 100 . These objects are further described in detail herein.
- the social networking system 100 comprises an external system interface 110 , a dashboard manager 115 and various modules described in FIG. 2 .
- the dashboard manager 115 allows users of the social networking system 100 to interact with the deals via the dashboard 130 user interface.
- the dashboard manager 115 presents information describing deals of interest to a user. For example, the dashboard manager may present different types of deals to two users that are interested in very different topics.
- the dashboard manager 115 allows a user 135 to perform various actions associated with the deal. These actions include purchasing the deal, recommending the deal to a connection, commenting on the deal, following the deal, liking the deal, participating in a social deal, uploading an image associated with the deal, for example, uploading an image taken at a location associated with the deal for display as part of the user's profile.
- a user purchases a deal by completing a transaction that takes advantage of the deal. For example, if the deal offers a 20% discount on purchase of a product, the user purchases the deal by purchasing the product and redeeming the deal for the purchase.
- the dashboard manager 115 receives requests from the user 135 for performing actions related to deals.
- a user 135 sends requests to the dashboard manager 115 via the dashboard 130 .
- a user 135 a may send a request to recommend a deal to a connection of the user 135 a (say, user 135 b ).
- the dashboard manager 115 may invoke other modules of the social networking system 100 shown in FIG. 2 to perform a requested action.
- the external systems interface 110 of the social networking system 100 allows various modules of the social networking system 100 to interact with external systems including the provider systems 120 .
- a module of the social networking system 100 may update the provider system 120 with information describing a transaction made by a user 135 .
- the external system interface 110 invokes the provider APIs 125 for interacting with the provider systems 120 .
- the external systems interface 110 also allows external systems to interact with the social networking system 100 , for example, to access the social network information or to update information present in the social networking system 100 .
- the external system interface 110 provides APIs that allow external systems to interact with the social networking system 100 .
- a provider system 120 may send information describing new deals from the provider by invoking appropriate APIs supported by the external systems interface 110 .
- the requests received from external systems are authenticated by the social networking system 100 to ensure that the external system has permissions to perform the requested actions.
- the social networking system 100 comprises modules other than those shown in FIG. 1 , for example, modules illustrated in FIG. 2 that are further described herein.
- FIG. 2 is a diagram of system architecture of a social networking system 100 for allowing users to interact with deals, in accordance with an embodiment of the invention.
- the social networking system 100 includes a web server 220 , a newsfeed generator 235 , a dashboard manager 115 , an external system interface 110 , an action logger 240 , an action log 245 , a deal pricing module 255 , suggestion module 265 , a deal proposal module 270 , an event manager 280 , a user profile store 285 , a connection store 230 , a deal store 225 , an event store 260 , and a provider store 275 .
- the social networking system 100 may include additional, fewer, or different modules for various applications. Conventional components such as network interfaces, security mechanisms, load balancers, failover servers, management and network operations consoles, and the like are not shown so as to not obscure the details of the system.
- the social networking system 100 allows users to communicate or otherwise interact with each other and access content, as described herein.
- the social networking system 100 stores user profile objects 175 in the user profile store 285 .
- the information stored in user profile store 285 describes the users of the social networking system 100 , including biographic, demographic, and other types of descriptive information, such as work experience, educational history, gender, sexual preferences, hobbies or preferences, location, and the like.
- the user profile store 285 may also store information provided by the user, for example, images, videos, comments, and status updates. Images of users may be tagged with the identification information of the appropriate users displayed in an image.
- Any action that a particular user takes using the social networking system 100 is associated with the user's profile 175 , through information maintained in a database or other data repository.
- Such actions may include, for example, adding a connection to the other user, sending a message to the other user, reading a message from the other user, viewing content associated with the other user, seeing what deals another user likes or is following, attending an event posted by another user, among others.
- a number of actions described below in connection with other objects are directed at particular users, so these actions are associated with those users as well.
- the connection store 230 stores data describing the connections between different users of the social networking system 100 , for example as represented in a connection object 195 .
- the connections are defined by users, allowing users to specify their relationships with other users. For example, the connections allow users to generate relationships with other users that parallel the users' real-life relationships, such as friends, co-workers, partners, and so forth.
- the connection specifies a connection type based on the type of relationship, for example, family, or friend, or colleague. Users may select from predefined types of connections, or define their own connection types as needed.
- Connections may be added explicitly by a user, for example, the user selecting a particular other user to be a friend, or automatically created by the social networking site based on common characteristics of the users (e.g., users who are alumni of the same educational institution). For example, if Bob and Joe are both connected to each other in the social networking system 100 , Bob and Joe, both users, are also each other's friends.
- the connection between users may be a direct connection; however, some embodiments of a social networking system 100 allow the connection to be indirect via one or more levels of connections.
- the deal store 225 stores information describing deals, for example, deals represented as deal objects 180 .
- the deal object 180 is associated with metadata describing the deal and comprises data specific to an instance of the deal.
- An instance of a deal may be created for each user that performs certain actions associated with the deal. For example, if the activation of a deal requires participation by connections of a user, the deal object 180 stores information describing the participants in the deal. As other connections of the user perform actions that contribute towards activation of the deal, the social networking system 100 updates the information stored in the deal object 180 .
- the information stored in a deal object 180 can comprise a description of the deal, one or more deadlines associated with the deal, for example, a start date and end date during which the deal can be used, a location associated with the deal, a type of the deal, a redemption method for the deal, maximum redemption associated with the deal, a description of the benefit offered by the deal, for example, a percent reduction in price, any conditions or rules associated with the deal, a profile page associated with the deal on the social networking system 100 , and other information.
- the deal object also stores information identifying the deal provider 120 , a user associated with the deal, and one or more connections of the user that may be associated with the deal if the deal activation requires participation by connections of the user.
- the deal object 180 may store information describing a source of the deal, for example, whether the deal was imported from an external system, or the deal was added to the social networking system 100 by the deal provider 120 , or if the deal was initiated by a user of the social networking system 100 .
- the deal object 180 may be associated with actions of users associated with the deal, for example, users that liked the deal or are following the deal, users who subscribed to the deal, users who purchased the deal, users who shared or gifted the deal, users who checked-in to locations associated with the deal, comments made by users on the deal etc.
- a deal object may store information specific to a particular user, for example, information identifying a user associated with the deal, connections of the user that are participating in the deal, etc.
- a deal store 225 also stores a category associated with each deal that describes the type of product or services associated with the deal. Examples of categories of deals include “dining,” “shopping,” “professional services,” “beauty and spas,” “health and fitness,” “automotive,” “pet care,” “financial services,” “travel,” and “arts and entertainment.”
- the social networking system 100 may have a list of business categories defined to classify various businesses.
- the social networking system 100 stores a mapping from the business categories to the deal categories to allow objects based on business categories to be matched with deal categories. For example, business categories “restaurant” and “bar” map to the deal category “dining.” Similarly, business categories “hotel,” “airport,” and “transit stop” map to deal category “travel.”
- a deal object may be associated with different types of social information including various users of the social networking system 100 , events represented in the social networking system 100 , actions associated with the deal by users, and the like. This information may be stored in various data stores in the social networking system 100 . Associations between the deal objects 180 and the relevant social information associated with the deal may be either stored explicitly in the social networking system 100 or determined as needed.
- the event store 260 stores information describing events associated with the social networking system 100 .
- An event object 190 may be defined for a real-world event, such as a birthday party.
- a user interested in attending the event may establish a connection with the event object.
- a user may create the event object 190 by defining information about the event such as the time and place and a list of invitees.
- Other users may send a reply to the invitation (an RSVP message) i.e., accept or reject the invitation, comment on the event, post their own content (e.g., pictures from the event), and perform any other actions enabled by the social networking system 100 for the event 185 .
- the creator of the event object 190 as well as the invitees for the event may perform various actions that are associated with that event object 190 .
- Certain events may be associated with deals, for example, an event object may represent a concert and a deal may provide a discounted price for the concert.
- the event store 260 stores the associations between events and deals.
- the provider store 275 stores the provider objects 185 that store information describing the providers 120 .
- the information describing a provider 120 includes categories associated with products/services offered by the provider, locations associated with the provider, and information needed for interacting with the provider APIs 125 .
- the provider object 185 locally caches information describing the provider that is frequently used by the social networking system 100 .
- the locally cached information is synchronized with the information stored in the provider system 120 based on criteria, for example, based on a regular schedule, or every time the information stored in the provider system 120 changes.
- the social networking system 100 stores associations between the provider objects 185 and the deals provided by the provider 120 .
- the web server 220 links the social networking system 100 via the network 210 to one or more client devices 105 ; the web server 220 serves web pages, as well as other web-related content, such as Flash, XML, and so forth.
- the web server 220 provides the functionality of receiving and routing messages between the social networking system 100 and the client devices 105 . These messages can be instant messages, queued messages (e.g., email), text and SMS (short message service) messages, or any other suitable messaging technique.
- the action logger 240 is capable of receiving communications from the web server 220 about user actions on and/or off the social networking system 100 .
- the action logger 240 populates the action log 245 with information about user actions to track them. Any action that a particular user takes with respect to another user is associated with each user's profile, through information maintained in a database or other data repository, such as the action log 245 .
- Such actions may include, for example, adding a connection to the other user, sending a message to the other user, reading a message from the other user, viewing content associated with the other user, attending an event posted by another user, among others.
- the dashboard manager 115 performs categorization of deals based on various kinds of social information associated with the user including connections of the user, social groups associated with the user, events, interactions between the connections.
- the dashboard manager 115 categorizes sets of deals together if the deals are associated with each other via related social information. For example, several pairs of deals associated with each other via connections of the user may be grouped together if the corresponding connections are determined to have high affinity with each other.
- the suggestion module 265 determines the deals of interest for a given user of the social networking system 100 .
- the user sends a request to receive deals of interest to the user via the dashboard 130 user interface.
- FIG. 3 illustrates a user interface for allowing user to request information 320 describing the deals relevant to the user.
- the dashboard manager 115 receives the request from the user and sends a request to the suggestion module 265 to suggest deals for the user.
- the suggestion module 265 uses information associated with the user stored in the social networking system 100 including social information to determine deals relevant to the user.
- the suggestion module 265 determines social information associated with the deal for presentation to the user.
- the user may request information describing the deal using the dashboard 130 .
- the suggestion module 265 determines social information relevant to the deal for the user and sends the information to the dashboard manager 115 .
- the dashboard manager 115 presents the information to the user 135 via the dashboard 130 .
- the dashboard manager 115 can also present the information to the user via other mechanisms provided by the social networking system 100 , for example, via various communication channels including email, newsfeeds, wall posts, notifications, mobile notifications, etc. or via a third party website, or as an information bar along with the user interface of the social networking system 100 .
- the interactions between the client devices 105 and the social networking system 100 as well as the interactions between the provider 120 and the social networking system 100 are typically performed via a network 210 , for example, via the internet.
- the network 210 enables communications between the client device 220 and the social networking system 210 .
- the dashboard 130 provides a user interface for allowing a user of a social networking system to view and interact with deals.
- FIGS. 3( a ) and 3 ( b ) show screenshots of the dashboard, in accordance with an embodiment of the invention.
- the dashboard 130 can be a part of a user interface that allows various types of user interactions with a social networking system 100 .
- a user viewing the user's information 300 on a social networking system 100 can request different type of information from the social networking system 100 by pressing buttons or links 350 .
- the different types of information requested by the user include newsfeed stories of interest to the user, messages received by the user via the social networking system 100 , connections of the user, events associated with the user, and the like.
- the user can also request information describing deals associated with the user clicking on button 320 .
- the dashboard 130 user interface is presented to a user requesting deals information by clicking on the button 320 .
- the dashboard manager 115 receives deals relevant to the user as suggested by the suggestion module 265 .
- the suggestion module 265 ranks various deals 340 based on their relevance to a user to select deals for suggestion to the user.
- a deal determined to have higher relevance with respect to the user may be presented more prominently compared to another deal determined to lave lower relevance.
- the deals presented to the user may be categorized based on social information associated with the user. For example, deals of a subset of connections of the user that have high affinity with each other may be presented together. A deal may be presented along with information describing actions of the user's connections associated with the deal.
- FIGS. 4( a ) and 4 ( b ) show screenshots of a user interface presenting social information associated with a particular deal selected by the user.
- FIG. 4 shows detailed information describing the deal, for example, the location 420 of the deal, the deal price 440 , and images 450 describing the product/services associated with the deal.
- the user interface presented in FIG. 4 allows user actions 410 associated with the deal including purchasing the deal, recommending the deal to a connection, commenting on the deal, liking the deal, participating in a social deal, uploading an image associated with the deal and the like.
- FIG. 4 shows user actions 410 associated with the deal including purchasing the deal, recommending the deal to a connection, commenting on the deal, liking the deal, participating in a social deal, uploading an image associated with the deal and the like.
- the dashboard 130 may also present different types of social information associated with the deal, for example, connections 430 of the user that performed an action associated with the deal, events associated with the deal, social groups associated with the deal, images associated with the deal and the like.
- the social networking system 100 may request the user to perform certain actions associated with the deal. For example, the social networking system 100 may request the user to suggest the deal to the user's connections.
- FIGS. 5( a ) and 5 ( b ) show screenshots of a user interface displaying connections 510 of a user of the social networking system 100 that are likely to be interested in a deal, in accordance with one embodiment of the invention.
- a user is presented with a request for suggesting the deal to the user's connections when the user purchases the deal.
- the screens shown in FIG. 5 may be presented as part of the user interaction with the social networking system 100 for making the purchase.
- the connections of a user that are likely to be interested in a deal are determined by the suggestion module 265 based on various factors describing the connections, for example, interests of the connections, past actions of the connections, a degree of interactions between the user and the connections and the like.
- the user interface shown in FIG. 5( a ) allows the user to select 520 one or more of the suggested connections 430 and recommend the deal to the selected connections 430 .
- the social networking system 100 may send a message to the selected connections 430 on behalf of the user, informing them that the user recommends the deal to them.
- the user interface in FIG. 5( b ) allows a user to add 540 connections to a list for suggesting the deal. The user can delete 530 connections previously added to the list. Once the required connections are added to the list, the user can send 550 the information describing the deal to the connections.
- Certain actions of the user may provide negative feedback associated with the deal from the user. For example, if a user hides the deal or removes the deal from the dashboard, the user is assumed to dislike the deal or the user is not interested in the deal. Alternatively, the user may provide negative feedback by explicitly providing a low rating for the deal. The user can also provide negative feedback in text form by providing negative comments on the deal. The type of feedback provided textually by a user via comments can be determined by performing textual analysis of the comment, for example, sentiment analysis.
- FIGS. 3 , 4 , and 5 show a dashboard user interface associated with the social networking system 100 for presenting information associated with deals.
- information describing deals including deal suggestions, social information associated with deals etc. can be presented by various mechanisms by a social networking system 100 .
- deals information can be presented in a side bar, in various contexts in a user interface of the social networking system 100 including a user profile page, via notifications through various communication channels including newsfeed, email, via user defined applications, and so on.
- a third party system for example, a third party website can connect with the social networking system 100 using APIs defined by the external systems interface 110 to retrieve information describing deals and present them in a user interface of the third party website.
- the social networking system 100 presents deals to a user that the user is likely to be interested in.
- the social networking system uses social information associated with a user to determine deals that the user is most likely to respond to.
- a user may respond to a deal by purchasing the deal or by performing actions related to the deals, for example, recommending the deal to a friend or commenting on the deal.
- These deals are presented to the user via the dashboard 130 or any other user interface associated with the social networking system 100 .
- the suggestion module 265 selects deals for suggestion to the user.
- the suggestion module 265 may filter deals for suggestion to a user based on targeting criteria provided by the providers 120 .
- the targeting criteria from a provider indicate categories of users that the provider is interested in targeting.
- the targeting criteria may be specified by the provider based on information describing the users, for example, user's interests, friends' information, purchase history or demographic information of the users including gender, age, income, geographical location, or education.
- a provider of clothing may target a deal for women's clothing by specifying the gender as female, a particular range of age and a geographical location of a city.
- a provider of motorcycles may offer a deal targeted towards men of age within given range, having income above a threshold value.
- the targeting criteria provided by a provider 120 may be stored in the provider store 275 as part of one or more provider objects 185 describing the provider 120 .
- the provider store 275 may also store associations between the targeting criteria and corresponding deal objects 180 stored in the deal store 225 .
- a provider is allowed to specify targeting criteria based on social information associated with the user. For example, the provider can specify that a criterion for targeting the deal is that the user should have more than a threshold number of connections that are interested in a particular topic.
- the provider can specify the deal targeting criterion based on the total number of connections, for example, the deals should be targeted to users that have more than a specified number of friends.
- the provider can also target deals based on information associated with connections of the user. For example, a provider can target deals to users that have at least a family member below a certain age, for example, a toddler. Or the provider can target deals to users that have one or more family members above certain age or in a specified age range.
- FIG. 6 shows a flowchart of a process for determining deals that are likely to be of interest to a user of the social networking system.
- the social networking system 100 receives 610 a number of deals from the providers.
- the deals may be provided by the provider systems 120 by using the external system interface 110 .
- the suggestion module 265 identifies 620 a user for suggesting the deals.
- the suggestion module 265 compares information describing the user with targeting criteria provided by the providers to determine whether the user's profile fits a category of users targeted by the provider. This allows the suggestion module to select 630 candidate deals that are targeted towards the user.
- the suggestion module 265 determines a measure of relevance of each candidate deal targeted towards the user.
- the suggestion module 265 selects a set of candidate deals for presentation to the user based on the measure of relevance of the candidate deals with respect to the user.
- the suggestion module 265 provides the information describing the selected candidate deals to the dashboard manager 115 .
- the dashboard manager suggests 660 the selected deals to the user by presenting the deals to the user via the dashboard 130 .
- the measure of relevance of a deal with respect to the user is determined 640 based on various factors including information associated with connections of the user.
- the information associated with a connection includes information describing the connection stored in the user profile and information describing past actions of the connection.
- the past actions of connections may be stored in action logs 245 .
- the information describing a connection may recursively include information describing the connections of the connection.
- the actions used for determining the relevance score include action performed by the connections associated with deals that are similar to the deal being analyzed, for example, deals belonging to the same deal category.
- actions associated with the deal may be weighted more than other actions for determining a relevance score for a deal with respect to a user. For example, an action indicating the connection explicitly sent a request recommending the deal to the user may be weighted more than actions including the connection commenting on the deal or liking the deal. An action indicating the connection purchased a deal may be weighted more than the connection commenting on the deal. An action indicating checking in to a location associated with the deal may be weighted more than commenting on a deal. Similarly commenting on a deal weighted more than liking a deal.
- the suggestion module 265 determines a relevance score for a deal based on real-life events associated with the connections of the user or real-life events associated with the user.
- a connection of the user or the user can be determined as having a real-life event, for example, a wedding, a birthday, a festival, a child birth, or an anniversary that is expected to occur in the near future.
- a connection of a user is determined as having a child birth in the family, the user may be presented with deals relevant to a baby shower or child birth. Deals that are valid within a time range of the event may be determined to be relevant to the user and suggested.
- Communications between the user and the connection or between a connection and other users may be used to determine the occurrence of the event for the connection and also a level of enthusiasm of the connection in the event. For example, a connection mentioning an event frequently in communications may be determined to be more enthusiastic about the event. The level of enthusiasm of a connection of a user in an event may be used as a factor in determining relevance of a deal associated with the event for the user.
- Other factors used for determining the measure of relevance of a deal with respect to the user include information associated with the user.
- the information associated with the user is determined similar to the information associated with the connections described above.
- the information associated with the user may include information describing the user obtained from the user profile or determined based on actions performed by the user in the social networking system 100 .
- the actions performed by the user used for determining a measure of relevance of the deal are processed similar to the actions performed by connections of the user described above.
- the actions of a connection of a user can be weighted based on a measure of affinity between the connection and the user for determining a relevance score of a deal with respect to the user. For example actions of connections of the user that interact frequently with the user are weighted more than actions of connections of the user that interact rarely with the user.
- the actions of a connection of a user (or the user) may also be weighted based on an age associated with the actions. For example, actions that occurred a long time ago may be weighted less compared to recent actions of the connections.
- the measure of relevance of a deal with respect to a user may be determined by the rate at which the user or the user's connections have purchased deals belonging to the category of the current deal in the past. For example, if the user or the user's connections have frequently bought deals of a particular category, the user may be suggested deals belonging to the category.
- the measure of relevance of a deal may be determined based on the number of connections of the user. For example, if a deal requires participation by more than a threshold number of connections of the user, the measure of relevance of the deal can be determined based on the number of connections of the user determined to be interested in the deal.
- a third party system for example, a third party website connects with the social networking system 100 using APIs defined by the external systems interface 110 .
- the social networking system 100 can present deal information on the third party website.
- the social networking system 100 may provide the requested social information in exchange for the third party allowing deals related information to be presented in the user interface of the third party system.
- the suggestion module 265 receives information describing the third party system that is interacting with the social networking system 100 .
- the information describing the third party system is used to determine a context in which the third party system is requesting information.
- the context may be determined by the type of products, services or business provided by the third party.
- a third party website may provide sports related information, health information, or diet information.
- the suggestion module uses the information describing the context of the third party website as a factor in determining the deals to be suggested to the user via the third party website.
- the suggestion module 265 can match keywords or topics associated with the third party system with the categories associated with deals to determine deals to be suggested to the user.
- the context may be determined from a portion of the third party system. For example, if a user is viewing a third party website providing news the user may view different sections including, sports, travel, health, etc.
- the information describing the deals suggested to the user via the third party system can be determined based on the portion of the news website that the user is currently viewing. For example, if the user is viewing sports section of the news, the user can be suggested deals associated with sports, if the user is viewing health information, the user can be suggested deals related to health products and services and so on.
- Social information relevant to the deal includes information describing connections of the user, actions related to the deal performed by the connections, events related to the deal, social groups associated with the deal, other deals associated with the deal, or images associated with the deal.
- a user is more likely to be interested in a deal if the user knows that connections of the user performed actions related to the deals.
- the actions of the connections of the user can include a connection purchasing the deal, commenting on the deal, following a deal, subscribing to a deal, liking the deal, liking a webpage associated with the deal, checking in to a location associated with the deal, or suggesting the deal to another user.
- FIG. 4 shows the screenshot of a user interface presenting a deal to a user along with information 430 describing connections of the user associated with the deal.
- Information describing connections of the user is presented based on a measure of relevance of the connection with respect to the deal.
- the relevance of a connection with respect to a deal is determined based on various factors associated with the connection. For example, the relevance of a connection with respect to a deal may be determined based on a degree of match between the interests of the connection and information describing the deal.
- Information describing a deal can comprise the category of the deal, key words associated with the deal, or interests of other users that perform actions related to the deal.
- the interests of the connections may be explicitly specified by the connection in the connection's user profile or may be derived from past actions performed by the connections.
- Relevance of a connection with respect to a deal can be determined based on past actions of the connection associated with similar deals, including, deals belonging to the same category or deals from the same provider. For example, if several connections of a user purchase deals from a provider, the user is also likely to be interested in deals from the provider.
- Actions of a user associated with a deal include purchasing a deal, liking a deal, commenting on a deal, suggesting the deal to other users, recommending the deal, checking in to a location associated with the deal, communications with the user describing the deal, and the like.
- Actions performed by a user may be weighted based on an age of the action, for example, older actions may be weighted less than newer actions.
- Certain actions associated with the deal may be weighted more than other actions for determining a relevance of a connection with respect to the deal. For example, purchasing a deal is considered more significant that commenting on the deal and is weighted higher. Similarly, checking in to a location associated with a deal may be weighted more than commenting on the deal. Commenting on the deal may be weighted more than liking the deal. In an embodiment, actions that are directly related to the deal being presented are determined to be more relevant that actions associated with other deals.
- the relevance of a connection of a user with respect to a deal may also be weighted by the affinity of the connection with respect to the user.
- the affinity of the connection is measured based on the type of interactions between the user and the connection, the type of connection (for example, family, friend, or colleague), frequency of interactions between the user and the connections and the like.
- connections presented along with the deal may be filtered based on the targeting criteria provided by the provider. This filtering is performed because the provider has determined that connections satisfying the deal targeting criteria are likely to be associated with the deal. For example, if the provider indicates that the deal is targeted towards users of particular demographic characteristics including age, gender, or income, only connections satisfying the targeting criteria are presented along with the deal.
- the suggestion module 265 may suggest different types of social information to a user along with information describing a deal.
- Social information associated with the deal includes events associated with the deal that the user is determined to be interested in. For example, a deal for a restaurant may be presented along with a concert taking place in a location near the restaurant if the user is determined to be interested in the concert. The user may be determined to be interested in the concert if the user retrieved information describing the concert, liked an event describing the concert in the social networking system 100 , or previously attended similar concerts. The deal may be presented to the user along with other associated deals. In the above example of a concert happening close to a restaurant, the user may be presented with a deal for the restaurant when the user requests for information on a deal for the concert or vice versa.
- the suggestion module 265 may suggest information describing social groups associated with a deal for presentation to the user along with the deal. For example, if a user is presented with a deal for a fitness club, the user may also be presented with information describing activities of a fitness group of the social networking system.
- the fitness group may be a social group associated with activities performed by connections of the user. For example, the user may be presented with statistics describing how many members of the fitness group are also members of the fitness club. Similarly, an event organized by members of the group at the fitness club may be presented to the user.
- the suggestion module 265 may present images associated with the deal that are captured by connections of the user and uploaded to the social networking system by the connections. For example, if the user requests information describing a restaurant deal, images associated with the restaurant captured by friends of the user may be presented to the user. The images may show the restaurant, dishes served by the restaurant, or locations close to the restaurant. The locations of the images can be determined based on information provided by the user or by metadata obtained from the images. For example, certain digital cameras are occupied with a global positioning system (GPS) and provide the location of an image along with metadata of the image. The distance of the location at which the image was captured can be determined from the location of the restaurant. If the location at which the image was captured is determined to be within a threshold distance from the location of the restaurant, the image is presented to the user along with deals of the restaurant.
- GPS global positioning system
- FIG. 7 shows a flowchart of a process for presenting social information along with information describing a deal to a user of the social networking system, in accordance with one embodiment of the invention.
- the suggestion module 265 receives 710 a request for information describing a deal from a user. The user may request information about a particular deal using the dashboard 130 . The request for information sent by the user is received by the dashboard manager 115 . The dashboard manager 115 sends a request to the suggestion module 265 to provide information associated with the deal that is relevant to the user. The suggestion module 265 selects 720 entities represented in the social networking system 100 that are relevant to the deal. The suggestion module 265 determines 730 relevance score for the selected entities.
- the relevance score can be determined based on factors including information describing associations between the entity and the deal and information describing associations between the entity and the user.
- the suggestion module 265 selects 740 entities for presentation to the user based on the relevance scores.
- the suggestion module 265 sends the information describing the entities to the dashboard manager 115 .
- the dashboard manager 115 sends the relevant social information for presentation 760 to the user along with information describing the deal.
- the dashboard manager 115 categorizes the deals based on social information associated with the user. Deals determined to be closely associated with each other are presented together via the dashboard 130 . Two deals may be determined to be associated with each other if they are both associated with an entity represented in the social networking system. For example, two deals may be associated with each other if they are both associated with a connection of the target user. Alternatively, two deals may be associated with each other if each deal is associated with a connection of the user and the connections are determined to have high affinity with each other.
- the connections of the target user in the social networking system 100 can be analyzed to determine friend circles.
- Each friend circle comprises a set of connections with high affinity with each other. Deals associated a set of connections belonging to a friend circle may be determined to be associated with each other and presented together via the dashboard 130 .
- Examples of friend circles of a user include a set of connections graduating from the same school, a set of connections that are members of a social group, a set of connections comprising people of similar interests, a set of connections comprising family members and the like.
- two connections belonging to the same friend circle have more interactions with each other than friends belonging to two different circles.
- Two connections may be determined to be closely associated with each other if they have high affinity with each other.
- the affinity between two connections may be determined based on factors including connection type, number of interactions between connections, types of interactions between the connections, and so on.
- Affinity between two connections may also be determined by matching the interests of the two connections.
- Interests of the connections can be determined based on their user profile information or based on their past actions.
- Information of past actions of a user relevant to determining a user's interest includes type of information retrieved by the user and type of information provided by the user to the social networking system 100 , for example, via comments, likes/dislikes etc., and information discussed in communications.
- Two connections may be determined to be associated with each other based on different types of information associated with the connection, for example, if they are determined to have attended an event together, if they belong to the same social group, if they graduated from the same educational organization, or if they are both tagged in an image. Two connections may be determined to be associated if the connections purchased deals belonging to the same category, or deals belonging to the same provider, or if they participated in a social deal. Two connections may be determined to be associated with each if they checked-in to a location together, for example, a location associated with the provider of the deal.
- the factors used to match connections are weighted higher if the factors are associated with a particular deal. For example, an action comprising two connections participating in a deal in the past is weighted more than an action comprising the connections sending a message to each other. Similarly, an action comprising two connections checking into a location associated with a deal is weighted higher than two connections graduating from the same school.
- an association may be created between the deal and the connection if there is a likelihood that the connection may interact with the deal.
- the likelihood of interactions may be determined based on a match between the connection and the deal, for example, by matching the interests of the connection with a category of the deal.
- associations between deals presented to a user can be determined based on a set of social entities associated with the user.
- a set of social entities associated with the user are selected such that they are also associated with each other.
- Deals associated with this set of social entities are presented together via the dashboard 130 .
- the social entities can be connections of the user, social groups, events, other deals, communications between users, and the like.
- a deal is determined to be associated with a social entity if information describing the deal matches the social entity or if there are interactions between the deal and the social entity in the social networking system 100 .
- Deals categorized together based on social information associated with the user is presented together, for example, on the same screen of the dashboard 130 . If the deals are categorized together based on information associated with a set of connections, information describing these connections is also presented on the dashboard 130 along with the deals. A user is more likely to pay attention to deals if the deals are related together in a social context. For example, if a user finds a set of deals of interest to the user's family, the user is likely to pay attention to the deals and perform an action using the deal.
- Two or more sets of deals may be determined as being closely associated with each other for presentation to the user.
- Each set may be determined to be closely associated based on a corresponding set of connections.
- a set of deals is preferred over another set of deals based on an aggregate measure of affinity between the corresponding set of connections and the user. For example, if the user interacts more closely with a first set of connections compared to a second set of connections, the deals associated with the first set of connections are preferred over deals associated with the second set of connections.
- the deals associated with the first set of connections may be presented more prominently compared to deals associated with other sets of connections.
- the deals associated with the first set of connections may be presented on a first page of a set of pages from a website whereas deals associated with other sets of connections may be presented on subsequent pages.
- FIG. 8 shows a flowchart of a process executed by the dashboard manager 115 for categorizing deals based on social information of a user.
- the dashboard manager 115 identifies a user for presenting deals of interest to the user.
- a user may send a request from a dashboard 130 requesting deals information.
- the request comprises information identifying the user that is used by the dashboard manager 115 for identifying the user.
- the dashboard manager 115 selects 820 a set of deals for presentation to the user.
- the dashboard manager 115 invokes the suggestion module 265 to execute the process described in FIG. 6 for determining the set of deals for presentation to the user.
- the dashboard manager 115 creates 830 associations between the selected deals based on social information associated with the user. Two or more deals may be associated together if they are associated with an entity represented in the social networking system and there is an association between the entity and the user.
- the dashboard manager 115 can associate a set of deals with each other based on a social group if members of the social group perform actions related to these deals.
- the dashboard manager 115 can associate deals with each other based on interactions between connections of the user if the connections refer to the deal in messages. For example, if two connections have discussed two deals in messages between each other, the two deals are determined to be associated with each other.
- the dashboard manager 115 can associate two deals with each other based on a connection if the same connection performs actions related to the deals. Two deals may be associated with each other via a trade show associated with the user, for example, if the deals are offered by two providers participating at the trade show.
- the dashboard manager 115 uses the associations between the deals to categorize 840 the deals into subsets of closely associated deals.
- the dashboard manager 115 can represent the deals information as a graph comprising nodes representing the deals and the associations between the deals represented as edges.
- the edges can be weighted based on various factors indicating a strength of the association represented by the edge. Certain types of associations may be weighted more than other types.
- An association between two deals based on a connection of a user interacting with two deals may be weighted more than an association based on users of a group interacting with the deals if the users of the group are not connected to the user.
- the dashboard manager 115 creates graph representations based on different types of social information used to associate deals. This helps the dashboard manager 115 analyze different types of social information separately if the two types of information requires separate analysis. Associations between two deals based on different factors may be combined based on a weighted aggregate value combing scores associated with the different factors. In an embodiment, a factor for determining association between deals based on a social entity associated with the user may be weighted based on the strength of association between the user and the entity. For example, a connection may have strong associations with two deals, but if the connection rarely interacts with the user, the association between the deals based on this factor may be weighted less.
- the dashboard manager 115 may determine subsets of closely associated deals from the graph representations by performing clustering analysis to determine clusters of deals.
- the deals belonging to a cluster are classified or categorized 840 together based on social information.
- the dashboard manager 115 presents 850 the subsets of deals categorized based on the social information to the user via the dashboard 130 .
- Deals categorized together are presented together using the dashboard, for example, on the same screen.
- the dashboard manager may send information describing deals to the dashboard 130 along with instructions to present deals closely associated with each other based on social information together.
- the dashboard manager 115 may also send instructions to the dashboard 130 to present social information used to categorize the deals along with the deals. For example, if a subset of deals is determined to be closely associated based on a subset of connections of the user, information describing the subset of connections may be presented along with the deals.
- a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
- Embodiments of the invention may also relate to an apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, and/or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a tangible computer readable storage medium or any type of media suitable for storing electronic instructions, and coupled to a computer system bus.
- any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- General Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A social networking system suggests deals relevant to a user. The deals are selected for suggestion based on social information associated with the user. Social information used for selecting candidate deals for a user includes information describing other users connected to the user and their associations with the candidate deals or with related deals, for example, deals from the same provider. Associations of connections of the user with the candidate deals may be determined based on actions associated with the candidate deals performed by the connections. The actions performed by the connections may be weighted based on types of the actions to determine a measure of relevance of the candidate deal for the user. Candidate deals are selected from a set of deals by applying deal targeting criteria received from deal providers. The deal targeting criteria specify attributes describing users to be targeted for a particular deal.
Description
- This application claims the benefit of U.S. Provisional Patent Application No. 61/452,577 filed Mar. 14, 2011, which is incorporated by reference in its entirety.
- This invention relates to deals in social networking systems, and in particular to suggesting deals of interest to users in a social networking system.
- Providers of services and/or products offer deals to potential or current customers to entice them to make purchases. A deal is an offer to sell a product or service to a customer, oftentimes including a particular benefit available to customers who buy the product or service through the deal. For example, a deal may offer a product or service at a discounted price, such as a fixed percent of the original price or a fixed amount below the original price. A deal may offer a discount on a future purchase of a product/service upon a purchase of a similar or a different product/service. A deal may also offer access to inventory not open to the general population. For example, a deal may provide discount on a second product upon purchase of a first product. Deals are often offered by providers who are different from the actual seller of the product or service. The deal provider manages the deal purchase transaction and gives a voucher for the transaction to the customer, who can then redeem the voucher for the purchased product or service.
- Providers offer deals for various reasons. Sometimes providers offer deals on products that they are trying to dispose of quickly to make room for a new line of products. Sometimes providers offer deals since they realize that users are interested in making a purchase only if there is a deal available. Users often closely monitor deals. Therefore deals draw attention of users to particular products and bring the product in their radar.
- Providers are always coming up with creative ways to offer deals to get user's attention. However, if a user is not interested in a deal for a product or service, the efforts of the provider in directing these deals to the user get wasted. Therefore, providers prefer to direct their deals to users who are most likely to be interested in the deals offered in order to maximize sales of their products/services. Providers have not leveraged the power of social networking to make deals more effective to achieve their goals.
- A social networking system suggests deals relevant to a user based on social information associated with the user, which may include information describing users of the social networking system connected to the target user. A user of the social networking system is identified for suggesting deals from a plurality of candidate deals. A measure of relevance of candidate deals is determined for the user. The measure of relevance is based on information describing associations between the candidate deal and other users connected to the user in the social networking system. A deal is selected based on the measures of relevance of the candidate deals and sent to the user.
- An association between a user connected to the user (called a connection of the user) and a candidate deal may be determined by matching the interests of the connection with information describing the candidate deal. Associations between candidate deals and the connections of the user may be determined based on actions associated with the deal performed by the connection, for example, purchasing a deal, commenting on a deal, posting an image associated with a deal, and the like. The actions may be weighted based on the types of actions to determine the measure of relevance of the candidate deals.
- The features and advantages described in this summary and the following detailed description are not all-inclusive. Many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims.
- Figure (
FIG. 1 is a diagram of a system environment for allowing users of a social networking system to interact with deals from providers, in accordance with an embodiment of the invention. -
FIG. 2 is a diagram of the system architecture of a social networking system for allowing users of a social networking system to perform interactions with deals, in accordance with an embodiment of the invention. -
FIG. 3 is a user interface for allowing a user of a social networking system to interact with deals of interest to the user, in accordance with an embodiment of the invention. -
FIG. 4 is a user interface for presenting social information associated with deals of interest to the user of a social networking system, in accordance with one embodiment of the invention. -
FIG. 5 shows a screenshot of a user interface displaying connections of a user of the social networking system that are likely to be interested in a deal, in accordance with one embodiment of the invention. -
FIG. 6 is a flowchart of a process for determining deals that are likely to be of interest to a user of the social networking system, in accordance with one embodiment of the invention. -
FIG. 7 is a flowchart of a process for presenting social information along with information describing a deal to a user of the social networking system, in accordance with one embodiment of the invention. -
FIG. 8 is a flowchart of a process for categorizing deals based on social information for a user of the social networking system, in accordance with one embodiment of the invention. - The figures depict various embodiments of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
- Embodiments use social networking systems to incorporate social information of users to improve user interactions with deals. Incorporation of social information provides better experience for the users interacting with the deals which in turn results in more users getting interested in deals. This furthers the goals of the providers since the providers are attempting to increase the number of potential customers by offering deals. Besides, deals provide a social experience to the users and a valuable interaction with the social networking system. Users that find the social networking system valuable are more likely to be loyal to the social networking system. Increased loyalty of the users to the social networking system is likely to attract more providers offering advertisements and deals via the social networking system. Since social networking systems derive revenue from advertisements, this provides increased revenues for the social networking systems.
- A user requesting information describing deals is presented with deals that are determined to be of interest to the user. The social networking system determines deals of interest to the user based on various criteria including information describing the user as well as information describing the connections of the user. The information describing the user and/or connections of the user considered includes actions performed by the user and/or the connections associated deals represented in the social networking system. The deals may be ranked based on their relevance to the user and presented to the user based on the ranking.
- Social information relevant to a deal is presented to a user along with information describing the deal. Social information relevant to the deal includes connections of the user that performed actions related to the deal including purchasing the deal, commenting on the deal, or recommending the deal. Social information relevant to a deal also includes events, social groups, and images captured by friends of the user. For example, a photograph taken by a friend of the user at a restaurant may be presented when a deal from the restaurant is presented to the user. A user is more likely to pay attention to a deal if the user is presented with social information related to a deal along with information describing the deal.
- Deals presented to a user are categorized based on social information describing the user. Deals that are related to each other based on a social context are presented together via a user interface. As a result, the user can relate the deals presented together and is provided with a social context in which to perform an action based on the deals. For example, a group of closely related friends may perform related actions associate with deals including going to concerts, movies, or attending other social events together. If the user is presented with the information describing deals related to these friends, the user is more likely to be interested in the deals and there is a better chance that the user might purchase a related deal.
- A deal is associated with an offer made to a user that provides certain benefits to the user upon acceptance. The benefit offered by a deal corresponds to a value of the deal or a price of the deal. For example, a deal that offers higher benefits compared to other deals provides higher value compared to those deals. In an embodiment, a user can purchase a deal by paying a price for the deal. The user can subsequently redeem the deal by making a purchase or a transaction. Providers often present a deal to the users along with their advertisements. Typically, the benefits offered by a deal are associated with a transaction, for example, a purchase of a product or service offered by the provider. A transaction between a customer and a provider involves an exchange between a user and a provider, wherein the customer provides money to the provider and the provider provides one or more products and/or services to the customer. However a transaction involving a deal provides additional benefits to the user based on the deal.
- Benefits offered by a deal can include a reduction in the price of the product and/or service. For example, the deal may offer reduction in price of a fixed percent (e.g., 10% reduction in price) or a reduction in price of a fixed amount (price reduced by ten dollars). Alternatively, the benefits provided by a deal may include other financial advantages including free shipping, a coupon for a subsequent purchase, a reduction in price of a different item bought in the same transaction, no sales tax, and the like. The benefits associated with a deal are referred to as the value of the deal or the price of the deal.
- A deal may be associated with a time period. For example, a deal can only be used after a start date and before an end date. The deal may be associated with other limits on the purchases. For example, the deal may apply to all items purchased in a transaction, the deal may apply to all purchases made on a particular day, or the deal may apply to a single item. These limits on the purchases applicable to a deal are called the maximum redemption of the deal.
- The deal may be associated with a location. For example, one location of a store may offer a deal but other locations may not. A deal may also be associated with an event. A deal may be applicable to in-store purchases as opposed to online purchases, or the deal may be for online purchases only. The deal may also have a specific redemption method. For example, the deal may require a user to present a coupon or a coupon code, the deal may be automatically offered upon making a purchase, the deal may require use of a particular type of payment mechanism including a specific type or credit or debit card, or the deal may require presentation of proof of membership in a club.
- A deal may be associated with certain conditions, for example, the number of purchases made by the user must exceed a threshold value or the total value of the purchases must exceed an amount. When the required conditions associated with a deal are satisfied, the deal is considered activated. The activation of a deal may require an explicit status change by the provider of the deal. Alternatively, the activation may be automatic upon satisfaction of the required conditions and the user gets the benefits of the deal when the user completes an applicable transaction. The user may be required to complete a transaction associated with the purchase to redeem an activated deal.
- Certain deals may be activated when a user is present at a certain location associated with a deal. For example, a deal may be activated when the user reaches the location of a restaurant. Alternatively, the deal may be activated when the user reaches a larger geographical area associated with the location of the provider. For example, a deal associated with a restaurant may be activated if the user reaches a mall or an airport in which the restaurant is located. Similarly, deals associated with providers located in a city may get activated for a user when the user is visiting the city. The location of a user may be detected by a device carried by the user, for example, with the help of a global positioning system (GPS), radio frequency identification (RFID) or explicitly identified by the user by checking-in to a location where the user is present or by tagging a photo with a business or location. A user can use the device to provide an indication to an online system informing the online system that the user has reached a location. A user providing input indicating that the user is present in a certain location is called checking-in to the location. The online system can send information to the provider indicating that the user is present at the location and the provider can activate the deal for the user.
- Activating a deal comprises marking the deal as ready for use by a user. For example, a deal that is activated can be presented to the user as a coupon that can be redeemed by the user. An activation of a deal may require certain actions to be performed by multiple users. For example, the activation of a deal may require multiple users to be present at a location associated with the provider. If more than a threshold number of user's friends' check-in to a location along with the user, the deal is activated. Each user who participates in the activation of the deal is called a participant of the deal. The deal may offer benefits to one user or to all the participants of the deal. For example, a restaurant deal activated by a number of friends present at the location may offer a price reduction upon payment by a single user or it may offer price reduction to each participant making a separate payment. In an embodiment, activation of the deal comprises redemption of the deal. For example, if more than a threshold number of connections of a user purchase tickets for an event (for example, a concert) via the social networking system, a social deal provides the tickets at a discounted price. In this case, the activation of the deal happens when the deal is redeemed.
- A reference to a deal in this disclosure may refer to an instance of deal associated with a particular user or a type of a deal offered by a provider. The context of the disclosure clarifies whether a deal refers to an instance of a deal or deals of a particular type. For example, a deal may refer to an offer by a particular provider that gives 20% discount on a product if purchased before a given date. A deal may also refer to an instance of a social deal that is specific to a user and requires participation by connections of the user.
-
FIG. 1 is a diagram of a system environment for allowing users of a social networking system to interact with deals using the social networking system, in accordance with an embodiment of the invention. The users 135 interact with thesocial networking system 100 usingclient devices 105. The provider systems 120 (also referred to as “provider” herein) interact with thesocial networking system 100 to provide information describing the deals. Some embodiments of thesystems -
FIG. 1 and the other figures use like reference numerals to identify like elements. A letter after a reference numeral, such as “130A,” indicates that the text refers specifically to the element having that particular reference numeral. A reference numeral in the text without a following letter, such as “130,” refers to any or all of the elements in the figures bearing that reference numeral (e.g. “130” in the text refers to reference numerals “130A” and/or “130B” in the figures). - A
provider system 120 comprises a provider application programming interface (API)module 125 that allows thesocial networking system 100 to interact with the provider system. In an embodiment, theprovider APIs 125 may be implemented as a web service. Theprovider APIs 125 allow thesocial networking system 100 to send requests for information to theprovider system 120 and receive information associated with the deals from theprovider system 120. For example, thesocial networking system 100 may send a request to theprovider system 120 to determine whether a user of thesocial networking system 100 is an existing customer of theprovider system 120. - In one embodiment, the
client device 105 used by a user 135 for interacting with thesocial networking system 100 can be a personal computer (PC), a desktop computer, a laptop computer, a notebook, a tablet PC executing an operating system, for example, a Microsoft Windows-compatible operating system (OS), Apple OS X, and/or a Linux distribution. In another embodiment, theclient device 105 can be any device having computer functionality, such as a personal digital assistant (PDA), mobile telephone, smartphone, etc. - The
client device 105 executes a user interface calleddashboard 130 to allow the user 135 to interact with thesocial networking system 100. Thedashboard 130 allows the user 135 to perform various actions related to deals. These actions include retrieving information describing deals that are likely to be of interest to the user, recommending deals to connections of the user, participating in a deal, checking in to a location associated with a deal provider, and making a purchase using the deal. In an embodiment, thedashboard 130 is presented to the user via a browser application that allows a user to retrieve and present information from the internet or from a private network. - The
social networking system 100 offers its users the ability to communicate and interact with other users of thesocial networking system 100. Users join thesocial networking system 100 and then add connections to a number of other users of thesocial networking system 100 to whom they desire to be connected. As used herein, the term “friend” refers to any other user to whom a user has formed a connection, association, or relationship via thesocial networking system 100. The term friend need not require that users to actually be friends in real life, (which would generally be the case when one of the members is a business or other entity); it simply implies a connection in thesocial networking system 100. - The
social networking system 100 maintains different types of objects representing entities, for example, user profile objects 175, connection objects 195, event objects 190, deal objects 180, and provider objects 185. An object may be stored for each instance of the associated entity. A user profile object 175 stores information describing a user of thesocial networking system 100. Aconnection object 195 stores information describing relations between two users of the social networking system or in general any two entities represented in thesocial networking system 100. The event objects 190 store representations of real-world events in thesocial networking system 100. The deal objects 180 represent deals and the provider objects represent providers in thesocial networking system 100. These objects are further described in detail herein. - The
social networking system 100 comprises anexternal system interface 110, adashboard manager 115 and various modules described inFIG. 2 . Thedashboard manager 115 allows users of thesocial networking system 100 to interact with the deals via thedashboard 130 user interface. Thedashboard manager 115 presents information describing deals of interest to a user. For example, the dashboard manager may present different types of deals to two users that are interested in very different topics. - The
dashboard manager 115 allows a user 135 to perform various actions associated with the deal. These actions include purchasing the deal, recommending the deal to a connection, commenting on the deal, following the deal, liking the deal, participating in a social deal, uploading an image associated with the deal, for example, uploading an image taken at a location associated with the deal for display as part of the user's profile. A user purchases a deal by completing a transaction that takes advantage of the deal. For example, if the deal offers a 20% discount on purchase of a product, the user purchases the deal by purchasing the product and redeeming the deal for the purchase. - The
dashboard manager 115 receives requests from the user 135 for performing actions related to deals. A user 135 sends requests to thedashboard manager 115 via thedashboard 130. For example, auser 135 a may send a request to recommend a deal to a connection of theuser 135 a (say,user 135 b). Thedashboard manager 115 may invoke other modules of thesocial networking system 100 shown inFIG. 2 to perform a requested action. - The external systems interface 110 of the
social networking system 100 allows various modules of thesocial networking system 100 to interact with external systems including theprovider systems 120. For example, a module of thesocial networking system 100 may update theprovider system 120 with information describing a transaction made by a user 135. Theexternal system interface 110 invokes theprovider APIs 125 for interacting with theprovider systems 120. The external systems interface 110 also allows external systems to interact with thesocial networking system 100, for example, to access the social network information or to update information present in thesocial networking system 100. Theexternal system interface 110 provides APIs that allow external systems to interact with thesocial networking system 100. For example, aprovider system 120 may send information describing new deals from the provider by invoking appropriate APIs supported by theexternal systems interface 110. The requests received from external systems are authenticated by thesocial networking system 100 to ensure that the external system has permissions to perform the requested actions. - The
social networking system 100 comprises modules other than those shown inFIG. 1 , for example, modules illustrated inFIG. 2 that are further described herein. -
FIG. 2 is a diagram of system architecture of asocial networking system 100 for allowing users to interact with deals, in accordance with an embodiment of the invention. Thesocial networking system 100 includes aweb server 220, anewsfeed generator 235, adashboard manager 115, anexternal system interface 110, anaction logger 240, anaction log 245, adeal pricing module 255,suggestion module 265, adeal proposal module 270, anevent manager 280, auser profile store 285, aconnection store 230, adeal store 225, anevent store 260, and aprovider store 275. In other embodiments, thesocial networking system 100 may include additional, fewer, or different modules for various applications. Conventional components such as network interfaces, security mechanisms, load balancers, failover servers, management and network operations consoles, and the like are not shown so as to not obscure the details of the system. - The
social networking system 100 allows users to communicate or otherwise interact with each other and access content, as described herein. Thesocial networking system 100 stores user profile objects 175 in theuser profile store 285. The information stored inuser profile store 285 describes the users of thesocial networking system 100, including biographic, demographic, and other types of descriptive information, such as work experience, educational history, gender, sexual preferences, hobbies or preferences, location, and the like. Theuser profile store 285 may also store information provided by the user, for example, images, videos, comments, and status updates. Images of users may be tagged with the identification information of the appropriate users displayed in an image. - Any action that a particular user takes using the
social networking system 100 is associated with the user's profile 175, through information maintained in a database or other data repository. Such actions may include, for example, adding a connection to the other user, sending a message to the other user, reading a message from the other user, viewing content associated with the other user, seeing what deals another user likes or is following, attending an event posted by another user, among others. In addition, a number of actions described below in connection with other objects are directed at particular users, so these actions are associated with those users as well. - The
connection store 230 stores data describing the connections between different users of thesocial networking system 100, for example as represented in aconnection object 195. The connections are defined by users, allowing users to specify their relationships with other users. For example, the connections allow users to generate relationships with other users that parallel the users' real-life relationships, such as friends, co-workers, partners, and so forth. In some embodiment, the connection specifies a connection type based on the type of relationship, for example, family, or friend, or colleague. Users may select from predefined types of connections, or define their own connection types as needed. - Connections may be added explicitly by a user, for example, the user selecting a particular other user to be a friend, or automatically created by the social networking site based on common characteristics of the users (e.g., users who are alumni of the same educational institution). For example, if Bob and Joe are both connected to each other in the
social networking system 100, Bob and Joe, both users, are also each other's friends. The connection between users may be a direct connection; however, some embodiments of asocial networking system 100 allow the connection to be indirect via one or more levels of connections. - The
deal store 225 stores information describing deals, for example, deals represented as deal objects 180. Thedeal object 180 is associated with metadata describing the deal and comprises data specific to an instance of the deal. An instance of a deal may be created for each user that performs certain actions associated with the deal. For example, if the activation of a deal requires participation by connections of a user, thedeal object 180 stores information describing the participants in the deal. As other connections of the user perform actions that contribute towards activation of the deal, thesocial networking system 100 updates the information stored in thedeal object 180. - The information stored in a
deal object 180 can comprise a description of the deal, one or more deadlines associated with the deal, for example, a start date and end date during which the deal can be used, a location associated with the deal, a type of the deal, a redemption method for the deal, maximum redemption associated with the deal, a description of the benefit offered by the deal, for example, a percent reduction in price, any conditions or rules associated with the deal, a profile page associated with the deal on thesocial networking system 100, and other information. The deal object also stores information identifying thedeal provider 120, a user associated with the deal, and one or more connections of the user that may be associated with the deal if the deal activation requires participation by connections of the user. Thedeal object 180 may store information describing a source of the deal, for example, whether the deal was imported from an external system, or the deal was added to thesocial networking system 100 by thedeal provider 120, or if the deal was initiated by a user of thesocial networking system 100. Thedeal object 180 may be associated with actions of users associated with the deal, for example, users that liked the deal or are following the deal, users who subscribed to the deal, users who purchased the deal, users who shared or gifted the deal, users who checked-in to locations associated with the deal, comments made by users on the deal etc. A deal object may store information specific to a particular user, for example, information identifying a user associated with the deal, connections of the user that are participating in the deal, etc. - A
deal store 225 also stores a category associated with each deal that describes the type of product or services associated with the deal. Examples of categories of deals include “dining,” “shopping,” “professional services,” “beauty and spas,” “health and fitness,” “automotive,” “pet care,” “financial services,” “travel,” and “arts and entertainment.” In an embodiment, thesocial networking system 100 may have a list of business categories defined to classify various businesses. Thesocial networking system 100 stores a mapping from the business categories to the deal categories to allow objects based on business categories to be matched with deal categories. For example, business categories “restaurant” and “bar” map to the deal category “dining.” Similarly, business categories “hotel,” “airport,” and “transit stop” map to deal category “travel.” - A deal object may be associated with different types of social information including various users of the
social networking system 100, events represented in thesocial networking system 100, actions associated with the deal by users, and the like. This information may be stored in various data stores in thesocial networking system 100. Associations between the deal objects 180 and the relevant social information associated with the deal may be either stored explicitly in thesocial networking system 100 or determined as needed. - The
event store 260 stores information describing events associated with thesocial networking system 100. Anevent object 190 may be defined for a real-world event, such as a birthday party. A user interested in attending the event may establish a connection with the event object. A user may create theevent object 190 by defining information about the event such as the time and place and a list of invitees. Other users may send a reply to the invitation (an RSVP message) i.e., accept or reject the invitation, comment on the event, post their own content (e.g., pictures from the event), and perform any other actions enabled by thesocial networking system 100 for theevent 185. Accordingly, the creator of theevent object 190 as well as the invitees for the event may perform various actions that are associated with thatevent object 190. Certain events may be associated with deals, for example, an event object may represent a concert and a deal may provide a discounted price for the concert. Theevent store 260 stores the associations between events and deals. - The
provider store 275 stores the provider objects 185 that store information describing theproviders 120. The information describing aprovider 120 includes categories associated with products/services offered by the provider, locations associated with the provider, and information needed for interacting with theprovider APIs 125. In an embodiment, theprovider object 185 locally caches information describing the provider that is frequently used by thesocial networking system 100. The locally cached information is synchronized with the information stored in theprovider system 120 based on criteria, for example, based on a regular schedule, or every time the information stored in theprovider system 120 changes. Thesocial networking system 100 stores associations between the provider objects 185 and the deals provided by theprovider 120. - The
web server 220 links thesocial networking system 100 via thenetwork 210 to one ormore client devices 105; theweb server 220 serves web pages, as well as other web-related content, such as Flash, XML, and so forth. Theweb server 220 provides the functionality of receiving and routing messages between thesocial networking system 100 and theclient devices 105. These messages can be instant messages, queued messages (e.g., email), text and SMS (short message service) messages, or any other suitable messaging technique. - The
action logger 240 is capable of receiving communications from theweb server 220 about user actions on and/or off thesocial networking system 100. Theaction logger 240 populates the action log 245 with information about user actions to track them. Any action that a particular user takes with respect to another user is associated with each user's profile, through information maintained in a database or other data repository, such as theaction log 245. Such actions may include, for example, adding a connection to the other user, sending a message to the other user, reading a message from the other user, viewing content associated with the other user, attending an event posted by another user, among others. - The
dashboard manager 115 performs categorization of deals based on various kinds of social information associated with the user including connections of the user, social groups associated with the user, events, interactions between the connections. Thedashboard manager 115 categorizes sets of deals together if the deals are associated with each other via related social information. For example, several pairs of deals associated with each other via connections of the user may be grouped together if the corresponding connections are determined to have high affinity with each other. - The
suggestion module 265 determines the deals of interest for a given user of thesocial networking system 100. In an embodiment, the user sends a request to receive deals of interest to the user via thedashboard 130 user interface.FIG. 3 illustrates a user interface for allowing user to requestinformation 320 describing the deals relevant to the user. Thedashboard manager 115 receives the request from the user and sends a request to thesuggestion module 265 to suggest deals for the user. Thesuggestion module 265 uses information associated with the user stored in thesocial networking system 100 including social information to determine deals relevant to the user. - In an embodiment, the
suggestion module 265 determines social information associated with the deal for presentation to the user. The user may request information describing the deal using thedashboard 130. Thesuggestion module 265 determines social information relevant to the deal for the user and sends the information to thedashboard manager 115. Thedashboard manager 115 presents the information to the user 135 via thedashboard 130. Thedashboard manager 115 can also present the information to the user via other mechanisms provided by thesocial networking system 100, for example, via various communication channels including email, newsfeeds, wall posts, notifications, mobile notifications, etc. or via a third party website, or as an information bar along with the user interface of thesocial networking system 100. - The interactions between the
client devices 105 and thesocial networking system 100 as well as the interactions between theprovider 120 and thesocial networking system 100 are typically performed via anetwork 210, for example, via the internet. Thenetwork 210 enables communications between theclient device 220 and thesocial networking system 210. - The
dashboard 130 provides a user interface for allowing a user of a social networking system to view and interact with deals.FIGS. 3( a) and 3(b) show screenshots of the dashboard, in accordance with an embodiment of the invention. Thedashboard 130 can be a part of a user interface that allows various types of user interactions with asocial networking system 100. A user viewing the user'sinformation 300 on a social networking system 100 (for example, from the user's home page) can request different type of information from thesocial networking system 100 by pressing buttons or links 350. The different types of information requested by the user include newsfeed stories of interest to the user, messages received by the user via thesocial networking system 100, connections of the user, events associated with the user, and the like. The user can also request information describing deals associated with the user clicking onbutton 320. Thedashboard 130 user interface is presented to a user requesting deals information by clicking on thebutton 320. - When a user requests deals information, the
dashboard manager 115 receives deals relevant to the user as suggested by thesuggestion module 265. Thesuggestion module 265 ranksvarious deals 340 based on their relevance to a user to select deals for suggestion to the user. In an embodiment, a deal determined to have higher relevance with respect to the user may be presented more prominently compared to another deal determined to lave lower relevance. The deals presented to the user may be categorized based on social information associated with the user. For example, deals of a subset of connections of the user that have high affinity with each other may be presented together. A deal may be presented along with information describing actions of the user's connections associated with the deal. - A user can select a
particular deal 340 presented to the user and request more information describing the deal.FIGS. 4( a) and 4(b) show screenshots of a user interface presenting social information associated with a particular deal selected by the user.FIG. 4 shows detailed information describing the deal, for example, thelocation 420 of the deal, thedeal price 440, andimages 450 describing the product/services associated with the deal. The user interface presented inFIG. 4 allowsuser actions 410 associated with the deal including purchasing the deal, recommending the deal to a connection, commenting on the deal, liking the deal, participating in a social deal, uploading an image associated with the deal and the like.FIG. 4 shows comments related to the deal added by other users of thesocial networking system 100, for example, the user's connections. Thedashboard 130 may also present different types of social information associated with the deal, for example,connections 430 of the user that performed an action associated with the deal, events associated with the deal, social groups associated with the deal, images associated with the deal and the like. - The
social networking system 100 may request the user to perform certain actions associated with the deal. For example, thesocial networking system 100 may request the user to suggest the deal to the user's connections.FIGS. 5( a) and 5(b) show screenshots of a user interface displaying connections 510 of a user of thesocial networking system 100 that are likely to be interested in a deal, in accordance with one embodiment of the invention. Typically, a user is presented with a request for suggesting the deal to the user's connections when the user purchases the deal. For example, the screens shown inFIG. 5 may be presented as part of the user interaction with thesocial networking system 100 for making the purchase. The connections of a user that are likely to be interested in a deal are determined by thesuggestion module 265 based on various factors describing the connections, for example, interests of the connections, past actions of the connections, a degree of interactions between the user and the connections and the like. The user interface shown inFIG. 5( a) allows the user to select 520 one or more of the suggestedconnections 430 and recommend the deal to the selectedconnections 430. Thesocial networking system 100 may send a message to the selectedconnections 430 on behalf of the user, informing them that the user recommends the deal to them. The user interface inFIG. 5( b) allows a user to add 540 connections to a list for suggesting the deal. The user can delete 530 connections previously added to the list. Once the required connections are added to the list, the user can send 550 the information describing the deal to the connections. - Certain actions of the user may provide negative feedback associated with the deal from the user. For example, if a user hides the deal or removes the deal from the dashboard, the user is assumed to dislike the deal or the user is not interested in the deal. Alternatively, the user may provide negative feedback by explicitly providing a low rating for the deal. The user can also provide negative feedback in text form by providing negative comments on the deal. The type of feedback provided textually by a user via comments can be determined by performing textual analysis of the comment, for example, sentiment analysis.
- The
FIGS. 3 , 4, and 5 show a dashboard user interface associated with thesocial networking system 100 for presenting information associated with deals. However information describing deals including deal suggestions, social information associated with deals etc. can be presented by various mechanisms by asocial networking system 100. For example, deals information can be presented in a side bar, in various contexts in a user interface of thesocial networking system 100 including a user profile page, via notifications through various communication channels including newsfeed, email, via user defined applications, and so on. A third party system, for example, a third party website can connect with thesocial networking system 100 using APIs defined by the external systems interface 110 to retrieve information describing deals and present them in a user interface of the third party website. - The
social networking system 100 presents deals to a user that the user is likely to be interested in. The social networking system uses social information associated with a user to determine deals that the user is most likely to respond to. A user may respond to a deal by purchasing the deal or by performing actions related to the deals, for example, recommending the deal to a friend or commenting on the deal. These deals are presented to the user via thedashboard 130 or any other user interface associated with thesocial networking system 100. - The
suggestion module 265 selects deals for suggestion to the user. Thesuggestion module 265 may filter deals for suggestion to a user based on targeting criteria provided by theproviders 120. The targeting criteria from a provider indicate categories of users that the provider is interested in targeting. The targeting criteria may be specified by the provider based on information describing the users, for example, user's interests, friends' information, purchase history or demographic information of the users including gender, age, income, geographical location, or education. For example, a provider of clothing may target a deal for women's clothing by specifying the gender as female, a particular range of age and a geographical location of a city. Similarly, a provider of motorcycles may offer a deal targeted towards men of age within given range, having income above a threshold value. The targeting criteria provided by aprovider 120 may be stored in theprovider store 275 as part of one or more provider objects 185 describing theprovider 120. Theprovider store 275 may also store associations between the targeting criteria and corresponding deal objects 180 stored in thedeal store 225. - In an embodiment, a provider is allowed to specify targeting criteria based on social information associated with the user. For example, the provider can specify that a criterion for targeting the deal is that the user should have more than a threshold number of connections that are interested in a particular topic. The provider can specify the deal targeting criterion based on the total number of connections, for example, the deals should be targeted to users that have more than a specified number of friends. The provider can also target deals based on information associated with connections of the user. For example, a provider can target deals to users that have at least a family member below a certain age, for example, a toddler. Or the provider can target deals to users that have one or more family members above certain age or in a specified age range.
-
FIG. 6 shows a flowchart of a process for determining deals that are likely to be of interest to a user of the social networking system. Thesocial networking system 100 receives 610 a number of deals from the providers. The deals may be provided by theprovider systems 120 by using theexternal system interface 110. Thesuggestion module 265 identifies 620 a user for suggesting the deals. Thesuggestion module 265 compares information describing the user with targeting criteria provided by the providers to determine whether the user's profile fits a category of users targeted by the provider. This allows the suggestion module to select 630 candidate deals that are targeted towards the user. - The
suggestion module 265 determines a measure of relevance of each candidate deal targeted towards the user. Thesuggestion module 265 selects a set of candidate deals for presentation to the user based on the measure of relevance of the candidate deals with respect to the user. Thesuggestion module 265 provides the information describing the selected candidate deals to thedashboard manager 115. The dashboard manager suggests 660 the selected deals to the user by presenting the deals to the user via thedashboard 130. - The measure of relevance of a deal with respect to the user is determined 640 based on various factors including information associated with connections of the user. The information associated with a connection includes information describing the connection stored in the user profile and information describing past actions of the connection. The past actions of connections may be stored in action logs 245. Furthermore, the information describing a connection may recursively include information describing the connections of the connection. The actions used for determining the relevance score include action performed by the connections associated with deals that are similar to the deal being analyzed, for example, deals belonging to the same deal category. These actions include, the connection suggesting the deal to the user, purchasing a deal, liking the deal, commenting on a deal, following the deal, suggesting the deal to other users, sharing information describing the deal on the connections wall, checking in to a location associated with the deal and the like. Certain actions associated with the deal may be weighted more than other actions for determining a relevance score for a deal with respect to a user. For example, an action indicating the connection explicitly sent a request recommending the deal to the user may be weighted more than actions including the connection commenting on the deal or liking the deal. An action indicating the connection purchased a deal may be weighted more than the connection commenting on the deal. An action indicating checking in to a location associated with the deal may be weighted more than commenting on a deal. Similarly commenting on a deal weighted more than liking a deal.
- In an embodiment, the
suggestion module 265 determines a relevance score for a deal based on real-life events associated with the connections of the user or real-life events associated with the user. A connection of the user or the user can be determined as having a real-life event, for example, a wedding, a birthday, a festival, a child birth, or an anniversary that is expected to occur in the near future. As an example, if a connection of a user is determined as having a child birth in the family, the user may be presented with deals relevant to a baby shower or child birth. Deals that are valid within a time range of the event may be determined to be relevant to the user and suggested. Communications between the user and the connection or between a connection and other users may be used to determine the occurrence of the event for the connection and also a level of enthusiasm of the connection in the event. For example, a connection mentioning an event frequently in communications may be determined to be more enthusiastic about the event. The level of enthusiasm of a connection of a user in an event may be used as a factor in determining relevance of a deal associated with the event for the user. - Other factors used for determining the measure of relevance of a deal with respect to the user include information associated with the user. The information associated with the user is determined similar to the information associated with the connections described above. For example, the information associated with the user may include information describing the user obtained from the user profile or determined based on actions performed by the user in the
social networking system 100. The actions performed by the user used for determining a measure of relevance of the deal are processed similar to the actions performed by connections of the user described above. - The actions of a connection of a user can be weighted based on a measure of affinity between the connection and the user for determining a relevance score of a deal with respect to the user. For example actions of connections of the user that interact frequently with the user are weighted more than actions of connections of the user that interact rarely with the user. The actions of a connection of a user (or the user) may also be weighted based on an age associated with the actions. For example, actions that occurred a long time ago may be weighted less compared to recent actions of the connections.
- The measure of relevance of a deal with respect to a user may be determined by the rate at which the user or the user's connections have purchased deals belonging to the category of the current deal in the past. For example, if the user or the user's connections have frequently bought deals of a particular category, the user may be suggested deals belonging to the category. The measure of relevance of a deal may be determined based on the number of connections of the user. For example, if a deal requires participation by more than a threshold number of connections of the user, the measure of relevance of the deal can be determined based on the number of connections of the user determined to be interested in the deal.
- In an embodiment, a third party system, for example, a third party website connects with the
social networking system 100 using APIs defined by theexternal systems interface 110. Thesocial networking system 100 can present deal information on the third party website. For example, thesocial networking system 100 may provide the requested social information in exchange for the third party allowing deals related information to be presented in the user interface of the third party system. In this embodiment, thesuggestion module 265 receives information describing the third party system that is interacting with thesocial networking system 100. The information describing the third party system is used to determine a context in which the third party system is requesting information. The context may be determined by the type of products, services or business provided by the third party. For example, a third party website may provide sports related information, health information, or diet information. The suggestion module uses the information describing the context of the third party website as a factor in determining the deals to be suggested to the user via the third party website. Thesuggestion module 265 can match keywords or topics associated with the third party system with the categories associated with deals to determine deals to be suggested to the user. The context may be determined from a portion of the third party system. For example, if a user is viewing a third party website providing news the user may view different sections including, sports, travel, health, etc. The information describing the deals suggested to the user via the third party system can be determined based on the portion of the news website that the user is currently viewing. For example, if the user is viewing sports section of the news, the user can be suggested deals associated with sports, if the user is viewing health information, the user can be suggested deals related to health products and services and so on. - When a user is presented with information describing a deal, the user may be presented with relevant social information associated with the deal. Social information relevant to the deal includes information describing connections of the user, actions related to the deal performed by the connections, events related to the deal, social groups associated with the deal, other deals associated with the deal, or images associated with the deal. A user is more likely to be interested in a deal if the user knows that connections of the user performed actions related to the deals. The actions of the connections of the user can include a connection purchasing the deal, commenting on the deal, following a deal, subscribing to a deal, liking the deal, liking a webpage associated with the deal, checking in to a location associated with the deal, or suggesting the deal to another user.
-
FIG. 4 shows the screenshot of a user interface presenting a deal to a user along withinformation 430 describing connections of the user associated with the deal. Information describing connections of the user is presented based on a measure of relevance of the connection with respect to the deal. The relevance of a connection with respect to a deal is determined based on various factors associated with the connection. For example, the relevance of a connection with respect to a deal may be determined based on a degree of match between the interests of the connection and information describing the deal. Information describing a deal can comprise the category of the deal, key words associated with the deal, or interests of other users that perform actions related to the deal. The interests of the connections may be explicitly specified by the connection in the connection's user profile or may be derived from past actions performed by the connections. Relevance of a connection with respect to a deal can be determined based on past actions of the connection associated with similar deals, including, deals belonging to the same category or deals from the same provider. For example, if several connections of a user purchase deals from a provider, the user is also likely to be interested in deals from the provider. Actions of a user associated with a deal include purchasing a deal, liking a deal, commenting on a deal, suggesting the deal to other users, recommending the deal, checking in to a location associated with the deal, communications with the user describing the deal, and the like. Actions performed by a user may be weighted based on an age of the action, for example, older actions may be weighted less than newer actions. - Certain actions associated with the deal may be weighted more than other actions for determining a relevance of a connection with respect to the deal. For example, purchasing a deal is considered more significant that commenting on the deal and is weighted higher. Similarly, checking in to a location associated with a deal may be weighted more than commenting on the deal. Commenting on the deal may be weighted more than liking the deal. In an embodiment, actions that are directly related to the deal being presented are determined to be more relevant that actions associated with other deals.
- The relevance of a connection of a user with respect to a deal may also be weighted by the affinity of the connection with respect to the user. The affinity of the connection is measured based on the type of interactions between the user and the connection, the type of connection (for example, family, friend, or colleague), frequency of interactions between the user and the connections and the like.
- The connections presented along with the deal may be filtered based on the targeting criteria provided by the provider. This filtering is performed because the provider has determined that connections satisfying the deal targeting criteria are likely to be associated with the deal. For example, if the provider indicates that the deal is targeted towards users of particular demographic characteristics including age, gender, or income, only connections satisfying the targeting criteria are presented along with the deal.
- The
suggestion module 265 may suggest different types of social information to a user along with information describing a deal. Social information associated with the deal includes events associated with the deal that the user is determined to be interested in. For example, a deal for a restaurant may be presented along with a concert taking place in a location near the restaurant if the user is determined to be interested in the concert. The user may be determined to be interested in the concert if the user retrieved information describing the concert, liked an event describing the concert in thesocial networking system 100, or previously attended similar concerts. The deal may be presented to the user along with other associated deals. In the above example of a concert happening close to a restaurant, the user may be presented with a deal for the restaurant when the user requests for information on a deal for the concert or vice versa. - The
suggestion module 265 may suggest information describing social groups associated with a deal for presentation to the user along with the deal. For example, if a user is presented with a deal for a fitness club, the user may also be presented with information describing activities of a fitness group of the social networking system. The fitness group may be a social group associated with activities performed by connections of the user. For example, the user may be presented with statistics describing how many members of the fitness group are also members of the fitness club. Similarly, an event organized by members of the group at the fitness club may be presented to the user. - The
suggestion module 265 may present images associated with the deal that are captured by connections of the user and uploaded to the social networking system by the connections. For example, if the user requests information describing a restaurant deal, images associated with the restaurant captured by friends of the user may be presented to the user. The images may show the restaurant, dishes served by the restaurant, or locations close to the restaurant. The locations of the images can be determined based on information provided by the user or by metadata obtained from the images. For example, certain digital cameras are occupied with a global positioning system (GPS) and provide the location of an image along with metadata of the image. The distance of the location at which the image was captured can be determined from the location of the restaurant. If the location at which the image was captured is determined to be within a threshold distance from the location of the restaurant, the image is presented to the user along with deals of the restaurant. -
FIG. 7 shows a flowchart of a process for presenting social information along with information describing a deal to a user of the social networking system, in accordance with one embodiment of the invention. Thesuggestion module 265 receives 710 a request for information describing a deal from a user. The user may request information about a particular deal using thedashboard 130. The request for information sent by the user is received by thedashboard manager 115. Thedashboard manager 115 sends a request to thesuggestion module 265 to provide information associated with the deal that is relevant to the user. Thesuggestion module 265 selects 720 entities represented in thesocial networking system 100 that are relevant to the deal. Thesuggestion module 265 determines 730 relevance score for the selected entities. The relevance score can be determined based on factors including information describing associations between the entity and the deal and information describing associations between the entity and the user. Thesuggestion module 265 selects 740 entities for presentation to the user based on the relevance scores. Thesuggestion module 265 sends the information describing the entities to thedashboard manager 115. Thedashboard manager 115 sends the relevant social information forpresentation 760 to the user along with information describing the deal. - If a large number of candidate deals are selected for presentation to a target user, the
dashboard manager 115 categorizes the deals based on social information associated with the user. Deals determined to be closely associated with each other are presented together via thedashboard 130. Two deals may be determined to be associated with each other if they are both associated with an entity represented in the social networking system. For example, two deals may be associated with each other if they are both associated with a connection of the target user. Alternatively, two deals may be associated with each other if each deal is associated with a connection of the user and the connections are determined to have high affinity with each other. - As another example, the connections of the target user in the
social networking system 100 can be analyzed to determine friend circles. Each friend circle comprises a set of connections with high affinity with each other. Deals associated a set of connections belonging to a friend circle may be determined to be associated with each other and presented together via thedashboard 130. Examples of friend circles of a user include a set of connections graduating from the same school, a set of connections that are members of a social group, a set of connections comprising people of similar interests, a set of connections comprising family members and the like. Typically, two connections belonging to the same friend circle have more interactions with each other than friends belonging to two different circles. - Two connections may be determined to be closely associated with each other if they have high affinity with each other. The affinity between two connections may be determined based on factors including connection type, number of interactions between connections, types of interactions between the connections, and so on. Affinity between two connections may also be determined by matching the interests of the two connections. Interests of the connections can be determined based on their user profile information or based on their past actions. Information of past actions of a user relevant to determining a user's interest includes type of information retrieved by the user and type of information provided by the user to the
social networking system 100, for example, via comments, likes/dislikes etc., and information discussed in communications. - Two connections may be determined to be associated with each other based on different types of information associated with the connection, for example, if they are determined to have attended an event together, if they belong to the same social group, if they graduated from the same educational organization, or if they are both tagged in an image. Two connections may be determined to be associated if the connections purchased deals belonging to the same category, or deals belonging to the same provider, or if they participated in a social deal. Two connections may be determined to be associated with each if they checked-in to a location together, for example, a location associated with the provider of the deal.
- The factors used to match connections are weighted higher if the factors are associated with a particular deal. For example, an action comprising two connections participating in a deal in the past is weighted more than an action comprising the connections sending a message to each other. Similarly, an action comprising two connections checking into a location associated with a deal is weighted higher than two connections graduating from the same school.
- Even if there are no interactions between a deal and a connection, an association may be created between the deal and the connection if there is a likelihood that the connection may interact with the deal. The likelihood of interactions may be determined based on a match between the connection and the deal, for example, by matching the interests of the connection with a category of the deal.
- In general, associations between deals presented to a user can be determined based on a set of social entities associated with the user. A set of social entities associated with the user are selected such that they are also associated with each other. Deals associated with this set of social entities are presented together via the
dashboard 130. The social entities can be connections of the user, social groups, events, other deals, communications between users, and the like. Furthermore, a deal is determined to be associated with a social entity if information describing the deal matches the social entity or if there are interactions between the deal and the social entity in thesocial networking system 100. - Deals categorized together based on social information associated with the user is presented together, for example, on the same screen of the
dashboard 130. If the deals are categorized together based on information associated with a set of connections, information describing these connections is also presented on thedashboard 130 along with the deals. A user is more likely to pay attention to deals if the deals are related together in a social context. For example, if a user finds a set of deals of interest to the user's family, the user is likely to pay attention to the deals and perform an action using the deal. - Two or more sets of deals may be determined as being closely associated with each other for presentation to the user. Each set may be determined to be closely associated based on a corresponding set of connections. In this situation a set of deals is preferred over another set of deals based on an aggregate measure of affinity between the corresponding set of connections and the user. For example, if the user interacts more closely with a first set of connections compared to a second set of connections, the deals associated with the first set of connections are preferred over deals associated with the second set of connections. In this situation, the deals associated with the first set of connections may be presented more prominently compared to deals associated with other sets of connections. Alternatively, the deals associated with the first set of connections may be presented on a first page of a set of pages from a website whereas deals associated with other sets of connections may be presented on subsequent pages.
-
FIG. 8 shows a flowchart of a process executed by thedashboard manager 115 for categorizing deals based on social information of a user. Thedashboard manager 115 identifies a user for presenting deals of interest to the user. A user may send a request from adashboard 130 requesting deals information. The request comprises information identifying the user that is used by thedashboard manager 115 for identifying the user. - The
dashboard manager 115 selects 820 a set of deals for presentation to the user. In an embodiment, thedashboard manager 115 invokes thesuggestion module 265 to execute the process described inFIG. 6 for determining the set of deals for presentation to the user. Thedashboard manager 115 creates 830 associations between the selected deals based on social information associated with the user. Two or more deals may be associated together if they are associated with an entity represented in the social networking system and there is an association between the entity and the user. - For example, the
dashboard manager 115 can associate a set of deals with each other based on a social group if members of the social group perform actions related to these deals. Thedashboard manager 115 can associate deals with each other based on interactions between connections of the user if the connections refer to the deal in messages. For example, if two connections have discussed two deals in messages between each other, the two deals are determined to be associated with each other. Thedashboard manager 115 can associate two deals with each other based on a connection if the same connection performs actions related to the deals. Two deals may be associated with each other via a trade show associated with the user, for example, if the deals are offered by two providers participating at the trade show. - The
dashboard manager 115 uses the associations between the deals to categorize 840 the deals into subsets of closely associated deals. Thedashboard manager 115 can represent the deals information as a graph comprising nodes representing the deals and the associations between the deals represented as edges. The edges can be weighted based on various factors indicating a strength of the association represented by the edge. Certain types of associations may be weighted more than other types. An association between two deals based on a connection of a user interacting with two deals may be weighted more than an association based on users of a group interacting with the deals if the users of the group are not connected to the user. - In an embodiment, the
dashboard manager 115 creates graph representations based on different types of social information used to associate deals. This helps thedashboard manager 115 analyze different types of social information separately if the two types of information requires separate analysis. Associations between two deals based on different factors may be combined based on a weighted aggregate value combing scores associated with the different factors. In an embodiment, a factor for determining association between deals based on a social entity associated with the user may be weighted based on the strength of association between the user and the entity. For example, a connection may have strong associations with two deals, but if the connection rarely interacts with the user, the association between the deals based on this factor may be weighted less. - The
dashboard manager 115 may determine subsets of closely associated deals from the graph representations by performing clustering analysis to determine clusters of deals. The deals belonging to a cluster are classified or categorized 840 together based on social information. Thedashboard manager 115 presents 850 the subsets of deals categorized based on the social information to the user via thedashboard 130. Deals categorized together are presented together using the dashboard, for example, on the same screen. - The dashboard manager may send information describing deals to the
dashboard 130 along with instructions to present deals closely associated with each other based on social information together. Thedashboard manager 115 may also send instructions to thedashboard 130 to present social information used to categorize the deals along with the deals. For example, if a subset of deals is determined to be closely associated based on a subset of connections of the user, information describing the subset of connections may be presented along with the deals. - The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter.
- The foregoing description of the embodiments of the invention has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.
- Some portions of this description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.
- Any of the steps, operations, or processes described herein may be performed or implemented with one or more hardware or software modules, alone or in combination with other devices. In one embodiment, a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
- Embodiments of the invention may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, and/or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a tangible computer readable storage medium or any type of media suitable for storing electronic instructions, and coupled to a computer system bus. Furthermore, any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
- Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
Claims (20)
1. A computer-implemented method for selecting deals for suggestion to a user of a social networking system, the method comprising:
identifying a user of a social networking system for suggesting a deal from a plurality of candidate deals;
determining a measure of relevance to the user for each of the candidate deals, wherein the measure of relevance to the user for a particular candidate deal is determined based on information describing an association between the candidate deal and one or more other users with whom the user is connected in the social networking system;
selecting a deal to suggest to the user based on the determined measures of relevance for the candidate deals; and
sending information describing the selected deal to the user.
2. The computer-implemented method of claim 1 , wherein the association between the candidate deal and the other users with whom the user is connected is determined by matching interests of the other users with the candidate deal.
3. The computer-implemented method of claim 2 , wherein the interests of the other users with whom the user is connected are described in a user profile of the connection stored in the social networking system.
4. The computer-implemented method of claim 2 , wherein the interests of the other users with whom the user is connected are determined from actions of the other users performed via the social networking system.
5. The computer-implemented method of claim 1 , wherein the association between the candidate deal and the other users is determined by matching the other users with deals matching the candidate deal.
6. The computer-implemented method of claim 1 , wherein the association between the candidate deal and the other users is determined by matching the other users with deals offered by the provider of the deal.
7. The computer-implemented method of claim 1 , wherein the association between the candidate deal and the other users is determined based on actions performed by the other users, the actions associated with the candidate deal.
8. The computer-implemented method of claim 7 , wherein actions associated with the candidate deal comprise one or more of purchasing the candidate deal, participating in the candidate deal, liking the candidate deal, commenting on the candidate deal, posting an image associated with the candidate deal, or checking into a location associated with the candidate deal.
9. The computer-implemented method of claim 7 , wherein determining the measure of relevance of the candidate deal comprises weighing actions performed by the other users connected to the user based on a type of the action.
10. The computer-implemented method of claim 9 , wherein an action comprising purchasing a particular deal is weighted more than an action comprising commenting on the particular deal.
11. The computer-implemented method of claim 9 , wherein an action comprising checking in to a location associated with a particular deal is weighted more than an action comprising commenting on the particular deal.
12. The computer-implemented method of claim 9 , wherein an action comprising commenting on a particular deal is weighted more than an action comprising liking the particular deal.
13. The computer-implemented method of claim 1 , wherein information describing an association between the other users connected to the user and the candidate deal is weighted by affinity between the other users and the user.
14. The computer-implemented method of claim 1 , wherein the information describing the association between the other users and the candidate deal comprises information describing users connected to the other users via the social networking system.
15. The computer-implemented method of claim 1 , wherein the measure of relevance of the candidate deal is determined based on an association between the user and other deals associated with the candidate deal.
16. The computer-implemented method of claim 1 , further comprising:
determining the plurality of candidate deals, the determining comprising:
applying one or more deal targeting criteria to a set of deals, the deal targeting criteria matching candidate deals with target users.
17. The computer-implemented method of claim 16 , wherein the other users connected to the user are determined by applying deal targeting criteria associated with the candidate deal to a set of users connected to the user.
18. A computer program product having a computer-readable storage medium storing computer-executable code for selecting deals for suggestion to a user of a social networking system, the code comprising:
a suggestion module configured to:
identify a user of a social networking system for suggesting a deal from a plurality of candidate deals;
determine a measure of relevance to the user for each of the candidate deals, wherein the measure of relevance to the user for a particular candidate deal is determined based on information describing an association between the candidate deal and one or more other users with whom the user is connected in the social networking system;
select a deal to suggest to the user based on the determined measures of relevance for the candidate deals; and
send information describing the selected deal to the user.
19. The computer program product of claim 18 , wherein the suggestion module is further configured to:
determine the plurality of candidate deals, the determining comprising:
applying one or more deal targeting criteria to a set of deals, the deal targeting criteria matching candidate deals with target users.
20. The computer program product of claim 18 , wherein the association between the candidate deal and the other users is determined based on actions performed by the other users, the actions associated with the candidate deal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/181,291 US20120239486A1 (en) | 2011-03-14 | 2011-07-12 | Suggesting deals to a user in a social networking system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161452577P | 2011-03-14 | 2011-03-14 | |
US13/181,291 US20120239486A1 (en) | 2011-03-14 | 2011-07-12 | Suggesting deals to a user in a social networking system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120239486A1 true US20120239486A1 (en) | 2012-09-20 |
Family
ID=46829210
Family Applications (9)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/166,647 Abandoned US20120239494A1 (en) | 2011-03-14 | 2011-06-22 | Pricing deals for a user based on social information |
US13/167,657 Abandoned US20120239505A1 (en) | 2011-03-14 | 2011-06-23 | User initiated deals in a social networking system |
US13/181,347 Expired - Fee Related US10504152B2 (en) | 2011-03-14 | 2011-07-12 | Platform for distributing deals via a social networking system |
US13/181,338 Abandoned US20120239495A1 (en) | 2011-03-14 | 2011-07-12 | Presenting social information relevant to a deal to a user |
US13/181,307 Active 2032-06-30 US10540692B2 (en) | 2011-03-14 | 2011-07-12 | Presenting deals to a user of social networking system |
US13/181,291 Abandoned US20120239486A1 (en) | 2011-03-14 | 2011-07-12 | Suggesting deals to a user in a social networking system |
US13/181,344 Active 2033-06-14 US10346880B2 (en) | 2011-03-14 | 2011-07-12 | Offering social deals based on activities of connections in a social networking system |
US13/289,970 Abandoned US20120239485A1 (en) | 2011-03-14 | 2011-11-04 | Associating deals with events in a social networking system |
US13/289,973 Abandoned US20120259790A1 (en) | 2011-03-14 | 2011-11-04 | Following deals in a social networking system |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/166,647 Abandoned US20120239494A1 (en) | 2011-03-14 | 2011-06-22 | Pricing deals for a user based on social information |
US13/167,657 Abandoned US20120239505A1 (en) | 2011-03-14 | 2011-06-23 | User initiated deals in a social networking system |
US13/181,347 Expired - Fee Related US10504152B2 (en) | 2011-03-14 | 2011-07-12 | Platform for distributing deals via a social networking system |
US13/181,338 Abandoned US20120239495A1 (en) | 2011-03-14 | 2011-07-12 | Presenting social information relevant to a deal to a user |
US13/181,307 Active 2032-06-30 US10540692B2 (en) | 2011-03-14 | 2011-07-12 | Presenting deals to a user of social networking system |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/181,344 Active 2033-06-14 US10346880B2 (en) | 2011-03-14 | 2011-07-12 | Offering social deals based on activities of connections in a social networking system |
US13/289,970 Abandoned US20120239485A1 (en) | 2011-03-14 | 2011-11-04 | Associating deals with events in a social networking system |
US13/289,973 Abandoned US20120259790A1 (en) | 2011-03-14 | 2011-11-04 | Following deals in a social networking system |
Country Status (9)
Country | Link |
---|---|
US (9) | US20120239494A1 (en) |
JP (1) | JP6017464B2 (en) |
KR (1) | KR101876412B1 (en) |
CN (1) | CN103460235B (en) |
AU (2) | AU2012229354A1 (en) |
BR (1) | BR112013023428A2 (en) |
CA (1) | CA2829103A1 (en) |
MX (1) | MX2013010433A (en) |
WO (1) | WO2012125426A1 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239504A1 (en) * | 2011-03-15 | 2012-09-20 | Microsoft Corporation | Virtual Shopping Assistance |
US20130037609A1 (en) * | 2011-08-13 | 2013-02-14 | Carolann Merritt-Munson | Method, apparatus and system of unique, coded, visual identifiers that provide a point of contact between people for communication and exchange of information bridging non-virtual and virtual environments |
US20130179438A1 (en) * | 2012-01-05 | 2013-07-11 | International Business Machines Corporation | Goal-oriented user matching among social networking environments |
WO2014052168A2 (en) * | 2012-09-28 | 2014-04-03 | Google Inc. | Identity crowd-sourced curation |
US20150256503A1 (en) * | 2012-08-13 | 2015-09-10 | Facebook, Inc. | Generating Guest Suggestions For Events In A Social Networking System |
US9369536B1 (en) | 2013-06-25 | 2016-06-14 | Amazon Technologies, Inc. | Event-based user behavior timeline, predictions, and recommendations |
US9406091B1 (en) * | 2012-03-12 | 2016-08-02 | Amazon Technologies, Inc. | Persona based recommendations |
US20170249671A1 (en) * | 2014-09-19 | 2017-08-31 | Mijem Inc. | Apparatus and method for online data collection and processing |
US10171671B1 (en) * | 2015-11-12 | 2019-01-01 | United Services Automobile Association (Usaa) | Customer service call routing and/or scheduling system and method |
US20190205912A1 (en) * | 2017-12-28 | 2019-07-04 | Paypal, Inc. | Monitoring device application usage for completion of checkout data processing |
US10402426B2 (en) | 2012-09-26 | 2019-09-03 | Facebook, Inc. | Generating event suggestions for users from social information |
US11036778B2 (en) * | 2013-03-15 | 2021-06-15 | Proofpoint, Inc. | Detecting, classifying, and enforcing policies on social networking activity |
US11087415B2 (en) * | 2011-10-11 | 2021-08-10 | Google Llc | Determining intent of a recommendation on a mobile application |
US11252123B2 (en) | 2013-08-16 | 2022-02-15 | Proofpoint, Inc. | Classifying social entities and applying unique policies on social entities based on crowd-sourced data |
Families Citing this family (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11816745B2 (en) * | 2002-02-06 | 2023-11-14 | Konrad Hernblad | Customer-based wireless food ordering and payment system and method |
US20140214666A1 (en) * | 2008-03-13 | 2014-07-31 | Giftya Llc | System and method for managing gifts |
US10949833B2 (en) | 2008-03-13 | 2021-03-16 | Giftya Llc | Technologies for generating and displaying virtual and interactive egifts |
US10489776B2 (en) | 2008-03-13 | 2019-11-26 | Giftya Llc | System and method for managing gift credits |
US20130041884A1 (en) * | 2011-08-12 | 2013-02-14 | Jagadeshwar Reddy Nomula | Method and system for resolving search queries that are inclined towards social activities |
US10089701B2 (en) | 2011-05-10 | 2018-10-02 | Restaurant Revolution Technologies, Inc. | Systems and methods for take-out order sharing |
US9842342B2 (en) * | 2011-05-10 | 2017-12-12 | Restaurant Revolution Technologies, Inc. | Systems and methods for take-out order analytics |
US9805351B2 (en) | 2011-05-10 | 2017-10-31 | Restaurant Revolution Technologies, Inc. | Systems and methods for take-out order management |
US20120296730A1 (en) * | 2011-05-19 | 2012-11-22 | Yahoo! Inc. | Methods and systems for gamifying coupon offerings |
US8935327B1 (en) * | 2011-07-27 | 2015-01-13 | Amdocs Software Systems Limited | System, method, and computer program for interfacing assets of an entity with a social media service |
WO2012083696A1 (en) * | 2011-07-30 | 2012-06-28 | 华为技术有限公司 | Method for recommending information, recommendation engine and network system |
US20130041735A1 (en) * | 2011-08-12 | 2013-02-14 | T&A Innovations, Llc | Systems and methods of online marketing to facilitate live social networking |
US9530167B2 (en) * | 2011-08-12 | 2016-12-27 | Facebook, Inc. | Coefficients attribution for different objects based on natural language processing |
US8965974B2 (en) * | 2011-08-19 | 2015-02-24 | Board Of Regents, The University Of Texas System | Systems and methods for determining user attribute values by mining user network data and information |
US9208511B2 (en) * | 2011-08-22 | 2015-12-08 | Simple Rules, Inc. | System and method for location-based recommendations |
US9904703B1 (en) * | 2011-09-06 | 2018-02-27 | Google Llc | Determining content of interest based on social network interactions and information |
KR101822017B1 (en) * | 2011-10-11 | 2018-03-08 | 삼성전자주식회사 | Apparatas and method for collective discount region in a portable terminal |
US10719840B2 (en) * | 2011-10-24 | 2020-07-21 | Transform Sr Brands Llc | Systems and methods for distributing customizable and shareable tiered offers |
US8458044B2 (en) * | 2011-10-26 | 2013-06-04 | Fragmob, Llc | Dynamic group offer process for direct sales system employing networked mobile computing devices |
US8914371B2 (en) * | 2011-12-13 | 2014-12-16 | International Business Machines Corporation | Event mining in social networks |
US9105043B2 (en) * | 2012-03-06 | 2015-08-11 | Postrel Richard | Method and system for providing incentives to members of a social network |
US8924493B1 (en) * | 2012-03-09 | 2014-12-30 | Google Inc. | Prioritized notifications in a social network |
US20130282440A1 (en) * | 2012-04-23 | 2013-10-24 | Roger D. Isaac | Social pricing for goods or services |
US20130290510A1 (en) * | 2012-04-26 | 2013-10-31 | Scott Klooster | Systems and methods for rewarding social network users for content |
JP2013253961A (en) * | 2012-05-07 | 2013-12-19 | Denso Corp | Image display system |
US20130305169A1 (en) * | 2012-05-11 | 2013-11-14 | Robert Evan Gold | Methods and Systems for Providing Feedback in Interactive, Interest Centric Communications Environment |
US8874674B2 (en) * | 2012-06-01 | 2014-10-28 | Bank Of America Corporation | System for optimizing social networking |
US9760895B2 (en) * | 2012-06-04 | 2017-09-12 | American Express Travel Related Services Company, Inc. | Systems and methods for delivering tailored content based upon a consumer profile |
US20130339118A1 (en) * | 2012-06-14 | 2013-12-19 | Gbl Systems Corporation | Bulk purchasing by ad hoc consumer groups |
US20130339128A1 (en) * | 2012-06-19 | 2013-12-19 | Move That Block LLC | Promotion system, computer program product, and related method |
US20140052513A1 (en) * | 2012-08-20 | 2014-02-20 | Solavei, Llc | Social Commerce Intelligence Engine |
US20140074620A1 (en) * | 2012-09-12 | 2014-03-13 | Andrew G. Bosworth | Advertisement selection based on user selected affiliation with brands in a social networking system |
US9356902B2 (en) * | 2012-09-21 | 2016-05-31 | Facebook, Inc. | Structuring notifications of events to users in a social networking system |
US10535076B1 (en) * | 2012-09-28 | 2020-01-14 | Groupon, Inc. | Deal program life cycle |
US10423984B2 (en) | 2012-10-16 | 2019-09-24 | Facebook, Inc. | Sponsored stories in notifications |
US9451389B2 (en) * | 2012-10-21 | 2016-09-20 | Kadeer Beg | Methods and systems for communicating greeting and informational content using NFC devices |
US9229632B2 (en) | 2012-10-29 | 2016-01-05 | Facebook, Inc. | Animation sequence associated with image |
US20150113447A1 (en) * | 2012-11-08 | 2015-04-23 | Socialtopias, Llc. | Method And Apparatus For Providing Plan Making Functionality Enabling A User To Execute From A Social Networking Service Feature Currently In Use |
US20150178691A1 (en) * | 2012-11-08 | 2015-06-25 | Socialtopias, Llc. | Method And Apparatus For Providing A User Device With Functionality Enabling Users To Provide Their Intention To Attend A Particular Destination Or Event |
US9081410B2 (en) | 2012-11-14 | 2015-07-14 | Facebook, Inc. | Loading content on electronic device |
US9507757B2 (en) | 2012-11-14 | 2016-11-29 | Facebook, Inc. | Generating multiple versions of a content item for multiple platforms |
US9218188B2 (en) | 2012-11-14 | 2015-12-22 | Facebook, Inc. | Animation sequence associated with feedback user-interface element |
US9547627B2 (en) | 2012-11-14 | 2017-01-17 | Facebook, Inc. | Comment presentation |
US9696898B2 (en) | 2012-11-14 | 2017-07-04 | Facebook, Inc. | Scrolling through a series of content items |
US9684935B2 (en) * | 2012-11-14 | 2017-06-20 | Facebook, Inc. | Content composer for third-party applications |
US9245312B2 (en) | 2012-11-14 | 2016-01-26 | Facebook, Inc. | Image panning and zooming effect |
US9607289B2 (en) | 2012-11-14 | 2017-03-28 | Facebook, Inc. | Content type filter |
US9547416B2 (en) | 2012-11-14 | 2017-01-17 | Facebook, Inc. | Image presentation |
US9606717B2 (en) | 2012-11-14 | 2017-03-28 | Facebook, Inc. | Content composer |
US9235321B2 (en) | 2012-11-14 | 2016-01-12 | Facebook, Inc. | Animation sequence associated with content item |
US9606695B2 (en) | 2012-11-14 | 2017-03-28 | Facebook, Inc. | Event notification |
US9507483B2 (en) | 2012-11-14 | 2016-11-29 | Facebook, Inc. | Photographs with location or time information |
US20140164062A1 (en) * | 2012-12-06 | 2014-06-12 | Capital One Financial Corporation | Systems and methods for performing socio-graphic consumer segmentation for targeted advertising |
US10187481B2 (en) * | 2012-12-12 | 2019-01-22 | Facebook, Inc. | Organizing application-reported information |
US20140207544A1 (en) * | 2013-01-23 | 2014-07-24 | Visan, Inc. | Ranking limited time discounts or deals |
US9524071B2 (en) * | 2013-02-05 | 2016-12-20 | Microsoft Technology Licensing, Llc | Threshold view |
US9495715B2 (en) * | 2013-02-15 | 2016-11-15 | Paypal, Inc. | System, method, and medium for social network information feed in-line purchasing by text recognition |
US9330421B2 (en) * | 2013-02-21 | 2016-05-03 | Facebook, Inc. | Prompting user action in conjunction with tagged content on a social networking system |
US10467553B2 (en) * | 2013-03-13 | 2019-11-05 | Airbnb, Inc. | Automated determination of booking availability for user sourced accommodations |
US20140278935A1 (en) * | 2013-03-14 | 2014-09-18 | Vionic, Inc. | System and method of providing online offers through social media platforms |
US9355378B2 (en) | 2013-03-14 | 2016-05-31 | American Express Travel Related Services Company, Inc. | Systems and methods for identifying and delivering tailored content based upon a service dialog |
US9972042B2 (en) | 2013-03-15 | 2018-05-15 | Sears Brands, L.L.C. | Recommendations based upon explicit user similarity |
US9721307B2 (en) * | 2013-06-20 | 2017-08-01 | Linkedin Corporation | Identifying entities based on free text in member records |
US20150006294A1 (en) * | 2013-06-28 | 2015-01-01 | Linkedln Corporation | Targeting rules based on previous recommendations |
US20150019568A1 (en) * | 2013-07-12 | 2015-01-15 | Readz S.A. | Identifying word-of-mouth influencers using topic modeling and interaction and engagement analysis |
US20150039424A1 (en) * | 2013-07-30 | 2015-02-05 | Yahoo! Inc | System and method for social display advertisements |
KR102108880B1 (en) | 2013-09-17 | 2020-05-12 | 삼성디스플레이 주식회사 | Gate driving circuit and a display apparatus having the gate driving circuit |
US9324115B2 (en) | 2013-09-20 | 2016-04-26 | Bank Of America Corporation | Activity review for a financial and social management system |
US9934536B2 (en) | 2013-09-20 | 2018-04-03 | Bank Of America Corporation | Interactive map for grouped activities within a financial and social management system |
US9786019B2 (en) | 2013-09-20 | 2017-10-10 | Bank Of America Corporation | Grouped packages for a financial and social management system |
US9323852B2 (en) | 2013-09-20 | 2016-04-26 | Bank Of America Corporation | Activity list filters for a financial and social management system |
US20150088771A1 (en) * | 2013-09-20 | 2015-03-26 | Bank Of America Corporation | Financial and social management system |
US9786018B2 (en) * | 2013-09-20 | 2017-10-10 | Bank Of America Corporation | Activity list enhanced with images for a financial and social management system |
US10002395B2 (en) | 2013-09-20 | 2018-06-19 | Bank Of America Corporation | Interactive mapping system for user experience augmentation |
US9324114B2 (en) | 2013-09-20 | 2016-04-26 | Bank Of America Corporation | Interactive map for grouped activities within a financial and social management system |
RU2013144681A (en) | 2013-10-03 | 2015-04-10 | Общество С Ограниченной Ответственностью "Яндекс" | ELECTRONIC MESSAGE PROCESSING SYSTEM FOR DETERMINING ITS CLASSIFICATION |
US20150112809A1 (en) * | 2013-10-17 | 2015-04-23 | igniter Inc | Confirmation of a Device at a Geographic Location |
US20150206192A1 (en) * | 2014-01-21 | 2015-07-23 | KBR IP Holdings, LLC | Increasing reliability and efficiency of matching items based on item locations and geo-location settings |
US9553841B1 (en) * | 2014-02-27 | 2017-01-24 | Twitter, Inc. | Interactive content in a messaging platform |
US11042904B1 (en) * | 2014-03-12 | 2021-06-22 | Groupon, Inc. | Method and system for detecting application programs on mobile computing device |
US10269043B1 (en) | 2014-03-12 | 2019-04-23 | Groupon, Inc. | Method and system for distribution of application program for promotion and marketing service |
US10937062B1 (en) * | 2014-03-12 | 2021-03-02 | Groupon, Inc. | Method and system for facilitating download of application programs on mobile computing device |
US11010793B1 (en) * | 2014-03-12 | 2021-05-18 | Groupon, Inc. | Method and system for determining user profile data for promotion and marketing service using mobile application program information |
US10846749B1 (en) * | 2014-03-12 | 2020-11-24 | Groupon, Inc. | Method and system for offering promotion impressions using application programs |
US10891651B1 (en) * | 2014-03-12 | 2021-01-12 | Groupon, Inc. | Method and system for launching application programs using promotion impressions |
US10438276B2 (en) | 2014-04-16 | 2019-10-08 | Ebay Inc. | Smart recurrent orders |
US9773067B2 (en) | 2014-05-30 | 2017-09-26 | Microsoft Technology Licensing, Llc | Personal intelligence platform |
EP2996361A1 (en) * | 2014-09-10 | 2016-03-16 | YouMe.im ltd | Method and system for secure messaging in social network |
US9594841B2 (en) | 2014-10-07 | 2017-03-14 | Jordan Ryan Driediger | Methods and software for web document specific messaging |
US20160180316A1 (en) * | 2014-12-17 | 2016-06-23 | Facebook, Inc. | Techniques to automatically predict and configure payment transactions |
US20210019797A1 (en) | 2015-01-09 | 2021-01-21 | Wells Fargo Bank, N.A. | Systems and methods for on demand and location-based offers |
US10354339B2 (en) * | 2015-06-01 | 2019-07-16 | Microsoft Technology Licensing, Llc | Automatic initiation for generating a company profile |
US10467708B2 (en) | 2015-06-01 | 2019-11-05 | Microsoft Technology Licensing, Llc | Determining an omitted company page based on a connection density value |
US10140327B2 (en) | 2015-08-24 | 2018-11-27 | Palantir Technologies Inc. | Feature clustering of users, user correlation database access, and user interface generation system |
US10380535B1 (en) * | 2015-12-07 | 2019-08-13 | Amazon Technologies, Inc. | Creating group orders through geofencing |
US10318914B1 (en) | 2015-12-07 | 2019-06-11 | Amazon Technologies, Inc. | Creating group orders |
US10373131B2 (en) | 2016-01-04 | 2019-08-06 | Bank Of America Corporation | Recurring event analyses and data push |
US9679426B1 (en) | 2016-01-04 | 2017-06-13 | Bank Of America Corporation | Malfeasance detection based on identification of device signature |
US10049155B2 (en) | 2016-01-20 | 2018-08-14 | Bank Of America Corporation | System for mending through automated processes |
CN105847114B (en) * | 2016-03-21 | 2020-10-02 | 腾讯科技(深圳)有限公司 | Dynamic information display system, method and device |
US11132413B2 (en) * | 2016-05-24 | 2021-09-28 | Microsoft Technology Licensing, Llc | Providing travel or promotion based recommendation associated with social graph |
US11282119B1 (en) | 2017-03-17 | 2022-03-22 | Wells Fargo Bank, N.A. | System, computer-readable storage media, and method for collaborative financial transactions to increase consumer buying power |
JP2018163460A (en) * | 2017-03-24 | 2018-10-18 | ソニー株式会社 | Information processing apparatus, information processing method, and program |
US10606866B1 (en) * | 2017-03-30 | 2020-03-31 | Palantir Technologies Inc. | Framework for exposing network activities |
JP6453932B2 (en) * | 2017-03-30 | 2019-01-16 | 株式会社バンダイナムコエンターテインメント | Game system and program |
US10367776B2 (en) * | 2017-04-07 | 2019-07-30 | International Business Machines Corporation | Response status management in a social networking environment |
US11151596B2 (en) * | 2017-07-26 | 2021-10-19 | Squad App, LLC | System and method for squadron communication exchange between receiving devices |
CN108536726A (en) * | 2018-02-25 | 2018-09-14 | 心触动(武汉)科技有限公司 | A kind of good friend's intelligent recommendation method and system social in the school |
KR102192934B1 (en) * | 2018-08-08 | 2020-12-18 | 엔에이치엔 주식회사 | Network server and method to provide user terminal with web page |
US20200250709A1 (en) * | 2019-02-01 | 2020-08-06 | Mimiran LLC | Conversion and document management system |
CN110544143B (en) * | 2019-07-31 | 2021-10-08 | 创新先进技术有限公司 | Contract establishing method and device for grouping credit project |
CN113505306B (en) * | 2021-06-21 | 2022-04-22 | 广东交通职业技术学院 | Interest point recommendation method, system and medium based on heterogeneous graph neural network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119167A1 (en) * | 2007-11-05 | 2009-05-07 | Kendall Timothy A | Social Advertisements and Other Informational Messages on a Social Networking Website, and Advertising Model for Same |
US20090157439A1 (en) * | 2007-12-13 | 2009-06-18 | Meir Fuchs | System and method for travel related commercial interactions |
US20120166267A1 (en) * | 2010-12-24 | 2012-06-28 | Clover Network, Inc. | Web and mobile device advertising |
US20130060637A1 (en) * | 2011-03-04 | 2013-03-07 | Tristan Walker | System and method for managing and redeeming offers with a location-based service |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000011570A1 (en) | 1998-08-25 | 2000-03-02 | Accompany Inc. | On-line marketing system and method |
US8140402B1 (en) | 2001-08-06 | 2012-03-20 | Ewinwin, Inc. | Social pricing |
JP2001291003A (en) | 2000-04-06 | 2001-10-19 | Nec Corp | Method for imparting privilege by object selection on web page and server for performing the method |
JP2004054381A (en) | 2002-07-17 | 2004-02-19 | Asahi Kasei Corp | Recommendation system and server device |
US9117220B2 (en) * | 2003-06-16 | 2015-08-25 | Meetup, Inc. | Web-based interactive meeting facility with revenue generation through sponsorship |
JP4193759B2 (en) | 2004-06-25 | 2008-12-10 | 株式会社村田製作所 | Non-reciprocal circuit device and communication device |
US8010460B2 (en) * | 2004-09-02 | 2011-08-30 | Linkedin Corporation | Method and system for reputation evaluation of online users in a social networking scheme |
JP4371035B2 (en) * | 2004-10-18 | 2009-11-25 | 日本電気株式会社 | Store guidance method and store guidance system |
US10977613B2 (en) | 2004-10-20 | 2021-04-13 | Dizpersion Technologies, Inc. | Method and system for providing cooperative purchasing over social networks |
US20060212355A1 (en) * | 2005-01-27 | 2006-09-21 | Brian Teague | Social information and promotional offer management and distribution systems and methods |
US7856360B2 (en) * | 2006-01-30 | 2010-12-21 | Hoozware, Inc. | System for providing a service to venues where people aggregate |
US8571580B2 (en) * | 2006-06-01 | 2013-10-29 | Loopt Llc. | Displaying the location of individuals on an interactive map display on a mobile communication device |
US20080082420A1 (en) | 2006-10-03 | 2008-04-03 | Kargman James B | Method for Dynamic Group Formation and Purchasing |
KR100749093B1 (en) | 2006-11-29 | 2007-08-13 | 주식회사 인터파크지마켓 | System and method for promoting merchandise sales using online marketplace |
US20080140476A1 (en) | 2006-12-12 | 2008-06-12 | Shubhasheesh Anand | Smart advertisement generating system |
US20080189169A1 (en) * | 2007-02-01 | 2008-08-07 | Enliven Marketing Technologies Corporation | System and method for implementing advertising in an online social network |
JP4763642B2 (en) | 2007-03-28 | 2011-08-31 | 富士通株式会社 | Sales promotion support method and sales promotion support program |
US20080281622A1 (en) | 2007-05-10 | 2008-11-13 | Mary Kay Hoal | Social Networking System |
US20080294994A1 (en) | 2007-05-18 | 2008-11-27 | Justin David Kruger | Event management system and method with calendar interface |
CN101836226A (en) | 2007-05-30 | 2010-09-15 | 谷歌公司 | Flexible revenue sharing and referral bounty system |
US8088002B2 (en) | 2007-11-19 | 2012-01-03 | Ganz | Transfer of rewards between websites |
US8234193B2 (en) | 2008-03-03 | 2012-07-31 | Wildfire Interactive, Inc. | Method and system for providing online promotions through a social network-based platform |
US8229819B2 (en) | 2008-03-03 | 2012-07-24 | Wildfire Interactive, Inc. | Providing online promotions through social media networks |
US8538811B2 (en) | 2008-03-03 | 2013-09-17 | Yahoo! Inc. | Method and apparatus for social network marketing with advocate referral |
GB2458388A (en) | 2008-03-21 | 2009-09-23 | Dressbot Inc | A collaborative online shopping environment, virtual mall, store, etc. in which payments may be shared, products recommended and users modelled. |
US20100121696A1 (en) | 2008-05-16 | 2010-05-13 | Daniel James Green | System and method for providing customers access to incentive deals |
US20090319359A1 (en) * | 2008-06-18 | 2009-12-24 | Vyrl Mkt, Inc. | Social behavioral targeting based on influence in a social network |
CN101661592A (en) | 2008-08-25 | 2010-03-03 | 冼剑光 | Method for releasing advertisements by real social network |
US20100257028A1 (en) * | 2009-04-02 | 2010-10-07 | Talk3, Inc. | Methods and systems for extracting and managing latent social networks for use in commercial activities |
US20100332304A1 (en) * | 2009-06-29 | 2010-12-30 | Higgins Chris W | Targeting in Cost-Per-Action Advertising |
US10304069B2 (en) | 2009-07-29 | 2019-05-28 | Shopkick, Inc. | Method and system for presentment and redemption of personalized discounts |
US20120029992A1 (en) * | 2010-07-27 | 2012-02-02 | Pasquale De Facendis | System and method for maximizing value through collaboration and pooling of buyers, sellers and parties with common interests |
US20120072271A1 (en) * | 2010-09-20 | 2012-03-22 | Firethorn Holdings, Llc | System, method, apparatus, and computer program product for an electronic, crowdsourced marketing campaign |
US20120130784A1 (en) * | 2010-11-22 | 2012-05-24 | Lance Neuhauser | Promoting group deals on the internet |
US20120209713A1 (en) * | 2011-02-16 | 2012-08-16 | Plut William J | Electronic interpersonal advertising |
US20120221387A1 (en) * | 2011-02-24 | 2012-08-30 | Yahoo! Inc. | System for providing incentives for referring advertisements and deals |
US9595068B2 (en) * | 2011-05-13 | 2017-03-14 | Dell Products L.P. | Social marketplace affiliate administration |
-
2011
- 2011-06-22 US US13/166,647 patent/US20120239494A1/en not_active Abandoned
- 2011-06-23 US US13/167,657 patent/US20120239505A1/en not_active Abandoned
- 2011-07-12 US US13/181,347 patent/US10504152B2/en not_active Expired - Fee Related
- 2011-07-12 US US13/181,338 patent/US20120239495A1/en not_active Abandoned
- 2011-07-12 US US13/181,307 patent/US10540692B2/en active Active
- 2011-07-12 US US13/181,291 patent/US20120239486A1/en not_active Abandoned
- 2011-07-12 US US13/181,344 patent/US10346880B2/en active Active
- 2011-11-04 US US13/289,970 patent/US20120239485A1/en not_active Abandoned
- 2011-11-04 US US13/289,973 patent/US20120259790A1/en not_active Abandoned
-
2012
- 2012-03-08 MX MX2013010433A patent/MX2013010433A/en not_active Application Discontinuation
- 2012-03-08 KR KR1020137026716A patent/KR101876412B1/en active IP Right Grant
- 2012-03-08 WO PCT/US2012/028349 patent/WO2012125426A1/en active Application Filing
- 2012-03-08 AU AU2012229354A patent/AU2012229354A1/en not_active Abandoned
- 2012-03-08 BR BR112013023428A patent/BR112013023428A2/en not_active Application Discontinuation
- 2012-03-08 CN CN201280013324.8A patent/CN103460235B/en active Active
- 2012-03-08 JP JP2013558067A patent/JP6017464B2/en not_active Expired - Fee Related
- 2012-03-08 CA CA2829103A patent/CA2829103A1/en not_active Abandoned
-
2017
- 2017-07-20 AU AU2017206233A patent/AU2017206233A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090119167A1 (en) * | 2007-11-05 | 2009-05-07 | Kendall Timothy A | Social Advertisements and Other Informational Messages on a Social Networking Website, and Advertising Model for Same |
US20090157439A1 (en) * | 2007-12-13 | 2009-06-18 | Meir Fuchs | System and method for travel related commercial interactions |
US20120166267A1 (en) * | 2010-12-24 | 2012-06-28 | Clover Network, Inc. | Web and mobile device advertising |
US20130060637A1 (en) * | 2011-03-04 | 2013-03-07 | Tristan Walker | System and method for managing and redeeming offers with a location-based service |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120239504A1 (en) * | 2011-03-15 | 2012-09-20 | Microsoft Corporation | Virtual Shopping Assistance |
US20130037609A1 (en) * | 2011-08-13 | 2013-02-14 | Carolann Merritt-Munson | Method, apparatus and system of unique, coded, visual identifiers that provide a point of contact between people for communication and exchange of information bridging non-virtual and virtual environments |
US11087415B2 (en) * | 2011-10-11 | 2021-08-10 | Google Llc | Determining intent of a recommendation on a mobile application |
US20130179438A1 (en) * | 2012-01-05 | 2013-07-11 | International Business Machines Corporation | Goal-oriented user matching among social networking environments |
US9298826B2 (en) * | 2012-01-05 | 2016-03-29 | International Business Machines Corporation | Goal-oriented user matching among social networking environments |
US10268653B2 (en) | 2012-01-05 | 2019-04-23 | International Business Machines Corporation | Goal-oriented user matching among social networking environments |
US9633086B2 (en) | 2012-01-05 | 2017-04-25 | International Business Machines Corporation | Goal-oriented user matching among social networking environments |
US9406091B1 (en) * | 2012-03-12 | 2016-08-02 | Amazon Technologies, Inc. | Persona based recommendations |
US9774556B2 (en) * | 2012-08-13 | 2017-09-26 | Facebook, Inc. | Generating guest suggestions for events in a social networking system |
US20150256503A1 (en) * | 2012-08-13 | 2015-09-10 | Facebook, Inc. | Generating Guest Suggestions For Events In A Social Networking System |
US10601761B2 (en) | 2012-08-13 | 2020-03-24 | Facebook, Inc. | Generating guest suggestions for events in a social networking system |
US11226988B1 (en) | 2012-09-26 | 2022-01-18 | Meta Platforms, Inc. | Generating event suggestions for users from social information |
US10402426B2 (en) | 2012-09-26 | 2019-09-03 | Facebook, Inc. | Generating event suggestions for users from social information |
WO2014052168A3 (en) * | 2012-09-28 | 2014-06-05 | Google Inc. | Identity crowd-sourced curation |
WO2014052168A2 (en) * | 2012-09-28 | 2014-04-03 | Google Inc. | Identity crowd-sourced curation |
US9300756B2 (en) | 2012-09-28 | 2016-03-29 | Google Inc. | Identity crowd-sourced curation |
US11036778B2 (en) * | 2013-03-15 | 2021-06-15 | Proofpoint, Inc. | Detecting, classifying, and enforcing policies on social networking activity |
US11567983B2 (en) | 2013-03-15 | 2023-01-31 | Proofpoint, Inc. | Detecting, classifying, and enforcing policies on social networking activity |
US9369536B1 (en) | 2013-06-25 | 2016-06-14 | Amazon Technologies, Inc. | Event-based user behavior timeline, predictions, and recommendations |
US11252123B2 (en) | 2013-08-16 | 2022-02-15 | Proofpoint, Inc. | Classifying social entities and applying unique policies on social entities based on crowd-sourced data |
US20170249671A1 (en) * | 2014-09-19 | 2017-08-31 | Mijem Inc. | Apparatus and method for online data collection and processing |
US11620682B2 (en) * | 2014-09-19 | 2023-04-04 | Mijem Inc. | Apparatus and method for online data collection and processing |
US10171671B1 (en) * | 2015-11-12 | 2019-01-01 | United Services Automobile Association (Usaa) | Customer service call routing and/or scheduling system and method |
US20190205912A1 (en) * | 2017-12-28 | 2019-07-04 | Paypal, Inc. | Monitoring device application usage for completion of checkout data processing |
US10803476B2 (en) * | 2017-12-28 | 2020-10-13 | Paypal, Inc. | Monitoring device application usage for completion of checkout data processing |
US11461798B2 (en) * | 2017-12-28 | 2022-10-04 | Paypal, Inc. | Monitoring device application usage for completion of checkout data processing |
US20230098665A1 (en) * | 2017-12-28 | 2023-03-30 | Paypal, Inc. | Monitoring device application usage for completion of checkout data processing |
US12002066B2 (en) * | 2017-12-28 | 2024-06-04 | Paypal, Inc. | Monitoring device application usage for completion of checkout data processing |
Also Published As
Publication number | Publication date |
---|---|
CN103460235A (en) | 2013-12-18 |
US10504152B2 (en) | 2019-12-10 |
KR20140015459A (en) | 2014-02-06 |
WO2012125426A1 (en) | 2012-09-20 |
US10346880B2 (en) | 2019-07-09 |
US20120239495A1 (en) | 2012-09-20 |
BR112013023428A2 (en) | 2016-12-13 |
JP2014512595A (en) | 2014-05-22 |
US20130179268A1 (en) | 2013-07-11 |
KR101876412B1 (en) | 2018-07-09 |
CN103460235B (en) | 2018-02-16 |
JP6017464B2 (en) | 2016-11-02 |
US10540692B2 (en) | 2020-01-21 |
MX2013010433A (en) | 2013-10-03 |
US20120239494A1 (en) | 2012-09-20 |
US20120259790A1 (en) | 2012-10-11 |
US20120239467A1 (en) | 2012-09-20 |
US20120239466A1 (en) | 2012-09-20 |
AU2012229354A1 (en) | 2013-09-26 |
US20120239485A1 (en) | 2012-09-20 |
CA2829103A1 (en) | 2012-09-20 |
AU2017206233A1 (en) | 2017-08-03 |
US20120239505A1 (en) | 2012-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540692B2 (en) | Presenting deals to a user of social networking system | |
Leung et al. | Influencer marketing effectiveness | |
US10572888B2 (en) | Displaying social opportunities by location on a map | |
US10186003B2 (en) | System and method for providing a referral network in a social networking environment | |
Tucker | Social networks, personalized advertising, and privacy controls | |
JP6609318B2 (en) | Notification delivery noticed by users | |
US10489409B2 (en) | Providing relevant notification based on common interests between friends in a social networking system | |
CN109379416B (en) | Method, computer-readable non-transitory storage medium, and system for exchanging information | |
Rishika et al. | The effect of customers' social media participation on customer visit frequency and profitability: an empirical investigation | |
Pavlou et al. | The nature and role of feedback text comments in online marketplaces: Implications for trust building, price premiums, and seller differentiation | |
US9129027B1 (en) | Quantifying social audience activation through search and comparison of custom author groupings | |
US20110307397A1 (en) | Systems and methods for applying social influence | |
US20110307340A1 (en) | Systems and methods for sharing user or member experience on brands | |
US20110307307A1 (en) | Systems and methods for location based branding | |
US20130218687A1 (en) | Methods, systems and devices for determining a user interest and/or characteristic by employing a personalization engine | |
US20150220996A1 (en) | Systems and methods for viral promotion of content | |
US10346871B2 (en) | Automatic targeting of content by clustering based on user feedback data | |
Waite et al. | Essentials of digital marketing | |
WO2013019376A1 (en) | Displaying social opportunities by location on a map |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FACEBOOK, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HU, BO;SHI, YANXIN;SIGNING DATES FROM 20110901 TO 20110906;REEL/FRAME:026990/0448 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: META PLATFORMS, INC., CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:FACEBOOK, INC.;REEL/FRAME:058594/0253 Effective date: 20211028 |