IP Library › Granted Patent US 12,327,150
Granted Patent B2
US 12,327,150 · App. 17/978,933 · Granted Jun 10, 2025

On-device privatization of multi-party attribution data

Inventors: Ryan M. Rogers (Los Gatos, CA); Man Chun D. Leung (Daly City, CA); David Pardoe (Mountain View, CA); Bing Liu (San Jose, CA); Shawn F. Ren (Knoxville, TN); Rahul Tandra (Santa Clara, CA); Parvez Ahammad (San Jose, CA); Jing Wang (Los Altos, CA); Ryan T. Tecco (Philadelphia, PA); Yajun Wang (Sunnyvale, CA)
Assignee: Microsoft Technology Licensing, LLC
G06F9/54G06F21/645
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 12,327,150
App. No.
17/978,933
Granted
Jun 10, 2025
Kind
B2
Abstract

Embodiments of the disclosed technologies receive first event data associated with a first party application, receive second event data representing a click, in the first party application, on a link to a third party application, receive third event data from the third party application, convert the third event data to a label, map a compressed format of the labeled third event data to the first event data and the second event data to create multi-party attribution data, group multiple instances of the multi-party attribution data into a batch, add noise to the compressed format of the labeled third event data in the batch, and send the noisy batch to a second computing device. A debiasing algorithm can be applied to the noisy batch. The debiased noisy batch can be used to train at least one machine learning model.

Claims (48)

1. A method comprising:

at a first computing device associated with a user, (i) receiving and storing on the first computing device, first event data associated with a login to a first party application, (ii) receiving and storing on the first computing device, second event data representing a click, in the first party application, on a link to a third party application, (iii) receiving and storing on the first computing device, third event data from the third party application, (iv) converting the third event data to a label selected from a set of available labels that are each represented by a compressed format comprising at least one bit, (v) mapping the compressed format of the labeled third event data to the first event data and the second event data to create an instance of multi-party attribution data, (vi) grouping multiple instances of the multi-party attribution data into a batch, (vii) adding noise to the compressed format of the labeled third event data in the batch using a differentially private algorithm, and (viii) sending the noisy batch of multi-party attribution data to a second computing device;

applying a debiasing algorithm to the noisy batch of multi-party attribution data; and

at a second computing device, using the debiased noisy batch of multi-party attribution data to train at least one machine learning model to produce output that can be used to control a content distribution.

2. The method of claim 1 , wherein the first event data comprises an identifier associated with the user's use of the first party application and the third event data indicates whether a conversion occurred in the third party application in response to the click on the link to the third party application.

3. The method of claim 1 , wherein converting the third event data to a label comprises:

mapping the third event data to a 1 bit when the third event data indicates that a conversion occurred in the third party application in response to the click on the link to the third party application; and

mapping the third event data to a 0 bit when the third event data does not indicate that the conversion occurred.

4. The method of claim 1 , wherein converting the third event data to a label comprises:

mapping the third event data to a first bit when the third event data indicates that a conversion of a first type occurred in the third party application in response to the click on the link to the third party application; and

mapping the third event data to a second bit different from the first bit when the third event data indicates that a conversion of a second type different from the first type occurred in the third party application in response to the click on the link to the third party application.

5. The method of claim 1 , wherein applying the debiasing algorithm to the noisy batch of multi-party attribution data comprises, at the first computing device, (i) receiving, by the first computing device, performance metric data for a content distribution associated with the link, (ii) configuring the debiasing algorithm based on the content distribution performance metric data, and (iii) applying the configured debiasing algorithm to the noisy batch of multi-party attribution data.

6. The method of claim 1 , wherein applying the debiasing algorithm to the noisy batch of multi-party attribution data comprises, at the second computing device, (i) configuring the debiasing algorithm based on performance metric data for a content distribution associated with the link, and (ii) applying the configured debiasing algorithm to the noisy batch of multi-party attribution data.

7. The method of claim 1 , further comprising:

receiving, from the at least one machine learning model, performance metric data for the at least one machine learning model; and

configuring the debiasing algorithm based on the machine learning model performance metric data.

8. The method of claim 1 , further comprising:

