Performing actions associated with positive feedback events

Systems and methods for providing behavior feedback to members of a social network service are described. In some example embodiments, the systems and methods access information associated with positive feedback events for a member of a social network service, identify activities associated with the positive feedback events that were performed by the member of the social network service, and perform an action based on the identified one or more activities performed by the member of the social network service. For example, the systems and methods may display and/or update a dashboard that tracks and provides information associated with a member's status and interactions inside and outside of the social network service, may provide recommendations to other members that identify activities determined to generate positive feedback events for the members, and so on.

TECHNICAL FIELD

The present disclosure generally relates to providing recommendations and performing actions using social network service information. More specifically, the present disclosure relates to methods, systems and computer program products for performing actions based on positive feedback events for members of a social network service.

BACKGROUND

Online social network services provide users with a mechanism for defining, and memorializing in a digital format, their relationships with other people. This digital representation of real-world relationships is frequently referred to as a social graph. Many social network services utilize a social graph to facilitate electronic communications and the sharing of information between its users or members. For instance, the relationship between two members of a social network service, as defined in the social graph of the social network service, may determine the access and sharing privileges that exist between the two members. As such, the social graph in use by a social network service may determine the manner in which two members of the social network service can interact with one another via the various communication and sharing mechanisms supported by the social network service.

Some social network services aim to enable friends and family to communicate and share with one another, while others are specifically directed to business users with a goal of facilitating the establishment of professional networks and the sharing of business information. For purposes of the present disclosure, the terms “social network” and “social network service” are used in a broad sense and are meant to encompass services aimed at connecting friends and family (often referred to simply as “social networks”), as well as services that are specifically directed to enabling business people to connect and share business information (also commonly referred to as “social networks” but sometimes referred to as “business networks” or “professional networks”).

With many social network services, members are prompted to provide a variety of personal information, which may be displayed in a member's personal web page. Such information is commonly referred to as “personal profile information”, or simply “profile information”, and when shown collectively, it is commonly referred to as a member's profile. For example, with some of the many social network services in use today, the personal information that is commonly requested and displayed as part of a member's profile includes a member's age (e.g., birth date), gender, contact information, home town, address, the name of the member's spouse and/or family members, a photograph of the member, interests, and so forth. With certain social network services, such as some business network services, a member's personal information may include information commonly included in a professional resume or curriculum vitae, such as information about a person's education, employment history, job skills, professional organizations, and so forth. With some social network services, a member's profile may be viewable to the public by default, or alternatively, the member may specify that only some portion of the profile is to be public by default. As such, many social network services serve as a sort of directory of people to be searched and browsed.

DETAILED DESCRIPTION

Overview

The present disclosure describes methods, systems, and computer program products, which individually provide functionality for performing actions based on positive feedback events for members of a social network service.

In some example embodiments, the systems and methods access information associated with positive feedback events for a member of a social network service, identify activities associated with the positive feedback events that were performed by the member of the social network service, and perform an action based on the identified one or more activities performed by the member of the social network service. For example, the systems and methods may display and/or update a dashboard that tracks and provide information associated with a member's status and interactions inside and outside of the social network service, may provide recommendations to other members that identify activities determined to generate positive feedback events for the members, and so on.

In some example embodiments, the systems and methods may access information that identifies positive feedback events (e.g., “likes” or profile views) associated with a member of a social network service, and present a dashboard that displays an aggregation of the accessed information along with information identifying activities performed by the member of the social network service that are associated with the positive feedback events, among other things.

Therefore, in some example embodiments, the systems and methods may leverage the vast knowledge contained within a social network service in order to provide information and/or otherwise perform actions that indicate to members how well they are received by others and recommend activities or other behaviors that may increase or enhance the status or reception of the members, among other things. Such actions may enable a social network service to provide its members with real-time, actionable data about the quality of their profiles, content, and other interactions, as well as provide other members with recommendation on how to increase and/or enhance their profiles, content, and interactions, among other benefits.

