PRICING DEALS FOR A USER BASED ON SOCIAL INFORMATION

Social networking systems determine price of a deal for a user based on social information associated with the user. For example, multiple users connected via the social networking system may participate in a deal. The price of a deal for a particular user may be determined based on the actions of that user to promote the deal and/or the deal's provider. A user may promote the deal or its provider, for example, by sending explicit messages describing the deal to the user's connections or by posting to a newsfeed that is sent by the social networking system on behalf of the user to the user's connections. Factors considered in determining a price of a deal may include information describing the connections of the user, the actions associated with the deal performed by the user, the connections of the user participating in the deal, and the locations of the user's connections.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS REFERENCES TO RELATED APPLICATIONS

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.

BACKGROUND

This invention relates to deals in social networking systems and in particular to determining price of a deal 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.

SUMMARY

A social networking system determines price of a deal for a user based on social information associated with the user. For example, multiple users connected via the social networking system may participate in a deal. Other users with whom the user is connected in the social networking system are called the connections of the user. The social networking system determines the price of a deal for a particular user based on information describing the connections of the user. The social networking system sends the price of the deal to the user.

The information describing the connections may include actions of the connections associated with the deal, the number of connections participating in the deal, locations of the user's connections, and the like. Examples of actions of users considered for determining the price of the deal include purchasing the deal, checking in to a location associated with a provider of the deal, recommending the deal, and initiating a proposal for the deal. The social networking system may determine the price of a deal based on prices of previous deals associated with the connections of the user or previous deals associated with the user.

In an embodiment, the social networking system determines a score for each of the connections of the user and determines the price of the deal based on an aggregate score of each connection. The social networking system may determine the price of the deal based on whether a connection of the user is an existing customer of the provider or a new customer introduced to the provider as a result of the user's participation in the deal.

BRIEF DESCRIPTION OF THE DRAWINGS

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 screenshot of a social deal presented 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 determining price of a deal 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.

DETAILED DESCRIPTION

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.

Embodiments allow multiple users to participate in a social deal and utilize social information to determine the price of the deal for individual participants. The price of the social deal provided to each participant depends on various factors including actions of the participants associated with the social deal as well as social information associated with the participants. The actions of a participant may be used to measure the efforts taken by the participant towards promoting the social deal, for example, by convincing the user's friends to participate in the social deal. The provider would like to reward a participant of a social deal for the participant's efforts in promoting the social deal to other users.

The provider would also like to reward participants of the social deal that have high potential of promoting the provider to other users of the social networking system. A user of the social networking system with a large number of connections has a higher potential of promoting the provider since information describing the actions of the user are propagated to connections of the user by the social networking system. The social networking system propagates information regarding participation of users in a social deal to their connections via communication channels including newsfeed and notifications. Since the connections that learn about the social deals get an opportunity to see how their friends used and benefited from the social deal, they are more likely to be interested in the social deal. As a result, these connections are themselves likely to participate in the social deals. This causes the information regarding the social deals and the providers of the deals to spread in a viral fashion. Information that spreads virally is likely to propagate faster than information propagated via conventional advertisements on websites.

Information Describing a Deal

Providers often present a deal to the users along with their advertisements. 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 provides higher value compared to a deal that offers lower benefits. 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. The price of a deal can be estimated based on the benefits offered by the deal. 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.

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 an item by a fixed percent (e.g., 10% reduction in price) or a reduction in price of the item by 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. A deal may have multiple participants. In an embodiment, the benefits provided to each participant may depend on the social information associated with the participant. The social information used to determine the value of the deal for a participant may include actions performed by the participant associated with the deal as well as connections of the participant in the social networking system.

A deal may be associated with certain conditions. For example, the deal may be offered to a user if the number of purchases made by the user exceed a threshold value or the total value of the purchases exceeds certain 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.

The price of a deal may be associated with a demographic location associated with the provider. For example, one location of a provider may offer a particular price of the deal but other locations may offer a different price. The deal may also be associated with a location of the user participating in the deal. The location of the user may correspond to a geographical location specified by the user as part of the demographic information specified in the user profile.

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 connections check-in to a location along with the user, the deal is activated. The value of the deal may be determined based on the number of connections of the user determined to be present at the location. 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. There may be multiple instances of the deal created for different user. Each instance of the deal stores information specific to the deal, for example, users participating in that instance.

