Analytics

Protecting user privacy in the Listening Reports

Understand the methods used to help protect user privacy.

In order to protect individual user identities, Apple applies two privacy measures to the Listening reports:

Noise: Adds or subtracts a small random number to metrics.

Thresholds: Omits values where the metric has a value that is less than 5. In certain instances, the entire row is omitted.

Noise

Noise is first applied to the Listener metrics, and the resulting percentage change to these metrics is then applied to the Listening Hour, Engaged Listener, and Play metrics for the same cohort. Fundamentally, this means that the noise being applied is based on average user contribution.

This methodology is applied across the daily, weekly, and monthly versions of the Listening reports, ensuring that utility increases as more data is collected over longer periods of time. To maintain stability, counts within a report will not change after initial report generation, so when multiple requests are made to retrieve a specific report for a specific date and duration, the counts in it will look identical on each pull.

Thresholds

In addition to applying noise, thresholds are used for protecting user privacy. Depending on the metric, a value of less than 5 can result in either a cell with an empty value or the entire row being dropped from the report.

  • If the actual or noised Total Listeners value is less than 5, then the entire row is dropped.
  • If the actual or noised Subscribed Listeners, Non-Subscribed Listeners, or Connected Listeners value is less than 5, then it will be replaced with an empty value.
  • If the actual or noised Total/Subscribed/Non-Subscribed/Connected Plays value is less than 5, or if the actual or noised Total/Subscribed/Non-Subscribed/Connected Listeners value is less than 5, then the Total/Subscribed/Non-Subscribed/Connected Plays value will be replaced with an empty value.
  • If the actual or noised Total/Subscribed/Non-Subscribed/Connected Listeners value is less than 5, then its corresponding Total/Subscribed/Non-Subscribed/Connected Hours value will be replaced with an empty value.
Metric Condition Filter Action
Total Listeners Actual or noised value is less than 5 Entire row will not appear in the report
Subscribed Listeners Actual or noised value is less than 5 Value will be replaced with an empty value
Non-Subscribed Listeners Actual or noised value is less than 5 Value will be replaced with an empty value
Connected Listeners Actual or noised value is less than 5 Value will be replaced with an empty value
Total Engaged Listeners Actual or noised value is less than 5 Value will be replaced with an empty value
Subscribed Engaged Listeners Actual or noised value is less than 5 Value will be replaced with an empty value
Non-Subscribed Engaged Listeners Actual or noised value is less than 5 Value will be replaced with an empty value
Connected Engaged Listeners Actual or noised value is less than 5 Value will be replaced with an empty value
Total Plays Actual or noised value is less than 5 or Total Listeners actual or noised value is less than 5 Value will be replaced with an empty value
Subscriber Plays Actual or noised value is less than 5 or Subscribed Listeners actual or noised value is less than 5 Value will be replaced with an empty value
Non-Subscriber Plays Actual or noised value is less than 5 or Non-Subscribed Listeners actual or noised value is less than 5 Value will be replaced with an empty value
Connected Plays Actual or noised value is less than 5 or Connected Listeners actual or noised value is less than 5 Value will be replaced with an empty value
Total Listening Hours Total Listeners actual or noised value is less than 5 Value will be replaced with an empty value
Subscriber Listening Hours Subscribed Listeners actual or noised value is less than 5 Value will be replaced with an empty value
Non-Subscriber Listening Hours Non-Subscribed Listeners actual or noised value is less than 5 Value will be replaced with an empty value
Connected Listening Hours Connected Listeners actual or noised value is less than 5 Value will be replaced with an empty value