Other advantages and aspects of the inventive subject matter will be readily apparent from the description of the figures that follows.

Suitable System

FIG. 1is a block diagram illustrating various functional components of a suitable computing environment100, consistent with some embodiments, for performing actions based on positive feedback events for members of a social network service.

As shown inFIG. 1, the computing environment100includes a social network service130that is generally based on a three-tiered architecture, consisting of a front-end layer140, an application logic layer150, and a data layer170. The modules, systems, and/or engines shown inFIG. 1represent a set of executable software instructions and the corresponding hardware (e.g., memory and processor) for executing the instructions. However, one skilled in the art will readily recognize that various additional functional modules and engines may be used with the social network service130to facilitate additional functionality that is not specifically described herein. Furthermore, the various functional modules and engines depicted inFIG. 1may reside on a single server computer, or may be distributed across several server computers in various arrangements.

As shown inFIG. 1, the front end layer140includes a user interface module (e.g., a web server)145, which receives requests from various client-computing devices, such as member device110, over a network120, and communicates appropriate responses to the requesting client devices. For example, the user interface module(s)140may receive requests in the form of Hypertext Transport Protocol (HTTP) requests, or other web-based, application programming interface (API) requests. The client devices110may be executing conventional web browser applications, or applications that have been developed for a specific platform to include any of a wide variety of mobile devices and operating systems.

The network120may be any communications network utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, wireless data networks (e.g., Wi-Fi® and WiMax® networks), and so on.

As shown inFIG. 1, the data layer170includes several databases, including databases for storing data for various entities of the social graph, such as a member database172of member profile information (e.g., information identifying attributes, skills, and other information for members), a social graph database174, which may include a particular type of database that uses graph structures with nodes, edges, and properties to represent and store data, such as social graph information, and an activity database176, which may include information associated with activities, action, and/or behavior performed by members within the social network service130and/or feedback event information associated with endorsements and other interactions between members, such as interactions between members and activities performed by members. Of course, in some example embodiments, any number of other entities might be included in the social graph, and as such, various other databases may be used to store data corresponding with other entities.

In some example embodiments, when a person initially registers to become a member of a social network supported by the social network service130, the person will be prompted to provide some personal information, such as his or her name, age (e.g., birth date), gender, interests, contact information, home town, address, the names of the member's spouse and/or family members, educational background (e.g., schools, majors, etc.), current job title, job description, industry, employment history, skills, proficiencies, qualifications, professional organizations, and so on. This information is stored, for example, as member profile information or data in database172.

Once registered, a member may invite other members, or be invited by other members, to connect via the social network service130. A “connection” may require a bi-lateral agreement by the members, such that both members acknowledge the establishment of the connection. Similarly, with some embodiments, a member may elect to “follow” another member. In contrast to establishing a “connection”, the concept of “following” another member typically is a unilateral operation, and at least with some embodiments, does not require acknowledgement or approval by the member that is being followed. When one member follows another, the member who is following may receive automatic notifications about various activities undertaken by the member being followed. In addition to following another member, a user may elect to follow a company, a topic, a conversation, or some other entity, which may or may not be included in the social graph.

The social network service130may provide a broad range of other applications and services that allow members the opportunity to share and receive information, often customized to the interests of the member. For example, in some example embodiments, the social network service130may include a photo sharing application that allows members to upload and share photos with other members. As such, a photograph may be a property or entity included within a social graph.

In some example embodiments, members of a social network service130may be able to self-organize into groups, or interest groups, organized around a subject matter or topic of interest. When a member joins a group, his or her membership in the group may be reflected in the social graph information stored in the social graph database174. In some example embodiments, members may subscribe to or join groups affiliated with one or more companies. Thus, membership in a group, a subscription or following relationship with a company or group, as well as an employment relationship with a company, may all be examples of the different types of relationships that may exist between different entities, as defined by the social graph and modelled with the social graph information of the social graph database174.

