# US 10,872,123 B2 · Prediction of content distribution statistics using a model simulating a content distribution program for a specified set of users over a time period

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,872,123 B2
- Document ID: US10872123B2
- Status: Granted
- Kind: B2
- Application number: 15/462,896
- Filed: 2017-03-19
- Published: 2018-09-20
- Granted: 2020-12-22
- Earliest claimed: 2017-03-19
- Assignees: Facebook, Inc.
- Applicants: Facebook, Inc.
- Inventors: Ramnik Arora; Kurt Dodge Runke
- Web page: https://patentgrep.com/patent/US10872123B2

## CPC

- G06Q 30/02: Marketing; Price estimation or determination; Fundraising
- G06F 7/58: Random or pseudo-random number generators
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06Q 10/40: Business processes related to social networking or social networking services
- G06Q 30/0241: Advertisements
- G06Q 30/0251: Targeted advertisements
- G06Q 30/0269: {based on user profile or attribute}
- G06Q 30/0277: {Online advertisement}
- G06F 2111/02: CAD in a network environment, e.g. collaborative CAD or distributed simulation
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

An online system generates, based on previously recorded content presentations, user value distributions for users of the online system. The online system also receives third party specifications from a third party system. Using this information, the online system generates a simulation for presenting content to users of the online system based on the third party specifications. For each iteration of the simulation, the online system randomly selects a user of the online system matching specifications, accesses the user value distribution for the randomly selected user, computes a selection probability of a successful content presentation to the randomly selected user, and simulates a content transmission based on the selection probability. The results of the simulation are reported to the third party system.

## Claims

### Claim 1

A method comprising:
generating, at an online system, based on previously recorded content presentations, bid amount distributions for users of the online system, a bid amount distribution for a user indicating bid amounts specified by third party systems for content that is selected for presentation to the user;
receiving, at the online system, third party specifications for content from a third party system, the third party specifications indicating at least targeting criteria specifications, a total time period for content presentation, a bid amount specification, and a total budget specification; and
generating a simulation for presenting the content to users of the online system based on the third party specifications, each iteration of the simulation comprising:
randomly selecting a user of the online system matching the targeting criteria specifications;
accessing the bid amount distribution for the randomly selected user;
computing a selection probability of a successful content presentation to the randomly selected user based on the bid amount distribution for the randomly selected user and the bid amount specified in the third party specifications;
simulating a potential content presentation based on the selection probability;
modifying a total budget amount based on an outcome of the simulation, the total budget amount based on the total budget specification;
decrementing a remaining time amount, the remaining time amount based on the total time period for content presentation;
responsive to the total budget amount or the remaining time amount being greater than zero, executing another iteration of the simulation;
responsive to the total value budget amount or the remaining time amount reaching zero, ending the simulation;
generating simulation statistics based on the results of the simulation; and
transmitting a report to the third party system, the report including the simulation statistics.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating the bid amount distributions for a user further comprises;
analyzing previously collected bid amounts specified by third party systems for content items presented to the user, the previously collected bid amounts collected from a specified time period;
grouping the previously collected bid amounts according to the bid amounts; and
generating the bid amount distribution of the bid amounts, the bid amount distribution indicating the percentile that a particular bid amount would be at for the user.

### Claim 3 (depends on 1)

The method of claim 1, wherein the targeting criteria specifications identify one or more user characteristics of users in the online system, the total time period for content presentation specification indicates a start and stop time for a content distribution program, the bid amount specification indicates an amount of resources provided by the third party system for presenting the content to the online system, and the total budget amount indicates a total amount of resources for the content distribution program.

### Claim 4 (depends on 1)

The method of claim 1, wherein the total budget amount is initialized to a total amount of resources specified in the total budget specification, and wherein the remaining time amount is initialized to the difference between a start and stop time of the total time period for content presentation specification.

### Claim 5 (depends on 1)

The method of claim 1, wherein users of the online system have a probability of being randomly selected proportional to a number of content presentation opportunities made to the users.

### Claim 6 (depends on 1)

The method of claim 1, wherein the selection probability for the randomly selected user is computed by:
analyzing, for the randomly selected user, historical data for the randomly selected user; and
determining, based on the historical data, the selection probability, the selection probability being the probability that a content item is selected for presentation based on the position of the bid amount for the content item in the bid amount distribution for the randomly selected user.

### Claim 7 (depends on 1)

The method of claim 1, wherein the selection probability is determined according to a best fit equation that accepts a percentile value corresponding to the percentile of the specified bid amount in the bid amount distribution.

