#
Impressions Formulas

Broadsign understands that different media owners may have different ways of calculating impressions based on audience data provided or purchased. We provide a collection of features that accommodate different methods for both Broadsign Direct and Broadsign Control.

Our variable-based method of calculating impressions is an advanced feature. Before using it, ensure that you are familiar with the following:

The following video describes everything you need to know about impressions calculations.

We provide a few loop policy variables that will allow media owners to specify how the audience is calculated. Also, media owners can use different methodologies on different parts of their network.

For more information about content variables, see Content Variables.

To configure loop policy variables for impressions calculation:

- Open your loop policy properties. See Edit Loop Policy Properties.
- Go to Settings > Variables.
- Click Add. The Edit Parameter dialog box opens.
- Enter the following information:
- Variable name –
`audience_calculation_method` - Value – Represents the audience calculated method. Choose one of the following:
`dwell`: If the variable is unspecified, "dwell" is the default audience calculation method. In this mode, we calculate the following:`audience per hour / number of loop per hour`

Each ad within a loop gets the same number of delivered impressions.

`prorated`: The audience per hour should be prorated proportionally to the actual slot length. In other words, a prorated formula takes into account variable slot lengths and their impact on impressions calculation.

- Variable name –
- Click Apply or OK.

Broadsign Direct will periodically fetch the loop policy's variables to see if `audience_calculation_method` is defined.

Broadsign knows that network operators want Broadsign Control to calculate delivered impressions in the same way they have it configured in Broadsign Direct. See Statistical Audience.

To do that, we have changed the units in the audience data format from "impressions per ad play" to "impressions per hour". See Format the Audience File.

- Broadsign Control Player will look for the loop policy variable
`audience_calculation_method`to work out how audience is calculated per ad play. See Loop Policy Variables.- If
`audience_calculation_method`is undefined, or defined as`dwell`, the player will:- Take the impressions per hour,
- Divide them by the number of loop per hour, and,
- Record that amount of impressions for each ad play.

- If
`audience_calculation_method`is defined as`prorated`, then the player will:- Take the impressions per hour,
- Divide by 3600 (to derive an impressions-per-second value), then,
- Multiply that by the actual delivered slot length upon playback completion.

- If

When playback is perfect and performs as planned, delivered impressions as reported by Broadsign Control will exactly match the number of impressions per hour specified in the audience schedule.

Dynamic content developers want to know the expected audience impressions and slot duration so they can adapt their content in line with this.

Broadsign provides automatic variables in the JavaScript context of all HTML5 content (see also Content Variables and HTML5 Content):

`impressions_per_hour`– Taken from Column 14 of the uploaded audience data. The value is a fraction. See Mandatory Columns.`expected_slot_duration_ms`– The expected slot duration in milliseconds. Some content is of variable duration. As a result, there could be a difference between expected "dwell" and "prorated" duration. See Loop Policy Variables.`dwell_time_duration_ms`– Represents the loop policy duration in milliseconds. See Loop Policy Properties - The General Section.`expected_impressions`– A prorated value. Calculated taking into account the sometimes-variable duration of slots. See Loop Policy Variables.

Dynamic content can compute the expected audience for a slot as follows:

`dwell`:`prorated`:

`(impressions_per_hour * (3600000) / loop_policy_duration_ms))`

`(impressions_per_hour / 3600 / 1000) * expected_slot_duration_ms`