U.S. patent application number 13/166647 was filed with the patent office on 2012-09-20 for pricing deals for a user based on social information.
Invention is credited to David Ferguson, Bo Hu, Emily Clark White, Kelly Winters.
Application Number | 20120239494 13/166647 |
Document ID | / |
Family ID | 46829210 |
Filed Date | 2012-09-20 |
United States Patent
Application |
20120239494 |
Kind Code |
A1 |
Hu; Bo ; et al. |
September 20, 2012 |
PRICING DEALS FOR A USER BASED ON SOCIAL INFORMATION
Abstract
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.
Inventors: |
Hu; Bo; (San Jose, CA)
; Winters; Kelly; (San Francisco, CA) ; Ferguson;
David; (El Dorado Hills, CA) ; White; Emily
Clark; (Palo Alto, CA) |
Family ID: |
46829210 |
Appl. No.: |
13/166647 |
Filed: |
June 22, 2011 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61452577 |
Mar 14, 2011 |
|
|
|
Current U.S.
Class: |
705/14.49 |
Current CPC
Class: |
G06Q 30/0207 20130101;
G06Q 50/01 20130101; G06Q 30/0269 20130101; G06Q 30/0241
20130101 |
Class at
Publication: |
705/14.49 |
International
Class: |
G06Q 30/00 20060101
G06Q030/00 |
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.
Description
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] 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
[0002] This invention relates to deals in social networking systems
and in particular to determining price of a deal in a social
networking system.
[0003] 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.
[0004] 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.
[0005] 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
[0006] 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.
[0007] 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.
[0008] 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
[0009] 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.
[0010] 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.
[0011] 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.
[0012] 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.
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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
[0017] 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.
[0018] 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.
[0019] 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
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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
[0026] 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.
[0027] 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).
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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."
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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
[0054] 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.
[0055] 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.
[0056] 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.
[0057] 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
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.).
[0077] 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.
[0078] 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.
[0079] 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.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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
[0085] 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.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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.
[0090] 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.
* * * * *