delaying the sending of the noisy batch of multi-party attribution data to the second computing device until after a batch criterion has been satisfied.

9. The method of claim 1 , wherein applying the debiasing algorithm to the noisy batch of multi-party attribution data comprises:

determining an expected conversion rate associated with the noisy batch of multi-party attribution data;

determining a true conversion rate associated with the noisy batch of multi-party attribution data; and

based on a comparison of the expected conversion rate to the true conversion rate, removing at least one instance of the multi-party attribution data from the noisy batch of multi-party attribution data.

10. The method of claim 1 , wherein the output of the at least one trained machine learning model comprises an expected conversion rate associated with the user and the content distribution; and the method further comprises controlling the content distribution by adjusting a value of a parameter of the content distribution based on the expected conversion rate.

11. A system comprising:

a processor; and

a memory, wherein the memory comprises instructions that when executed by the processor cause the processor to:

at a first computing device associated with a user, (i) receive and store on the first computing device, first event data associated with a login to a first party application, (ii) receive and store on the first computing device, second event data representing a click, in the first party application, on a link to a third party application, (iii) receive and store on the first computing device, third event data from the third party application, (iv) convert the third event data to a label selected from a set of available labels that are each represented by a compressed format comprising at least one bit, (v) map the compressed format of the labeled third event data to the first event data and the second event data to create an instance of multi-party attribution data, (vi) group multiple instances of the multi-party attribution data into a batch, (vii) add noise to the compressed format of the labeled third event data in the batch using a differentially private algorithm, and (viii) send the noisy batch of multi-party attribution data to a second computing device;

apply a debiasing algorithm to the noisy batch of multi-party attribution data; and

at a second computing device, use the debiased noisy batch of multi-party attribution data to train at least one machine learning model to produce output that can be used to control a content distribution.

12. The system of claim 11 , wherein the first event data comprises an identifier associated with the user's use of the first party application and the third event data indicates whether a conversion occurred in the third party application in response to the click on the link to the third party application.

13. The system of claim 11 , wherein the instructions further cause the processor to convert the third event data to a label by:

mapping the third event data to a 1 bit when the third event data indicates that a conversion occurred in the third party application in response to the click on the link to the third party application; and

mapping the third event data to a 0 bit when the third event data does not indicate that the conversion occurred.

14. The system of claim 11 , wherein the instructions further cause the processor to convert the third event data to a label by:

mapping the third event data to a first bit when the third event data indicates that a conversion of a first type occurred in the third party application in response to the click on the link to the third party application; and

mapping the third event data to a second bit different from the first bit when the third event data indicates that a conversion of a second type different from the first type occurred in the third party application in response to the click on the link to the third party application.

15. The system of claim 11 , wherein the instructions further cause the processor to apply the debiasing algorithm to the noisy batch of multi-party attribution data by, at the first computing device, (i) receiving, by the first computing device, performance metric data for a content distribution associated with the link, (ii) configuring the debiasing algorithm based on the content distribution performance metric data, and (iii) applying the configured debiasing algorithm to the noisy batch of multi-party attribution data.

16. The system of claim 11 , wherein the instructions further cause the processor to apply the debiasing algorithm to the noisy batch of multi-party attribution data by, at the second computing device, (i) configuring the debiasing algorithm based on performance metric data for a content distribution associated with the link, and (ii) applying the configured debiasing algorithm to the noisy batch of multi-party attribution data.

17. The system of claim 11 , wherein the instructions further cause the processor to:

receive, from the at least one machine learning model, performance metric data for the at least one machine learning model; and

configure the debiasing algorithm based on the machine learning model performance metric data.

18. The system of claim 11 , wherein the instructions further cause the processor to:

delay the sending of the noisy batch of multi-party attribution data to the second computing device until after a batch criterion has been satisfied.

19. The system of claim 11 , wherein the instructions further cause the processor to apply the debiasing algorithm to the noisy batch of multi-party attribution data by:

determining an expected conversion rate associated with the noisy batch of multi-party attribution data;

determining a true conversion rate associated with the noisy batch of multi-party attribution data; and