The application logic layer150includes various application server modules155, which, in conjunction with the user interface module(s)145, generates various user interfaces (e.g., web pages) with data retrieved from various data sources in the data layer170. In some example some embodiments, individual application server modules155are used to implement the functionality associated with various applications, services and features of the social network service130. For example, a messaging application, such as an email application, an instant messaging application, or some hybrid or variation of the two, may be implemented with one or more application server modules155. Similarly, a search engine enabling users to search for and browse member profiles may be implemented with one or more application server modules155.

In addition to the various application server modules155, the application logic layer150also includes a behavior feedback engine160that presents feedback to members of the social network service130based on knowledge of positive feedback events associated with activities performed by the members, among other things. Of course, other applications or services that utilize the behavior feedback engine160may be separately embodied in their own application server modules155. The behavior feedback engine160may perform one or more algorithmic processes that perform actions (e.g., present a feedback dashboard or provide recommendations) in response to identifying activities associated with positive feedback events.

As illustrated inFIG. 1, in some example embodiments, the behavior feedback engine160is implemented as a service that operates in conjunction with various application server modules155. For instance, any number of individual application server modules155may invoke the functionality of the behavior feedback engine160, to include an application server module associated with receiving information from the member device110and/or an application server module associated with an application to facilitate the viewing of user interfaces presenting resource recommendations. However, in some example embodiments, the behavior feedback engine160may be implemented as its own application server module such that it operates as a stand-alone application or system.

In some example embodiments, the behavior feedback engine160may include or have an associated publicly available Application Programming Interface (API) that enables third-party applications or other applications, algorithms or scripts within the social network service130to invoke the functionality of the behavior feedback engine160, among other things.

Thus, in some example embodiments, the behavior feedback engine160, either provided by or in collaboration with the social network service130, provides feedback about the activities or other behaviors of a member, such as statistics and other information identifying positive feedback events associated with the member's activities, and/or recommends activities or other behaviors to the member based on identifying certain activities within or outside of the social network service130that lead to or are otherwise associated with positive feedback events, among other things.

Examples for Providing Behavior Feedback to Members of a Social Network

As described herein, in some example embodiments, the behavior feedback engine160provides feedback for activities and behaviors performed by members of a social network service130, among other things.FIG. 2is a block diagram illustrating modules of the behavior feedback engine160, consistent with some embodiments.

As illustrated inFIG. 2, the behavior feedback engine160includes a variety of functional modules. One skilled in the art will appreciate that the functional modules are implemented with a combination of software (e.g., executable instructions, or computer code) and hardware (e.g., at least a memory and processor). Accordingly, as used herein, in some example embodiments a module is a processor-implemented module and represents a computing device having a processor that is at least temporarily configured and/or programmed by executable instructions stored in memory to perform one or more of the particular functions that are described herein. The behavior feedback engine160includes a feedback event module210, an activity module220, and an action module230.

In some example embodiments, the feedback event module210is configured and/or programmed to access information associated with one or more positive feedback events for a member of a social network service. For example, the feedback event module210may access information associated with a positive feedback event that occurred within the social network service130.

A positive feedback event, or in some cases a feedback event that is positive or negative, may be any event, such as an interaction and/or action, that occurs between a member of the social network service130and other members of the social network service130, or between the member of the social network service130and users at online locations outside of the social network service130.

Example positive feedback events may include:

A member “liking” or otherwise endorsing a comment, status update, profile update, blog post, and/or other content provided and/or created by another member;

A member viewing another member's profile provided by the social network service130;

A member showing up in the results of a search for information within the social network service130;

The profile of the member showing up in the results of a search for information at a location outside of the social network service130, such as at Google, Bing, another social network; and so on.

