The data collected through the Didomi PMP SDK is calculated to generate the metrics found in your PMP analytics dashboards. In this article, we will cover some important nuances surrounding the methodology Didomi employs to derive your organization's PMP metrics.
- Data received for preference submission
- Purpose status
Data received for preference submission
When an end-user submits their preferences choices, Didomi receives, among other data, the following information and in turn uses it to calculate purpose and preference metrics:
| Available purposes and preferences | Purposes and preferences displayed to the user. |
| Previous (last) choices | Purposes and preference values selected in a previous submission. If it is the first time the end-user is submitting their preferences the previous value will be empty. In the example below, the end-user previously selected 3 preference values: basket, tennis, and football. |
| Current choices | List of the purposes and preferences that have been selected or remain selected by the end-user. In the example below, 3 preference values are selected, rugby is newly selected, and Football and Basket remain selected. |

The end-user's preferences submission is in regards to a particular preferences widget. When an end-user submits the preferences selections, each preference and purpose will have a record of previous and current choices. Click here to learn more about how previous and current choices impact the calculation for new vs updated choices.
Purpose status
Purposes can have three states in the preference choices:
| Status | |
| Empty | Purpose has never been selected/is not selected nor declined. If a purpose has been selected it can’t be empty (null) again. It will rather be true or false. |
| True |
Purpose selected. |
| False | Purpose declined. Please note that a purpose can be "false/declined" but have a selected child preference value. |
Click here to learn more about how these statuses are used to calculate purpose metrics.