Social Network Popularity Metrics via Unique User Sampling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional social networking systems struggle to accurately determine the current popularity of objects as user preferences are typically expressed once and do not account for recent interest, with limited information provided by the number of actions, which can be skewed by a small number of users.

Innovation Solution

A social networking system calculates metrics based on user interactions by sampling action data associated with objects, determining unique user identifiers, and generating metrics such as the number of unique users interacting with an object or topic, allowing for efficient assessment of popularity and recent interest.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the system counts total actions on an object, then the popularity metric is simple to calculate, but the metric is skewed by a small number of users and does not reflect true popularity

Engineering Contradiction:
Improvecalculation simplicityVSAvoidpopularity accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system segments the action data by user identifier, grouping actions according to which user performed them. This segmentation allows the system to count the number of unique users who have performed actions on an object, rather than simply counting total actions. By segmenting the data this way, the system can accurately measure popularity while avoiding skew from a small number of active users.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If the system stores and processes all action data for an object, then the popularity metric is accurate, but the calculation time increases significantly

Engineering Contradiction:
Improvepopularity accuracyVSAvoidmetric calculation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system extracts only the necessary information from the action data - specifically, the user identifiers associated with actions on an object. By extracting only the user identifiers rather than processing all action data, the system reduces the amount of data that needs to be processed while still maintaining accurate popularity metrics based on unique user counts.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of information

If the system tracks all user actions over time, then the system can determine historical interest, but it cannot distinguish between past interest and current interest

Engineering Contradiction:
Improvehistorical contextVSAvoidcurrent popularity detection
Core Design Contradiction:
Loss of informationVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by pre-defining time intervals (such as the past week, past month) and pre-processing action data according to these time frames. This allows the system to quickly determine popularity within specific time ranges without having to process all historical data from scratch, thereby distinguishing between past interest and current interest while maintaining historical context.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9824407B2Calculating unique social networking system users performing an action on a social networking system object
Publication Date: 2017.11.21 META PLATFORMS INC
  • US9824407B2 patent drawing
  • US9824407B2 patent drawing
  • US9824407B2 patent drawing

AI summary

A social networking system generates one or more metrics describing user interactions with objects to describe the popularity of the objects among users. Data describing actions performed by social networking system users on objects stored by the social networking system to identify an action, the user performing the action and the object on which the action was performed. Stored actions performed on a selected object are retrieved and a subset of the actions is generated by sampling the stored actions at a sampling rate. A number of unique users included in the subset is determined and used along with the sampling rate to determine the number of unique users included in the retrieved actions, which is used to derive a metric describing user interaction with the selected object.