Deals System Environment

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 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 the social networking system 100 to interact with the provider system. In an embodiment, 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. For example, 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.

In an embodiment, 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. In another embodiment, the client 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 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 social deal, checking in to a location associated with a deal provider, and making a purchase using the deal. In an embodiment, 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. As used herein, 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 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 have different interests.

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 may purchase 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. 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. For example, 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. For example, 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 social networking system 100 may comprise modules other than those shown in FIG. 1, for example, modules illustrated in FIG. 2 that are further described herein.

Social Networking System Architecture

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 newsfeed generator 235, a dashboard manager 115, an external system interface 110, an action logger 240, an action log 245, a social deal manager 250, a deal pricing module 255, a user profile store 280, a connection store 230, a deal store 225, an event store 215, and a provider store 275. In other embodiments, 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 stores user profile objects 175 in the user profile store 280. The information stored in user profile store 280 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 280 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.

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. 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.

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 comprises 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 connections of the user associated with the deal, for example, 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.

A deal object may be associated with different types of social information including users of the social networking system 100, events represented in the social networking system 100, actions performed by users that are associated with the deal, 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 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 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 event store 215 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.

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 social networking system 100 stores associations between the provider objects 185 and the deals provided by the provider 120.

The action logger 240 is capable of receiving communications 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 social deal manager 250 maintains information describing social deals and actions associated with social deals. The social deal manager 250 maintains metadata associated with the deal, including the type of actions required to activate the social deal, whether the actions have to be performed by the user or by the connections of the user, and the number of actions of each type required to activate the deal. Examples of types of actions that can activate a social deal include checking in to a location, making a purchase, sending a recommendation of the deal to a connection, registering with the provider, and the like. The social deal manager 250 monitors the actions performed by the connections of the user and the actions performed by the user to determine if an action associated with the social deal is performed. The social deal manager 250 manages the state of a social deal, for example, the number of actions of different types that have been performed so far towards activation of the deal and the number and types of actions remaining for activation of the deal.

The deal pricing module 255 determines the price of a deal for a given user. The deal pricing module 255 analyzes the historical actions of the user and the user's connections. The historical actions of the user and the user's connections can be obtained from the action log 245. The deal pricing module 255 identifies the actions of the user and the user's connection that are associated with the deal to determine the deal price. The deal pricing module 255 accesses the connection store 230 to determine the connections of the user and the user profile store 280 to access information describing the user and the connections of the user.

The deal pricing module 255 considers social information associated with a user in determining the price of a deal for the user. The social information considered for determining the price of a deal includes the number of connections of the user currently participating in the deal, the past actions associated with the deal performed by the connections of the user, the rate at which connections have previously participated in deals from the current provider, the rate at which connections of the user have participated in deals belonging to the category of the current deal and the like.

The social networking system 100 may store the information describing participation of a user in deals offered by various providers in the user profile store 280. Alternatively, a provider may be represented as an entity and an association between the user and the provider stored, for example, in the connection store 230 if the user is a current customer of the provider. The information stored in the social networking system 100 can be analyzed to determine whether the user is an existing customer of the provider or a new customer.

The social networking system 100 can also use the external system interface 110 to send a request for information regarding a user to the provider system 120, for example, a request to enquire whether the user is a customer of the provider. Enterprises typically store customer information in databases of their enterprise systems and can provide access to the information to authenticated system via application programming interfaces (APIs). An advantage of obtaining the customer information from the provider's system is that the information is likely to be latest information. However, there can be a performance overhead associated with accessing the provider's external system caused by the software layers of the provider's APIs, network delays, authentication, etc. In an embodiment, the social networking system stores some of the information obtained from the provider's external system in a local cache for performance improvement.