### Claim 8 (depends on 1)

The method of claim 1, wherein simulating a potential content presentation further comprises:
generating a random selection value, the random selection value being a random number; and
in response to the random selection value being less than the selection probability, indicating a successful outcome; and
in response to the random selection value being less than the selection probability, indicating a unsuccessful outcome.

### Claim 9 (depends on 8)

The method of claim 8, wherein modifying the total budget amount based on an outcome of the simulation comprises decrementing the total budget amount based on the bid amount specified in the bid amount specification in response to the successful outcome.

### Claim 10 (depends on 1)

The method of claim 1, wherein simulating a potential content presentation further comprises:
in response to the randomly selected user not meeting a constraint, indicating a unsuccessful outcome, the constraint indicating a minimum simulation time between simulated presentations of content to the same user.

### Claim 11 (depends on 1)

The method of claim 1, wherein the remaining time amount is decremented by an average time interval between historical presentations of content for users of the online system matching the targeting criteria specifications.

### Claim 12 (depends on 1)

The method of claim 1, wherein the report comprises at least one of the users that were randomly selected in the simulation, a success rate of the simulation, a number of content items that was presented in the simulation, and a number of iterations that the simulation ran for.

### Claim 13

A computer program product comprising a non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to:
generate, at an online system, based on previously recorded content presentations, bid amount distributions for users of the online system, a bid amount distribution for a user indicating bid amounts specified by third party systems for content that is selected for presentation to the user;
receive, at the online system, third party specifications for content from a third party system, the third party specifications indicating at least targeting criteria specifications, a total time period for content presentation, a bid amount specification, and a total budget specification; and
generate a simulation for presenting the content to users of the online system based on the third party specifications, each iteration of the simulation comprising:
randomly selecting a user of the online system matching the targeting criteria specifications;
accessing the bid amount distribution for the randomly selected user;
computing a selection probability of a successful content presentation to the randomly selected user based on the bid amount distribution for the randomly selected user and the bid amount specified in the third party specifications;
simulating a potential content presentation based on the selection probability;
modifying a total budget amount based on an outcome of the simulation, the total budget amount based on the total budget specification;
decrementing a remaining time amount, the remaining time amount based on the total time period for content presentation specification;
responsive to the total budget amount or the remaining time amount being greater than zero, executing another iteration of the simulation;
responsive to the total budget amount or the remaining time amount reaching zero, end the simulation;
generate simulation statistics based on the results of the simulation; and
transmit a report to the third party system, the report including the simulation statistics.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the non-transitory computer readable storage medium has further instructions for the generation of the bid amount distributions for a user, that when executed by the processor, causes the processor to:
analyze previously collected bid amounts specified by third party systems for content items presented to the user, the previously collected bid amounts collected from a specified time period;
group the previously collected bid amounts according to the bid amounts; and
generate the bid amount distribution of the bid amounts, the bid amount distribution indicating the percentile that a particular bid amount would be at for the user.

### Claim 15 (depends on 13)

The computer program product of claim 13, wherein users of the online system have a probability of being randomly selected proportional to a number of content presentation opportunities made to the users.

### Claim 16 (depends on 13)

The computer program product of claim 13, wherein the non-transitory computer readable storage medium has further instructions for the computation of the selection probability for the randomly selected user, that when executed by the processor, causes the processor to:
analyze, for the randomly selected user, historical data for the randomly selected user; and
determine, based on the historical data, the selection probability, the selection probability being the probability that a content item is selected for presentation based on the position of the bid amount for the content item in the bid amount distribution for the randomly selected user.

### Claim 17 (depends on 13)

The computer program product of claim 13, wherein the non-transitory computer readable storage medium has further instructions for the simulation of a potential content presentation, that when executed by the processor, causes the processor to:
generate a random selection value, the random selection value being a random number; and
in response to the random selection value being less than the selection probability, indicate a successful outcome; and
in response to the random selection value being less than the selection probability, indicate a unsuccessful outcome.

### Claim 18 (depends on 13)

The computer program product of claim 13, wherein the remaining time amount is decremented by an average time interval between historical presentations of content for users of the online system matching the targeting criteria specifications.

### Claim 19 (depends on 13)

The computer program product of claim 13, wherein the report comprises at least one of the users that were randomly selected in the simulation, a success rate of the simulation, a number of content items that was presented in the simulation, and a number of iterations that the simulation ran for.
