Benchmarking in Sisense
What is the best approach in Sisense for sharing benchmarking information while maintaining customer confidentiality?
When I was a Sisense customer a key differentiator for us was showing our customers how their performance metrics compared to others in aggregate in the same space. Often, but not always these 'others' were direct competitors. So we had a significant confidentially requirement to maintain.
Our solution was a custom Sisense plugin that bypassed Sisense data security. It allowed us to show aggregated benchmarking data in widgets and also supported the use of dashboard filters to slice the data. We presented the benchmark metric directly alongside the customer's metric in the same widget for easy comparison. We had rules in our plugin that prevented the presentation of data if the number of customers/categories in that widget's dataset was less that a certain value. This prevented a customer with few competitors in a given market segment from being able to determine their competitor's performance by filter manipulation.
There is an interesting post in the Community that describes many benchmark requirements and addresses the need for a number use cases: Consortium Data By Masking Sensitive Values It does not address the use case I described above. In addition, we had large data sets so doubling the Fact rows would not have been a good solution for us.
This seems to be a reasonably common requirement for Sisense so I'm wondering how members of the community have addressed it?
Your thoughts please.
In my situation, using home health agency data, I needed to create benchmarks showing the data for the user's agency and the same data for all agencies for comparison, like average revenue per claim. We use data security to limit the data viewed by the user to the agency they belong to using the Agency Name field. This also constrained the benchmarks using the same formula's for "all" agencies. To get around this, I created a copy of the table containing the secured data. In the copy, the agency name is replaced with "Benchmarks", all other data is the same. For every field you want to use as a filter in a dashboard, you create a table of all possible values for that field and link that table to both the main table and the copy for the associated field. For example, for filtering on the Record Type field, you would create this table and link it to the original and the copy.
select distinct a.[record type] from [claims] as a
Your filter would then use the field record type from this table, which is linked to both the original and copy. This allows you to filter by the agency data and the summarized benchmark data on the dashboard when you want the benchmarks to change when the agency data changes. Make sure to set up data security to allow for the agency name of the particular agency and the value "Benchmarks". The user can then select "included all" for the secured field or select the allowed values and "Benchmarks"