In some embodiments, the system 100 is not a social networking system but a system that communicates with a social networking system to obtain the necessary social network information. The system 100 may communicate with the social networking system, for example, using APIs provided by the social networking system. In these embodiments, some modules shown in FIG. 2 may run in the system 100, whereas other modules may run in the remote social networking system. For example, the modules including the deal pricing module 255 may run in the system 100 but modules deal store 225, user profile store 280, connection store 230, and action log 245 may exist in a separate social networking system.

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 250 enables communications between the client device 105 and the social networking system 100. In one embodiment, the network 210 uses standard communications technologies and/or protocols. In another embodiment, the entities can use custom and/or dedicated data communications technologies instead of, or in addition to, the ones described above. Depending upon the embodiment, the network 210 can also include links to other networks such as the Internet.

Deals Dashboard

The dashboard 130 provides a user interface for allowing a user of a social networking system to view and interact with deals. FIG. 3 shows 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 (for example, from the user's home page) 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.

A user can select a particular deal 310 presented to the user and request more information describing the deal. FIG. 4 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. 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. FIG. 5 show screenshots of a user interface displaying connections 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. 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 in FIG. 5 may be presented as part of the user interaction with the social networking system 100 for making the purchase. The user interface in FIG. 5 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.

The user interface presented in FIG. 5 can be used to allow a user to add/delete participants in a social deal. For example, the social networking system 100 can present a list of potential participants in a social deal to the user. The user can select the participants and send the information to the social networking system 100. If the user selects more than a threshold number of participants, the social networking system 100 can activate the social deal. Alternatively, the social networking system 100 can send a message to the selected participants to confirm their participation in the deal. The social networking system 100 can activate the deal if more than a threshold number of participants confirm that they intend to participate in the deal.

Activation of Social Deals

As used herein, a social deal is a deal associated with a user that is activated by actions associated with connections of a user in the social networking system 100. The social deal can be activated by actions that are performed by the connections. The social deal can be activated by actions performed by the user. The actions performed by the user are associated with the user's connections as well as associated with the deal. For example, a social deal may be activated when more than a threshold number of connections of the user check-in to a location associated with the deal. As another example, a social deal may be activated if the user recommends the deal to more than a threshold number of connections of the user.

The social networking system 100 provides information describing the actions of the user to connections of the user via notification, newsfeed or other communication channels. Since the information received by the connections describes actions of their friends in the social networking system, the connections are likely to pay attention to the information. This promotes advertisement of the deal as well as the advertisement of the provider of the deal in a viral fashion.

In an embodiment, the newsfeed generator 235 uses the information describing the participants of the social deal to determine the ranking of a story describing the deal in the newsfeed received by a user. In an embodiment, the ranking depends on various factors including, the number of participants in the social deal that are connected to the recipient, a degree of match between the interests of the recipient and the deal, and a measure of affinity between the recipient and the participants of the deal, for example, affinity based on a frequency of communication between the users, how recently the users communicated with each other etc.

The social deal may require more than a threshold number of actions associated with the connections of the user in order to activate the deal. The social deal may provide the benefit associated with the deal to the user who initiates the social deal. The social deal may provide the benefit of the social deal to all the participants. The level of benefit provided by the social deal to a connection may depend on the type of action associated with the connection that is used towards activating the deal.

In an embodiment, a social deal may be activated by multiple types of actions. The social deal may specify various types of actions and the numbers of each type of actions that need to be performed by the connections of the user or the user for activation of the deal. For example, the social deal may require four connections of the user to check in to a location of the provider and one connection to make a purchase in order to activate the deal.

In an embodiment, each action that counts towards activation of a social deal is assigned a score value. The social deal is activated when a weighted aggregate of the scores based on actions associated with the deal exceeds a threshold value. The weight associated with an action may depend on the type of action. For example, purchasing the deal may weigh more commenting on the deal. Similarly, recommending the deal to a user may weight more than commenting on the deal. The weight associated with an action performed by a connection of the user may depend on social information associated with the connection. A connection that has a higher potential for promoting the deal and/or the provider via the social networking system 100 is weighted higher than a connection with smaller potential. A user with a large number of connections has higher potential of promoting the products/services of the provider compared to a user with very few connections. Similarly, a user who interacts frequently with the user's connections in the social networking system has a higher potential of promoting the products/services of the provider compared to a user who rarely uses the social networking system 100.

Deal Pricing

In an embodiment, the price of a deal is determined by considering various factors associated with a user and/or the user's connections in the social networking system 100. Examples of factors considered for determining a price of a deal include, historical data describing the actions of the user in the social networking system, information describing the connections of the user in the social networking system 100, information describing the connections of the user that are associated with the deal, the actions of the user's connection, etc. For example, if a user participates in a deal with few of the user's friends, the user gets a better deal price compared to the user purchasing the deal alone. The price of the deal for the user may improve as the number of connections of the user participating in the deal increases. For example, if two of the connections of the user are participants of a social deal, the user may get a 10% discount, but if five connections of the user are participants of the social deal, the user may get a 20% discount.

Determining the price of deal specific to each user allows the provider to reward a user based on factors specific to the user. Some users may contribute towards promotion of the provider or may have the potential to contribute towards promotion of a provider. A user who has significantly contributed towards promotion of the provider may be offered better deal prices compared to a user with little contribution towards promotion of the provider. Similarly a user with higher potential to promote the provider is offered better deal price compared to a user with lesser potential to promote the provider.

A user promotes a provider by the user's actions in social networking system associated with the products/services offered by the provider. Users may be more interested in a deal if they learn about a friend purchasing the deal rather than by watching an advertisement from the provider. A user may explicitly promote the products/services by suggesting a deal to the user's connections. Alternatively a user may implicitly promote a deal when the social networking system 100 informs other users about the purchase of the deal by the user. For example, when a user purchases a deal, the newsfeed generator 235 may provide information describing the user's action as newsfeed to connections of the user. Connections of the user learn about the user's participation in the deal and are likely to be interested in the deal.

A user may have a potential of promoting the deal or the provider even though the user does not perform explicit actions promoting the deal or the provider. For example, a user with a large number of connections has a higher potential of promoting the deal or the provider via the social networking system 100 compared to a user with very few connections. Another criterion for determining the potential of the user for promoting the deal or the provider is the number of connections of the user who previously participated in deals from the provider of the current deal. A user with a large number of connections who previously participated in deals from the same provider or deals belonging to the same category as the current deal has a higher potential of promoting the deal or the provider. A user with a large number of connections with interests that match the products/services offered by the provider may be determined as having high potential of promoting the deal or the provider. In this situation, the connections of the user may not be current customers of the provider but potential customers of the provider. As an example, a user may have several connections that are interested in movies but have never visited a particular movie theatre. The user may be determined as having high potential to promote deals from that particular movie theatre since the connections of the user may get interested in the movie theatre in future.

The value of deals provided to a user can change over time depending on changes in the user's behavior determined from the actions of the user and the user's connections in the social networking system 100. A user that joined the social networking system 100 recently may not have a large number of connections. The social networking system 100 may not offer very good prices on deals to a user with very few connections. But over time the user may acquire a large number of friends in the social networking system 100 and may receive better and better deals from providers.

The deal pricing module 255 can determine the value of a deal offered to a user based on the value of past deals purchased by the user or by the user's connections. For example, if a user has consistently purchased or participated in deals offering 10% discount, deal pricing module 255 may continue to provide deals offering 10% discount to the user. On the other hand, if a user previously rejected deals offering 10% or smaller discounts but utilized deals offering 20% discount, the social networking system may present the user with deals offering 20% discount rather than deals offering 10% discount.

FIG. 7 describes a process for determining the price of a deal for a user of the social networking system in accordance with an embodiment. The deal pricing module 255 identifies 710 a social deal associated with a user of a social networking system for determining the price of the deal. The deal pricing module 255 identifies 720 connections of the user that are participating in the social deal. The deal pricing module 255 determines 730 the actions of the user and the user's connections that are associated with the deal. The deal pricing module 255 may also determine actions that are associated with other deals offered by the provider as well as other deals belonging to the same category as the current deal being analyzed.

Different types of actions may be associated with different score values used for determining the deal price. The deal pricing module 255 determines 740 the price of the deal for the user based on aggregate scores associated with the actions of the user and the user's connections. The deal pricing module 255 presents 750 the price of the deal to the user.

In an embodiment, the deal pricing module 255 determines a promotion score associated with each user. The promotion score is indicative of the past contribution of the user in promoting the deal and the provider of the deal as well as the potential of future contribution towards promotion of the deal and the provider. The promotion score of a user may be determined based on the promotion score of the connections of the user. The promotion score of each connection in turn may depend on the promotion score of the connections of the connection. This computation may be performed iteratively by using the promotion score values from a previous iteration for recomputing the promotion score values for each user. If other factors affecting the promotion score are assumed to remain constant, each iteration improves the accuracy of the promotion score for each user over the previous iteration. The iterations can be stopped if an aggregate measure of changes in the promotion scores for a set of users in subsequent iterations are determined to be below a threshold value. In this situation, the promotion scores of the user belonging to the set are assumed to have converged to their respective values. However if the inputs associated with the user used to determine the promotion score keep changing, the promotion score is recomputed to incorporate the input changes.

The deal pricing module 255 may determine an action score value based on an action associated with the deal performed by a user or the user's connections. The action score values associated with a user and a deal may be used to determine the price of a deal for the user. If a type of action is determined to promote the deal and/or the deal provider, a user associated with a larger number of actions of this type is provided with a better deal price than a user associated with fewer actions. Furthermore, a user with a large number of connections performing actions of the given type may also be provided a better deal price.

The action score value for an action may depend on the type of the action. The different types of actions considered by the deal pricing module 255 for a user include, participating in a deal, purchasing the deal, initiating a deal proposal, suggesting the deal to a connection of the user (or any other user), checking in to a location associated with the deal, retrieving information associated with the deal. For example, the score assigned to purchasing a deal can be higher than the score assigned to suggesting the deal to a friend. The score assigned to initiating a deal proposal can be higher than the score assigned to participating in a deal. The actions performed by the user or the user's connections may be actions associated with the current deal being analyzed, or actions associated with other deals from the same provider, or actions associated with deals belonging to the same category as the current deal even if the deals are offered by other providers. The score assigned to actions associated with the current deal may be higher than the score assigned to actions associated with other similar deals.

The deal pricing module 255 may use a frequency of actions associated with a deal performed by the user or the total number of actions associated with the deal performed by the user. The deal pricing module 255 may use only recent history of actions associated with each user to determine the deal price. For example, actions that are older than a threshold time period may not be considered in determining the price of a deal. Alternatively, the deal pricing module 255 may assign weight to the actions based on an age associated with each action indicating how long ago the action was performed. Actions that are more recent are weighted higher than actions that are old.

In an embodiment, the deal pricing module 255 associates weights with various factors used for evaluating the deal price. The deal pricing module 255 may determine the price of a deal as a weighted aggregate value based on different factors. For example, the weight associated with a connection purchasing a deal is higher than the weight associated with a connection suggesting the deal to another user of the social networking system. Actions performed by the user or the connections of the user associated with the current deal for which price is being determined are weighted more than actions associated with other deals. Actions associated with deals for the same product/service as the current deal are weighted higher than actions associated with deals for other products/services. Actions associated with deals provided by the provider of the current deal may be weighted higher than actions associated with other providers. Actions that are more recent are weighted higher than actions that are older. Action performed by direct connections of the user may be weighted higher than actions performed by connections that are indirectly connected via one or more users (e.g., friends of friends etc.).

In an embodiment, the weight associated with an action depends on whether the action results in a new customer being introduced to the provider. A user can be considered a new customer for the provider if the user makes a purchase from the provider for the first time. Alternatively, the user can be considered a new customer if the user registers with an online system of the provider by providing various details, and possibly creating an account in an online system of the provider. If a user and the user's connections participate in a deal offered by a provider resulting in new customers being to be introduced to the provider the user gets a better deal price compared to a similar situation in which no new customers are introduced to the provider.

In an embodiment, the deal price depends on a frequency at which the user and the user's connections have previously participated in deals offered by the provider. For example, if the user and the connections of the user participating in a deal are determined to be regular customers of the provider who make purchases on a regular basis, they may be offered a better deal price compared to users that rarely make purchases with the provider. Offering better deals to loyal customers allows the provider to reward the customers for their loyalty. In a social deal, each participant of the deal may be provided a deal price depending on the participant's loyalty among other factors.

In an embodiment, if a user and the user's connections have frequently participated in deals from the same provider, the user is presented with a better deal compared to a user who rarely participates in deals from the provider. Similarly, if the user and the user's connections have frequently participated in deals similar to a deal, e.g., deals belonging to the same category, the user and the user's connections may be presented with better inventory and better value of deals in order to attract them as potential customers. For example, if a set of friends in the social networking system 100 are determined to have a history of going to restaurants together, a restaurant that they have never visited may present them with good deals in order to attract their business.

In an embodiment, the user is not required to purchase a social deal but if the connections of the user purchase the deal, the user gets credits that can be applied towards a future deal. The connections may be direct connections of the user or users that are indirectly connected to the user via another user. The credit information associated with the user can be stored in the social networking system 100.

In an embodiment, the price of a deal is determined based on demographic information associated with the user and the user's connections. The user profile store 280 stores demographic information describing the users of the social networking system 100. For example, if the connections of the user are determined to be within vicinity of a location of the provider of the deal, there is a greater chance that the user's connections will participate in deals offered by the provider.

In an embodiment, the value of the deal or the inventory made available to a user in a deal depends on the current location of a user determined via a GPS on the user's device, radio frequency identification (RFID), or by explicit user input, for example, check-in location. Some providers may offer real-time deals that are associated with a very short deadline and are offered for a short time, for example, a couple of hours. These deals may be offered, for example, if a provider determines that the provider has excessive inventory in certain locations of the provider. The social networking system 100 may select users that are currently located close to these locations. A user may be determined to be close to a target location if a location of the user is within a threshold distance of the target location. The social networking system 100 sends deals offered by the provider to these users to help the provider dispose of the excessive inventory. The social networking system 100 can notify the selected users of these real-time deals by various communication channels including, text messages, notifications, by posting on the user's home page, on a website associated with the merchant, etc.

In an embodiment, the social networking system 100 tracks the number of users of the social networking system 100 that are near a location associated with a business. If the number of users that are available at a given location exceeds a threshold value, the social networking system 100 sends this information to the provider and checks with the provider if the provider wants to offer a real-time deal. If the social networking system 100 determines that more than a threshold number of users near the location of the business have connections with each other, the social networking system 100 may provide a social deal to the users. For example, if a set of friends is visiting a concert located near the restaurant, the social networking system 100 may determine their presence and send them a social deal associated with the restaurant. The social networking system 100 may check with the provider before sending the deal or the social networking system 100 may have a predetermined arrangement with the provider, allowing the social networking system 100 to send the deal to the users.

In an embodiment, the social networking system 100 sends deals to a user based on the time of the day. For example, the social networking system 100 may provide better price on deals during off hours. The price of a deal may be determined on a first come first basis. A user making a purchase before another user may get a better price in the deal. This promotes a sense of urgency among users to utilize the deal. In an embodiment, the social networking system 100 provides deals with special benefits to users who purchase deals on a regular basis from the provider, for example, frequent purchasers of the provider are presented with better inventory that is not made available to a typical user.

Alternative Applications

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

1. A computer implemented method for determining a price of a deal, the method comprising:

receiving a request to determine a price of a deal for a target user of a social networking system, the deal available to a plurality of users of the social networking system;
identifying from the plurality of users a set of user connected to the target user in the social networking system;
determining the price of the deal for the target user based on information about the identified set of users connected to the target user; and
sending information indicating the price of the deal to the target user.

2. The computer implemented method of claim 1, wherein the price of the deal is determined based on actions associated with the deal performed by users from the set of users connected to the target user.

3. The computer implemented method of claim 2, wherein the actions include purchasing the deal, checking in to a location associated with a provider of the deal, recommending the deal, and initiating a proposal for the deal.

4. The computer implemented method of claim 1, wherein the price of the deal is determined based on the number of users from the set of users connected to the target user.

5. The computer implemented method of claim 1, wherein determining the price of the deal comprises:

determining whether a user from the set of users connected to the target user is an existing customer of a provider of the deal.

6. The computer implemented method of claim 1, wherein determining the price of the deal with respect to the target user comprises:

determining a score for each user from the set of users connected to the target user; and
determining the price of the deal based on an aggregate of the score of each user from the set of users connected to the target user.

7. The computer implemented method of claim 1, wherein the price of the deal is determined based on actions associated with the deal performed by the target user.

8. The computer implemented method of claim 7, wherein the actions associated with the deal performed by the target user include purchasing the deal, checking in to a location associated with a provider of the deal, recommending the deal, and initiating a proposal for the deal.

9. The computer implemented method of claim 1, wherein the price of the deal is determined based on one or more prices of previous deals associated with the set of users connected to the target user.

10. The computer implemented method of claim 1, wherein the factors considered for determining the price of the deal comprise prices of the past deals associated with the target user.

11. A computer implemented method for determining a price of a deal associated with users of a social networking system, the method comprising:

receiving a request to determine a price of a deal for a target user of a social networking system;
determining the price of the deal with respect to the target user based on information about a set of connections with whom the target user has established a connection in the social networking system; and
sending information indicating the price of the deal for display to the target user.

12. The computer implemented method of claim 11, wherein each of the set of connections performed an action associated with deals belonging to a category associated with the deal.

13. The computer implemented method of claim 11, wherein each of the set of connections performed an action associated with deals offered by a provider of the deal.

14. The computer implemented method of claim 11, wherein the information about the connections comprises the number of connections of each connection.

15. The computer implemented method of claim 11, wherein the information about the connections comprises information describing connections of each connection.

16. The computer implemented method of claim 11, wherein the price of the deal is based on one or more interests of the connections.

17. The computer implemented method of claim 11, wherein the price of the deal is based on a location associated with each connection belonging to the set of connections.

18. The computer implemented method of claim 17, wherein the location associated with each connection is determined based on at least one of: demographic information provided by the user, a location of a device associated with the connection, and a temporary location provided by the connection.

19. The computer implemented method of claim 11, wherein the price of the deal is based on a number of connections of the user determined to be present simultaneously within a threshold distance of each other.

20. The computer implemented method of claim 11, wherein the price of the deal is based on a rate at which each connection performed actions associated with the deal.

21. The computer implemented method of claim 11, wherein the price of the deal is based on one or more actions performed by the connections, the actions associated with other deals matching the deal.

22. The computer implemented method of claim 21, wherein the actions associated with the matching deals include purchasing the deal, checking in to a location associated with a provider of the deal, recommending the deal, and initiating a proposal for the deal.

23. The computer implemented method of claim 11, wherein the price of the deal is based on a time of execution of actions associated with the matching deals.

24. The computer implemented method of claim 11, wherein determining the price of the deal with respect to the target user comprises:

determining a score for each connection in the set of connections; and
determining the price of the deal based on an aggregate of the score of each connection in the set of connections.

25. A computer program product having a computer-readable storage medium storing computer-executable code for determining a price of a deal in a social networking system, the system comprising:

a dashboard manager configured to: receive a request to determine a price of a deal with respect to a target user of a social networking system, the deal associated with a plurality of users of the social networking system;
a deal price manager configured to: identify from the plurality of users a set of user connected to the target user in the social networking system; determine the price of the deal for the target user based on information about the identified set of users connected to the target user; and
the dashboard manager further configured to: send information indicating the price of the deal.
Patent History
Publication number: 20120239494
Type: Application
Filed: Jun 22, 2011
Publication Date: Sep 20, 2012
Inventors: Bo Hu (San Jose, CA), Kelly Winters (San Francisco, CA), David Ferguson (El Dorado Hills, CA), Emily Clark White (Palo Alto, CA)
Application Number: 13/166,647
Classifications
Current U.S. Class: Targeted Advertisement (705/14.49)
International Classification: G06Q 30/00 (20060101);