IP Library Granted Patent US 11,797,588
Granted Patent B2
US 11,797,588 · App. 16/776,450 · Granted Oct 24, 2023

Maintaining anonymity of survey respondents while providing useful survey data

Inventors: John Russ (Provo, UT); Christian De Sousa (Seattle, WA); Alexia Newgord (Seattle, WA); Katherine Lee (Seattle, WA); Cameron Hunter (Issaquah, WA)
Assignee: Qualtrics, LLC
G06F16/335G06F16/2428G06F16/2455G06F21/6254G06Q30/0203
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,797,588
App. No.
16/776,450
Granted
Oct 24, 2023
Kind
B2
Abstract

The present disclosure relates to systems, non-transitory computer-readable media, and methods for maintaining the anonymity of survey respondents while providing useful data to an analyst. In particular, in one or more embodiments, the disclosed systems utilize various anonymity protections based on various anonymity thresholds. For example, the presently disclosed systems and methods may disallow or modify potentially identifying data filters, including generating alternate data groupings. Further, the systems and methods may modify text responses to reduce identification risk.

Claims (61)

1. A computer-implemented method comprising:

determining, in response to a data filter request indicating a data filter applied to a dataset, a first set of users associated with filtered-in data that pass the data filter and a second set of users associated with filtered-out data that do not pass the data filter;

determining an anonymity threshold associated with the dataset and indicating a minimum number of users required to be in the first set of users that pass the data filter and a minimum number of users required to be in the second set of users that do not pass the data filter;

comparing the anonymity threshold with a first number of users in the first set of users that pass the data filter and comparing the anonymity threshold with a second number of users in the second set of users that do not pass the data filter;

in response to determining that at least one of the first number of users or the second number of users do not satisfy the anonymity threshold, combining one or more sub-groups of the dataset to generate:

a third set of users associated with the filtered-in data with a third number of users that pass the data filter and satisfy the anonymity threshold; and

a fourth set of users associated with filtered-out data with a fourth number of users that do not pass the data filter and satisfy the anonymity threshold; and

generating a modified data output comprising the third set of users and the fourth set of users to provide in response to the data filter request.

2. The computer-implemented method of claim 1 , wherein generating the modified data output comprises modifying a graphical user interface by removing data filter options.

3. The computer-implemented method of claim 1 , further comprising:

receiving, from a client device, an indication of a selected data filter option; and

determining, based on the selected data filter option, one or more potential data filter options that, if selected in combination with the selected data filter option, would not satisfy the anonymity threshold based on the first number of users in the first set of users that pass the data filter or the second number of users in the second set of users that do not pass the data filter.

4. The computer-implemented method of claim 3 , wherein generating the modified data output comprises deactivating the one or more potential data filter options within a graphical user interface of the client device based on comparing the anonymity threshold with the first number of users and the second number of users.

5. The computer-implemented method of claim 1 , wherein generating the modified data output comprises:

generating a larger dataset compared to an actual dataset associated with the data filter request; and

further comprising providing the modified data output to a client device.

6. The computer-implemented method of claim 1 , wherein generating the modified data output comprises:

generating a smaller dataset compared to an actual dataset associated with the data filter request; and

further comprising providing the modified data output to a client device.

7. The computer-implemented method of claim 1 , wherein generating the modified data output comprises:

generating, based on the anonymity threshold, modified data groupings that are different from data groupings associated with the data filter request; and

further comprising providing the modified data groupings to a client device.

8. The computer-implemented method of claim 1 , wherein determining the anonymity threshold comprises identifying one or more anonymity thresholds associated with a user account corresponding to the data filter request.

9. A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computer device to:

determine, in response to a data filter request indicating a data filter applied to a dataset, a first set of users associated with filtered-in data that pass the data filter and a second set of users associated with filtered-out data that do not pass the data filter;

determine an anonymity threshold associated with the dataset and indicating a minimum number of users required to be in the first set of users that pass the data filter and a minimum number of users required to be in the second set of users that do not pass the data filter;

compare the anonymity threshold with a first number of users in the first set of users that pass the data filter and comparing the anonymity threshold with a second number of users in the second set of users that do not pass the data filter;

in response to determining that at least one of the first number of users or the second number of users do not satisfy the anonymity threshold, combining one or more sub-groups of the dataset to generate:

