IP Library Granted Patent US 10,719,769
Granted Patent B2
US 10,719,769 · App. 16/299,975 · Granted Jul 21, 2020

Systems and methods for generating and communicating application recommendations at uninstall time

Inventor: Hao Lu (Santa Clara, CA)
Assignee: Google LLC
G06N5/022G06F8/61G06F8/62G06Q30/0631
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,719,769
App. No.
16/299,975
Granted
Jul 21, 2020
Kind
B2
Abstract

A method for generating an application recommendation includes receiving a signal from an electronic device indicating that uninstallation of a first application has been initiated by a user on the electronic device, obtaining contextual information of the application, the contextual information including data indicating when the application was installed and frequency of use of the application, obtaining utilization data, the utilization data including data indicating applications that have been installed on the electronic device, determining a plurality of applications that are similar to the first application; generating a first predictive model using the contextual information and the utilization data, the first predictive model being configured to predict a likelihood of uninstallation of an application; and automatically recommending, at the time of uninstallation of the application, one or more of the plurality of applications, the recommending being based at least in part on the first predictive model.

Claims (70)

1. A computer-implemented method for generating and communicating an application recommendation, comprising:

receiving a signal from an electronic device indicating that an uninstallation of an application has been initiated by a user of the electronic device;

obtaining contextual attribute information of the application, the contextual attribute information including data that indicates a period of time during which the application was installed and performance data of the application;

obtaining utilization data, the utilization data including data that indicates a first plurality of other applications that have been installed on the electronic device, and historical usage of the first plurality of other applications by the user;

determining, based at least in part on functionality provided by the application and respective functionality of each application from a second plurality of other applications, a portion of the second plurality of other applications as a plurality of similar applications;

generating based at least in part on the utilization data, a respective satisfaction score for each application from the first plurality of other applications, each of the respective satisfaction scores indicating a level of the user's satisfaction with a corresponding application from the first plurality of other applications;

generating, based at least in part on the respective satisfaction scores and the contextual attribute information, a predictive model;

determining, using the predictive model and based on the plurality of similar applications, a subset of the plurality of similar applications as one or more recommended applications, wherein each recommended application from the one or more recommended applications has a respective predicted satisfaction score satisfying a threshold likelihood that the corresponding recommended application will remain installed should the recommended application be installed at the electronic device; and

after receiving the signal that the uninstallation of the application has been initiated, sending, to the electronic device, information about the one or more recommended applications as the application recommendation.

2. The method of claim 1 , wherein the performance data includes one or more of: battery energy consumption, network data utilization, memory utilization, crash frequency, display metrics, or application load time metrics.

3. The method of claim 1 , wherein the utilization data further includes data that indicates, for each of the first plurality of other applications, one or more of: an installation time or an uninstallation time.

4. The method of claim 1 , wherein the second plurality of other applications is stored in a distribution service platform and is determined based on metadata associated with the uninstalled application and metadata associated with the second plurality of other applications.

5. The method of claim 1 , wherein sending the information about the one or more recommended applications further comprises: causing a notification to be output on a display of the electronic device, the notification including one or more respective icons corresponding to the one or more recommended applications, wherein the electronic device is configured to initiate a purchase or download of the corresponding application when the respective icon is selected.

6. The method of claim 1 , wherein generating the predictive model further comprises:

determining a dataset comprising a matrix of one or more applications from the first plurality of other applications, respective contextual attribute information for the one or more applications from the first plurality of other applications, respective utilization data information for the one or more applications from the first plurality of other applications, and the respective satisfaction scores for the one or more applications from the first plurality of other applications;

dividing the dataset into at least one training dataset and at least one validation dataset; and

evaluating two or more machine learning algorithms on the at least one training dataset and the at least one validation dataset to determine an algorithm that produces the predictive model that predicts a target application's score based on the target application's corresponding contextual data.

