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 |