IP Library Granted Patent US 10,679,247
Granted Patent B1
US 10,679,247 · App. 15/087,341 · Granted Jun 9, 2020

Incremental model training for advertisement targeting using streaming data

Inventor: Gaurav Chandalia (Sunnyvale, CA)
Assignee: Quantcast Corporation
G06Q30/0254G06N5/04G06N20/00G06Q10/067
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 10,679,247
App. No.
15/087,341
Granted
Jun 9, 2020
Kind
B1
Abstract

Incremental model training for advertisement targeting is performed using streaming data. A model for targeting advertisements of an advertising campaign is initialized. A data stream including data corresponding to converters and data corresponding to non-converters is received. The model is then applied to the data corresponding to the converter and data corresponding to the non-converter (or other ratio of converter to non-converters) to obtain a predicted score for each. The predicted score is compared to the observed score (e.g., an observed score of 1 for a converter, and 0 for a non-converter). The difference between the predicted and observed scores is computed, and the model is incrementally updated based on this difference. Models can optionally be built separately on multiple modeling servers that are geographically dispersed in order to support bidding on advertising opportunities in a real-time bidding environment.

Claims (45)

1. A method comprising:

responsive to receiving a signal of conversion corresponding to a converter at a first modeling server of a distributed modeling system comprising a plurality of modeling servers, pairing the converter and a non-converter and performing for the converter and the non-converter:

applying a model at the first modeling server to data corresponding to the converter to obtain a predicted score for the converter;

applying the model to data corresponding to the non-converter to obtain a predicted score for the non-converter;

comparing the predicted score for the converter to an observed score for the converter to compute a first difference;

comparing the predicted score for the non-converter to an observed score for the non-converter to compute a second difference; and

updating the model at the first modeling server based on the first and second differences when the first difference exceeds a threshold;

combining the updated model with at least one other model from at least a second modeling server of the distributed modeling system; and

redistributing the combined model to at least the first and second modeling servers of the distributed modeling system.

2. The method of claim 1 , wherein at least the applying, comparing, and updating steps are performed by a plurality of modeling servers concurrently on data corresponding to different converters.

3. The method of claim 1 , wherein combining the updated model with at least one other model from at least a second modeling server comprises taking a weighted average of the models based on respective amounts of converters recently incorporated into each model.

4. The method of claim 1 , further comprising downsampling data corresponding to non-converters.

5. The method of claim 1 , wherein the model comprises a feature set and a respective weight for each feature in the feature set.

6. The method of claim 5 , further comprising penalizing infrequently observed features to reduce the feature set in the model.

7. The method of claim 1 , further comprising discarding the data corresponding to the converter and the data corresponding to the non-converter.

8. A non-transitory computer readable storage medium executing computer program instructions, the computer program instructions comprising instructions for:

responsive to receiving a signal of conversion corresponding to a single converter at a first modeling server of a distributed modeling system comprising a plurality of modeling servers, pairing the converter and a non-converter and performing for the converter and the non-converter:

applying a model at the first modeling server to data corresponding to the converter to obtain a predicted score for the converter;

applying the model to data corresponding to the non-converter to obtain a predicted score for the non-converter;

comparing the predicted score for the converter to an observed score for the converter to compute a first difference;

comparing the predicted score for the non-converter to an observed score for the non-converter to compute a second difference;

and updating the model at the first modeling server based on the first and second differences when the first difference exceeds a threshold;

combining the updated model with at least one other model from at least a second modeling server of the distributed modeling system; and

redistributing the combined model to at least the first and second modeling servers of the distributed modeling system.

9. The medium of claim 8 , wherein combining the updated model with at least one other model from at least a second modeling server comprises taking a weighted average of the models based on respective amounts of converters recently incorporated into each model.

10. The medium of claim 8 , further comprising instructions for downsampling data corresponding to non-converters.

11. The medium of claim 8 , wherein the model comprises a feature set and a respective weight for each feature in the feature set.

12. The medium of claim 11 , further comprising instructions for penalizing infrequently observed features to reduce the feature set in the model.

13. The medium of claim 8 , further comprising instructions for discarding the data corresponding to the converter and the data corresponding to the non-converter.

14. A system comprising:

a processor;

a computer readable storage medium storing processor-executable computer program instructions, the instructions comprising instructions for:

responsive to receiving a signal of conversion corresponding to a converter at a first modeling server of a distributed modeling system comprising a plurality of modeling servers, pairing the converter and a non-converter and performing for the converter and the non-converter:

applying a model at the first modeling server to data corresponding to the converter to obtain a predicted score for the converter;

applying the model to data corresponding to the non-converter to obtain a predicted score for the non-converter;

comparing the predicted score for the converter to an observed score for the converter to compute a first difference;

comparing the predicted score for the non-converter to an observed score for the non-converter to compute a second difference; and

updating the model at the first modeling server based on the first and second differences when the first difference exceeds a threshold;

combining the updated model with at least one other model from at least a second modeling server of the distributed modeling system; and

redistributing the combined model to at least the first and second modeling servers of the distributed modeling system.

15. The system of claim 14 , wherein combining the updated model with at least one other model from at least a second modeling server comprises taking a weighted average of the models based on respective amounts of converters recently incorporated into each model.

16. The system of claim 14 , the medium further comprising instructions for downsampling data corresponding to non-converters.

17. The system of claim 14 , wherein the model comprises a feature set and a respective weight for each feature in the feature set.

18. The system of claim 17 , the medium further comprising instructions for penalizing infrequently observed features to reduce the feature set in the model.

19. The system of claim 14 , the medium further comprising instructions for discarding the data corresponding to the converter and the data corresponding to the non-converter.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Jun 21, 2024
From: BANK OF AMERICA, N.A.
To: QUANTCAST CORPORATION
Reel/Frame 067807/0017 →
SECURITY INTEREST Recorded Jun 18, 2024
From: QUANTCAST CORPORATION
To: CRYSTAL FINANCIAL LLC D/B/A SLR CREDIT SOLUTIONS
Reel/Frame 067777/0613 →
SECURITY INTEREST Recorded Dec 5, 2022
From: QUANTCAST CORPORATION
To: VENTURE LENDING & LEASING IX, INC.; WTI FUND X, INC.
Reel/Frame 062066/0265 →
SECURITY INTEREST Recorded Sep 30, 2021
From: QUANTCAST CORPORATION
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 057677/0297 →
RELEASE OF SECURITY INTEREST Recorded Sep 30, 2021
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: QUANTCST CORPORATION
Reel/Frame 057678/0832 →
RELEASE OF SECURITY INTEREST Recorded May 6, 2021
From: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
To: QUANTCAST CORPORATION
Reel/Frame 056159/0702 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2021
From: TRIPLEPOINT VENTURE GROWTH BDC CORP.
To: QUANTCAST CORPORATION
Reel/Frame 055599/0282 →
SECURITY INTEREST Recorded Aug 7, 2018
From: QUANTCAST CORPORATION
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 046733/0305 →
FIRST AMENDMENT TO PATENT SECURITY AGREEMENT Recorded Nov 14, 2016
From: QUANTCAST CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 040614/0906 →
SECURITY INTEREST Recorded May 12, 2016
From: QUANTCAST CORPORATION
To: VENTURE LENDING & LEASING VI, INC.; VENTURE LENDING & LEASING VII, INC.
Reel/Frame 038571/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2016
From: CHANDALIA, GAURAV
To: QUANTCAST CORP.
Reel/Frame 038171/0310 →
Continuity (2)
Continuation 14950401 · Nov 24, 2015
Continuation 13480315 · May 24, 2012