7. The method of claim 6 , wherein the two or more machine learning algorithms are selected from the group consisting of: k-nearest neighbors, logistic regression, classification and regression trees, linear discriminant analysis, Gaussian naive Bayes and support vector machines.

8. The method of claim 6 , wherein evaluating the two or more machine learning algorithms comprises:

applying each of the two or more algorithms to a first subset of the at least one training dataset to generate two or more first models, each of which corresponds to a respective one of the two or more algorithms;

applying each of the two or more algorithms to a second subset of the at least one training dataset different from the first subset to generate two or more second models, each of which corresponds to a respective one of the two or more algorithms, wherein the two or more first models and the two or more second models are both included in a plurality of models;

applying each model from the plurality of models to the at least one validation dataset to generate four or more result sets, each of which corresponds to a respective model from the plurality of models;

determining, based on the four or more result sets, which model from the plurality of models is a most accurate model; and

selecting the most accurate model from the plurality of models.

9. A system comprising:

a processor; and

a computer readable medium that stores computer readable instructions that, when executed by the processor, are effective to cause the system to:

receive a signal from an electronic device indicating that an uninstallation of an application has been initiated by a user of the electronic device;

obtain contextual attribute information of the application, the contextual attribute information including data that indicates a period of time during which the application was installed and performance data of the application;

obtain utilization data, the utilization data including data that indicates a first plurality of other applications that have been installed on the electronic device, and historical usage of the first plurality of other applications by the user;

determine, based at least in part on functionality provided by the application and respective functionality of each application from a second plurality of other applications, a portion of the second plurality of other applications as a plurality of similar applications;

generate, based on the utilization data, a respective satisfaction score for each application from the first plurality of other applications, each of the respective satisfaction scores indicating a level of the user's satisfaction with a corresponding application from the first plurality of other applications;

generate, based at least in part on the respective satisfaction scores and the contextual attribute information, a predictive model;

determine, using the predictive model and based on the plurality of similar applications, a subset of the plurality of similar applications as one or more recommended applications; and

after receiving the signal that the uninstallation of the application has been initiated, send, to the electronic device, information about the one or more recommended applications as the application recommendation.

10. The system of claim 9 , wherein the performance data includes one or more of: battery energy consumption, network data utilization, memory utilization, crash frequency, display metrics, or application load time metrics.

11. The system of claim 9 , wherein the utilization data further includes data that indicates, for each of the first plurality of other applications, one or more of: an installation time or an uninstallation time.

12. The system of claim 9 , wherein the second plurality of other applications is stored in a distribution service platform and is determined based on metadata associated with the uninstalled application and metadata associated with the second plurality of applications.

13. The system of claim 9 , wherein the computer readable instructions that cause the system to send the information about the one or more recommended applications further comprise instructions that cause the system to: cause a notification to be output on a display of the electronic device, the notification including one or more respective icons corresponding to the one or more recommended applications, wherein the electronic device is configured to initiate a purchase or download of the corresponding application when the respective icon is selected.

14. The system of claim 9 , wherein the computer readable instructions that cause the system to generate the predictive model cause the system to:

determine a dataset comprising a matrix of one or more applications from the first plurality of other applications, respective contextual attribute information for the one or more applications from the first plurality of other applications, respective utilization data information for the one or more applications from the first plurality of other applications, and the respective satisfaction scores for the one or more applications from the first plurality of other applications;

divide the dataset into at least one training dataset and at least one validation dataset; and

evaluate two or more machine learning algorithms on the at least one training dataset and the at least one validation dataset to determine an algorithm that produces the predictive model that predicts a target application's score based on the target application's corresponding contextual data.

15. The system of claim 14 , wherein the two or more machine learning algorithms are selected from a group consisting of: k-nearest neighbors, logistic regression, classification and regression trees, linear discriminant analysis, Gaussian naive Bayes and support vector machines.

16. The system of claim 14 , wherein the computer readable instructions that cause the system to evaluate the two or more machine learning algorithms cause the system to:

apply each of the two or more algorithms to a first subset of the at least one training dataset to generate two or more first models, each of which corresponds to a respective one of the two or more algorithms;

apply each of the two or more algorithms to a second subset of the at least one training dataset different from the first subset to generate two or more second models, each of which corresponds to a respective one of the two or more algorithms, wherein the two or more first models and the two or more second models are both included in a plurality of models;

apply each model from the plurality of models to the at least one validation dataset to generate four or more result sets, each of which corresponds to a respective model from the plurality of models;

determine, based on the four or more result sets, which model from the plurality of models is a most accurate model; and

select the most accurate model from the plurality of models.

17. A non-transitory computer-readable storage medium encoded with instructions that, when executed, cause one or more processors of a computing system to:

receive a signal from an electronic device indicating that an uninstallation of an application has been initiated by a user of the electronic device;

obtain contextual attribute information of the application, the contextual attribute information including data that indicates a period of time during which the application was installed and performance data of the application;

obtain utilization data, the utilization data including data that indicates a first plurality of other applications that have been installed on the electronic device and historical usage of the first plurality of other applications by the user;

determine, based at least in part on functionality provided by the application and respective functionality of each application from a second plurality of other applications, a portion of the second plurality of other applications as a plurality of similar applications;

generate, based on the utilization data, a respective satisfaction score for each application from the first plurality of other applications, each of the respective satisfaction scores indicating a level of the user's satisfaction with a corresponding application from the first plurality of other applications;

generate, based at least in part on the respective satisfaction scores and the contextual attribute information, a predictive model;

determine, using the predictive model and based on the plurality of similar applications, a subset of the plurality of similar applications as one or more recommended applications; and

after receiving the signal that the uninstallation of the application has been initiated, send, to the electronic device, information about the one or more recommended applications as the application recommendation.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the performance data includes one or more of: battery energy consumption, network data utilization, memory utilization, crash frequency, display metrics, or application load time metrics, and wherein the utilization data further includes data that indicates, for each of the first plurality of other applications, one or more of: an installation time or an uninstallation time.

19. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions that cause the one or more processors to generate the predictive model further comprise instructions that cause the one or more processors to:

determine a dataset comprising a matrix of one or more applications from the first plurality of other applications, respective contextual attribute information for the one or more applications from the first plurality of other applications, respective utilization data information for the one or more applications from the first plurality of other applications, and the respective satisfaction scores for the one or more applications from the first plurality of other applications;

divide the dataset into at least one training dataset and at least one validation dataset; and

evaluate two or more machine learning algorithms on the at least one training dataset and the at least one validation dataset to determine an algorithm that produces the predictive model that predicts a target application's score based on the target application's corresponding contextual data.

20. The non-transitory computer-readable storage medium of claim 17 , wherein the computer readable instructions that cause the system to evaluate the two or more machine learning algorithms cause the system to:

apply each of the two or more machine learning algorithms to a first subset of the at least one training dataset to generate two or more first models, each of which corresponds to a respective one of the two or more machine learning algorithms;

apply each of the two or more machine learning algorithms to a second subset of the at least one training dataset different from the first subset to generate two or more second models, each of which corresponds to a respective one of the two or more machine learning algorithms, wherein the two or more first models and the two or more second models are both included in a plurality of models;

apply each model from the plurality of models to the at least one validation dataset to generate four or more result sets, each of which corresponds to a respective model from the plurality of models;

determine, based on the four or more result sets, which model from the plurality of models is a most accurate model; and

select the most accurate model from the plurality of models.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2019
From: LU, HAO
To: GOOGLE INC.
Reel/Frame 048576/0155 →
CHANGE OF NAME Recorded Mar 12, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 048577/0009 →
Continuity (2)
Continuation 15604647 · May 24, 2017
Related Publication 20190213485A1 · Jul 11, 2019