a third set of users associated with the filtered-in data with a third number of users that pass the data filter and satisfy the anonymity threshold; and

a fourth set of users associated with filtered-out data with a fourth number of users that do not pass the data filter and satisfy the anonymity threshold; and

generate a modified data output comprising the third set of users and the fourth set of users to provide in response to the data filter request.

10. The non-transitory computer-readable medium of claim 9 , further comprising instructions that, when executed by the at least one processor, cause the computer device to generate the modified data output from the dataset by modifying a graphical user interface by removing data filter options.

11. The non-transitory computer-readable medium of claim 9 , further comprising instructions that, when executed by the at least one processor, cause the computer device to:

receive, from a client device, an indication of a selected data filter option; and

determine, based on the selected data filter option, one or more potential data filter options that, if selected in combination with the selected data filter option, would not satisfy the anonymity threshold based on the first number of users in the first set of users that pass the data filter or the second number of users in the second set of users that do not pass the data filter.

12. The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor, cause the computer device to generate the modified data output by deactivating the one or more potential data filter options within a graphical user interface of the client device based on comparing the anonymity threshold with the first number of users and the second number of users.

13. A system comprising:

at least one processor; and

at least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one processor, cause the system to:

determine, in response to a data filter request indicating a data filter applied to a dataset, a first set of users associated with filtered-in data that pass the data filter and a second set of users associated with filtered-out data that do not pass the data filter;

determine an anonymity threshold associated with the dataset and indicating a minimum number of users required to be in the first set of users that pass the data filter and a minimum number of users required to be in the second set of users that do not pass the data filter;

compare the anonymity threshold with a first number of users in the first set of users that pass the data filter and comparing the anonymity threshold with a second number of users in the second set of users that do not pass the data filter;

in response to determining that at least one of the first number of users or the second number of users do not satisfy the anonymity threshold, combining one or more sub-groups of the dataset to generate:

a third set of users associated with the filtered-in data with a third number of users that pass the data filter and satisfy the anonymity threshold; and

a fourth set of users associated with filtered-out data with a fourth number of users that do not pass the data filter and satisfy the anonymity threshold; and

generate a modified data output comprising the third set of users and the fourth set of users to provide in response to the data filter request.

14. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the modified data output from the dataset by modifying a graphical user interface by removing data filter options.

15. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to:

receive, from a client device, an indication of a selected data filter option; and

determine, based on the selected data filter option, one or more potential data filter options that, if selected in combination with the selected data filter option, would not satisfy the anonymity threshold based on the first number of users in the first set of users that pass the data filter or the second number of users in the second set of users that do not pass the data filter.

16. The system of claim 15 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the modified data output by deactivating the one or more potential data filter options within a graphical user interface of the client device based on comparing the anonymity threshold with the first number of users and the second number of users.

17. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the modified data output by:

generating a larger dataset compared to an actual dataset associated with the data filter request; and

further comprising providing the modified data output to a client device.

18. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the modified data output by:

generating a smaller dataset compared to an actual dataset associated with the data filter request; and

further comprising providing the modified data output to a client device.

19. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to generate the modified data output by:

generating, based on the anonymity threshold, modified data groupings that are different from data groupings associated with the data filter request; and

further comprising providing the modified data groupings to a client device.

20. The system of claim 13 , further comprising instructions that, when executed by the at least one processor, cause the system to determine the anonymity threshold by identifying one or more anonymity thresholds associated with a user account corresponding to the data filter request.

Assignments (3)
SECURITY INTEREST Recorded May 18, 2026
From: QUALTRICS, LLC; PRESS GANEY ASSOCIATES LLC; CLARABRIDGE, INC.; DELIGHTED, LLC; RIOSOFT HOLDINGS, INC.; INMOMENT, INC.; LEXALYTICS, INC.; INMOMENT RESEARCH, LLC; ALLEGIANCE SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 075583/0001 →
SECURITY INTEREST Recorded Jun 29, 2023
From: QUALTRICS, LLC; CLARABRIDGE, INC.; NEW DEBDEN MERGER SUB II LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064162/0976 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2020
From: RUSS, JOHN; DE SOUSA, CHRISTIAN; NEWGORD, ALEXIA; LEE, KATHERINE; HUNTER, CAMERON
To: QUALTRICS, LLC
Reel/Frame 051768/0263 →