based on a comparison of the expected conversion rate to the true conversion rate, removing at least one instance of the multi-party attribution data from the noisy batch of multi-party attribution data.

20. The system of claim 11 , wherein the output of the at least one trained machine learning model comprises an expected conversion rate associated with the user and the content distribution; and the instructions further cause the processor to control the content distribution by adjusting a value of a parameter of the content distribution based on the expected conversion rate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2022
From: ROGERS, RYAN M.; LEUNG, MAN CHUN D.; PARDOE, DAVID; LIU, BING; REN, SHAWN F.; TANDRA, RAHUL; AHAMMAD, PARVEZ; WANG, JING; TECCO, RYAN T.; WANG, YAJUN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 062074/0233 →
Continuity (1)
Related Publication 20240143416A1 · May 2, 2024
References Cited (28)
US 20210073449A1 · Segev · 2021 [cited by examiner]
US 20220187847A1 · Cella · 2022 [cited by examiner]
US 20220197306A1 · Cella · 2022 [cited by examiner]
US 20220303761A1 · Mohan · 2022 [cited by applicant]
US 20220318830A1 · Liu · 2022 [cited by applicant]
US 20220366494A1 · Cella · 2022 [cited by examiner]
US 20230123539A1 · Trevor · 2023 [cited by applicant]
US 20230239134A1 · Salomon · 2023 [cited by applicant]
US 20230269411A1 · Senokuchi · 2023 [cited by applicant]
US 20230275876A1 · Lebedev et al. · 2023 [cited by applicant]
US 20230297857A1 · Roie · 2023 [cited by applicant]
US 20230306473A1 · Wang · 2023 [cited by applicant]
US 20230315818A1 · Gould · 2023 [cited by applicant]
US 20230334021A1 · Brechbuhl · 2023 [cited by applicant]
US 20230351464A1 · Beausoleil · 2023 [cited by applicant]
US 20240143416A1 · Rogers · 2024 [cited by examiner]
Marcelo Ferreira, Malicious URL Detection using Machine Learning Algorithms. (Year: 2019). [cited by examiner]
“Learning with Privacy at Scale”, Retrieved From: https://machinelearning.apple.com/research/learning-with-privacy-at-scale, Dec. 2017, 25 Pages. [cited by applicant]
Johnson, et al., “FBPCF (Facebook Private Computation Framework)”, Retrieved From : https://github.com/facebookresearch/fbpcf?fbclid=IWAR18czHOYDeyS3qdJBUMzT38KMAIGSXUL4elwqWiQZv2Ub9FtAZI7zlogk8, Retrieved Date: Jan. 10… [cited by applicant]
Wang, et al., “Using randomized response for differential privacy preserving data collection”, In Proceedings of the Workshops of the EDBT/ICDT Joint Conference, Mar. 15, 2016, 8 Pages. [cited by applicant]
Warner, Stanleyl. , “Randomized response: A survey technique for eliminating evasive answer bias”, In Journal of the American Statistical Association, vol. 60, No. 309, Mar. 1965, 8 Pages. [cited by applicant]
Mudd, Graham.,“Privacy-Enhancing Technologies and Building for the Future”, Retrieved from: https://www.facebook.com/business/news/building-for-the-future, Aug. 11, 2021, 7 Pages. [cited by applicant]
Notice of Allowance mailed on Feb. 23, 2024, in U.S. Appl. No. 17/681,343, 10 pages. [cited by applicant]
Kedacic, et al., “Application for Testing of Video and Subtitle Synchronization”, IEEE, 2018, pp. 23-27. [cited by applicant]
Notice of Allowance mailed on Jan. 25, 2024, in U.S. Appl. No. 17/681,343, 11 pages. [cited by applicant]
Schneider, et al., “The Use of Social News Curation to Empower Citizens and Journalists: Findings of A Focus Group Study with Professional Curators”, IEEE, 2021, pp. 1184-1190. [cited by applicant]
U.S. Appl. No. 17/972,408, filed Oct. 24, 2022. [cited by applicant]
U.S. Appl. No. 17/681,343, filed Feb. 25, 2022. [cited by applicant]