Additionally, in some example embodiments, a positive feedback event may occur for a member of the social network service130when the member is mentioned in various types of content published at locations located outside of the social network service130, such as in blog posts, in Twitter feeds, in articles, in issued patents, in published books or papers, and so on.

In some example embodiments, the activity module220is configured and/or programmed to identify one or more activities or other behaviors associated with the positive feedback events that were performed by the member of the social network service130. For example, the activity module220may identify activities performed within the social network service130and/or at online locations outside of the social network service130.

An activity or behavior may be a comment, a status update, a profile update, a blog post, and/or other content provided and/or created by a member of the social network service130. For example, an activity may be an update to a job title or acquire skill to a member profile of the social network service130, may be a blog post or other content published or shared to the social network service130, may be a recommendation or referral of another member or entity, may be “tweeted” or other published content outside of the social network service130, and so on.

In some example embodiments, the action module230is configured and/or programmed to perform an action based on the identified one or more activities performed by the member of the social network service. For example, the action module230generate, present, display, and/or update a dashboard that tracks and provide information associated with a member's status and interactions inside and outside of the social network service130, may provide recommendations to other members that identify activities determined to generate positive feedback events for the members, and so on.

The dashboard may be a graphical element displayed by the social network service130that presents behavior feedback information to members of the social network service130, as well as actionable elements configured to cause the member to perform additional activities associated with the positive feedback events, among other things. For example, the dashboard may present information identifying an aggregation of positive feedback events associated with the member, information associated with statistics for the positive feedback events associated with the member, information associated with two or more types of positive feedback events associated with the member, and so on.

As described herein, the behavior feedback engine160may perform various methods in order to provide behavior feedback to members of the social network service130.FIG. 3is a flow diagram illustrating an example method300for performing actions based on positive feedback events for members of a social network service, consistent with some embodiments. The method300may be performed by the behavior feedback engine160and, accordingly, is described herein merely by way of reference thereto. It will be appreciated that the method300may be performed on any suitable hardware.

In operation410, the behavior feedback engine160accesses information associated with one or more positive feedback events for a member of a social network service. For example, as described herein, the feedback event module210may access information associated with an endorsement of an activity performed by the member within the social network service130, information associated with a view of a profile page associated with the member of the social network service130, and/or other positive feedback events described herein.

In operation420, the behavior feedback engine160identifies one or more activities associated with the positive feedback events that were performed by the member of the social network service. For example, as described herein, the activity module220may identify content published by the member within the social network service130and/or outside of the social network service130. Example activities or behaviors that may be identified as being associated with positive feedback events include comments, status updates, profile updates, blog posts, and/or other content provided and/or created by a member of the social network service130.

Therefore, specific examples of positive feedback events associated with activities performed by members of the social network service130include:

A member “liking” a status update provided by another member;

A member viewing another member's profile;

A member commenting on an article shared within the social network service130by another member;

A member being “retweeted” by another Twitter user outside of the social network service130; and so on.

In operation430, the behavior feedback engine160performs an action based on the identified one or more activities performed by the member of the social network service. For example, as described herein, the action module230may generate, create, render, display, and/or update a dashboard for the member of the social network service that contains information identifying an aggregation of positive feedback events associated with the member.

FIG. 4is a display diagram illustrating a user interface that presents a feedback dashboard400to a member of a social network, consistent with some embodiments. The dashboard400may include various types of information associated with activities performed or eligible to be performed within the social network service130, include profile view information410, search results information420, aggregated endorsement information430, analytics information440, and/or other information not shown inFIG. 4.

Example profile view information410may include information identifying other members that viewed a member's profile and/or information identifying various profile view statistics, such as the amount of views in a given time period, a current rate of profile views, biographical information associated with viewers of the member's profile (e.g., locations of viewers, industries for viewers), and so on.

Example search results information420may include information identifying a number of appearances in results of searches within the social network service130, information identifying a number of appearances in results of searches outside of the social network service130(e.g., Google search results), information identifying keywords associated with the member's profile appearing in search results, and so on.

Example aggregated endorsement information430may include information identifying a total amount of endorsements associated with a member, biographical information associated with endorsers, information comparing a member's endorsement information to endorsement information for other members of the social network service130, information ranking a member's endorsements and other interactions to other member's endorsements within the social network service130, such as cohorts of the member, and so on.

Example analytics information440may include any other information displaying positive feedback events associated with behaviors associated with a member of the social network service130, such as information comparing a member to other members, information presenting results of analyses performed on data associated with a member's activities and/or positive feedback events, and so on.

As described herein, the dashboard400also includes an actionable element, such as a user-selectable button425, that enables a user to perform an action based on and/or associated with information presented by the dashboard400. Following the example shown inFIG. 4, the behavior feedback engine160may determine that only a small percentage of keywords associated with the member's company lead to search results that include the member's profile, and present the button425, which, when selected by the member, enables the member to update his/her member profile information with additional details regarding his/her company or work experience.

Of course, the dashboard400may include other elements, information, and/or actionable elements not shown inFIG. 4.

As another example, the action module230, as described herein, may present a recommendation to other members of the social network service that identifies one or more activities performed by the member that are associated with the positive feedback event. The action module230may present recommendations to members that are based on and/or tailored to the members, such as based on previous activities, or inactivities, associated with the members, and so on.

FIG. 5is a display diagram illustrating a user interface500that presents a behavior recommendation to a member of a social network, consistent with some embodiments. The user interface500depicts a member profile page, including a content input box510, a content stream element515, and various community or social network based information (e.g., a “people you may know” element520, and a “who has viewed you” element520), such as information that may also be depicted by the dashboard400. The member profile page also includes a recommendation element530, which may be an actionable element, such as a recommendation element to “add a status update.”

For example, the behavior feedback engine160may determine that a high number of positive feedback events are associated with status updates published by members within the social network service130, and also determine that the member associated with the profile page has only posted a few status updates. Based on this information, the behavior feedback engine160may present the recommendation element530to the member to add a status update, in order to generate and/or provoke positive feedback events for the member, such as other members endorsing the added status update.

Thus, in some example embodiments, the behavior feedback engine160may perform various actions that cause and/or facilitate members of the social network service130to further engage with the social network service130and its members, among other benefits.

The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules, engines, objects or devices that operate to perform one or more operations or functions. The modules, engines, objects and devices referred to herein may, in some example embodiments, comprise processor-implemented modules, engines, objects and/or devices.

Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain operations may be distributed among the one or more processors, not only residing within a single machine or computer, but deployed across a number of machines or computers. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or at a server farm), while in other embodiments the processors may be distributed across a number of locations.

FIG. 6is a block diagram of a machine in the form of a computer system or computing device within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. In some embodiments, the machine will be a desktop computer, or server computer, however, in alternative embodiments, the machine may be a tablet computer, a mobile phone, a personal digital assistant, a personal audio or video player, a global positioning device, a set-top box, a web appliance, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The example computer system1500includes a processor1502(e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory1504and a static memory1506, which communicate with each other via a bus1508. The computer system1500may further include a display unit1510, an alphanumeric input device1512(e.g., a keyboard), and a user interface (UI) navigation device1514(e.g., a mouse). In one embodiment, the display, input device and cursor control device are a touch screen display. The computer system1500may additionally include a storage device1516(e.g., drive unit), a signal generation device1518(e.g., a speaker), a network interface device1520, and one or more sensors, such as a global positioning system sensor, compass, accelerometer, or other sensor.

The drive unit1516includes a machine-readable medium1522on which is stored one or more sets of instructions and data structures (e.g., software1524) embodying or utilized by any one or more of the methodologies or functions described herein. The software1524may also reside, completely or at least partially, within the main memory1504and/or within the processor1502during execution thereof by the computer system1500, the main memory1504and the processor1502also constituting machine-readable media.