IP Library › Granted Patent US 11,785,098
Granted Patent B2
US 11,785,098 · App. 17/037,351 · Granted Oct 10, 2023

Systems and methods for personalization of a computer application

Inventors: Iraklis Konstantopoulos (Sydney, AU); Tristan Antony Frizza (Sydney, AU); Lily Serna (Sydney, AU)
Assignees: ATLASSIAN PTY LTD.; ATLASSIAN US, INC.
H04L67/306H04L67/535
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,785,098
App. No.
17/037,351
Granted
Oct 10, 2023
Kind
B2
Abstract

Systems and methods for personalizing a computer application for a user are disclosed. The method including providing multiple user groups, where each user group is assigned a set of computer application features and no two sets of computer application features are identical. The method further includes monitoring computer application usage of the user over a first period of time; based on the monitored usage, allocating a first user group to the user from the multiple user groups, the first user group fitting the user; and personalizing the computer application for the user by providing the set of computer application features assigned to the first user group.

Claims (79)

1. A computer-implemented method for personalization of a computer application for a user of a plurality of users, the computer-implemented method comprising:

identifying a set of events associated with the plurality of users, each event of the set of events having a corresponding event type, the set of events corresponding to a usage of the computer application by the plurality of users;

based on an analysis of the set of events:

selecting an event type satisfying predictive criterion;

using the selected event type, identifying a plurality of clusters of one or more users, a first cluster of the plurality of clusters having a different usage pattern for the usage of the computer application corresponding to the selected event type in comparison with a second cluster of the plurality of clusters;

identifying a particular cluster of the plurality of clusters to which the user is associated; and

assigning a set of computer application features of a plurality of computer application features to the particular cluster; and

rendering and causing display of a set of graphical elements within a user interface of the computer application being operated by the user, the set of graphical elements corresponding to the set of computer application features assigned to the particular cluster associated with the user.

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

based on one or more characteristics of a user profile of the user and the particular cluster:

associating the user with a user group of a plurality of user groups; and

assigning a second set of computer application features of the plurality of computer application features to the user group, the second set of computer application features comprising a subset of the set of computer application features; and

rendering and causing display of a second set of graphical elements within the user interface of the computer application being operated by the user, the second set of graphical elements corresponding to the second set of computer application features assigned to the user group.

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

re-determining the plurality of clusters of the one or more users based on additional usage of the computer application by the plurality of users; and

associating the user with a second group of the plurality of user groups based on the re-determining the plurality of clusters of the one or more users and the one or more characteristics of the user profile of the user.

4. The computer-implemented method of claim 3 , wherein re-determining the plurality of clusters of the one or more users occurs at a predetermined frequency.

5. The computer-implemented method of claim 2 , further comprising: monitoring aggregated usage of the computer application by the plurality of users, the monitoring the aggregated usage comprising tracking event records related to user interactions with the computer application.

6. The computer-implemented method of claim 5 , wherein the monitoring the aggregated usage of the computer application further comprises discarding events in the event records that:

are not relevant for determining the plurality of clusters;

are not predictive for determining the plurality of clusters;

increase computation cost of determining the plurality of clusters above a threshold cost; or

increase complexity of determining the plurality of clusters above a threshold complexity.

7. The computer-implemented method of claim 6 , wherein discarding the events in the event records that are not relevant is based on predetermined criteria that change over time.

8. The computer-implemented method of claim 2 , wherein the plurality of clusters is determined based on one or more clustering techniques including:

subspace clustering;

projected clustering;

hybrid approaches;

pattern based clustering;

k-means clustering; or

correlation clustering.

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

monitoring the usage of the computer application by the user corresponding to the set of events over a second period of time;

based on analysis of the set of events corresponding to the usage of the computer application by the plurality of users over the second period of time:

associating the user with a cluster of the plurality of clusters, the cluster of the plurality of clusters is different from the particular cluster; and

re-personalizing the computer application for the user by assigning a second set of computer application features assigned to the cluster.

10. The computer-implemented method of claim 9 , wherein associating the user with the cluster occurs at a specified frequency.

11. A computer processing system comprising:

a processing unit;

a communication interface; and

a non-transitory computer-readable medium storing sequences of instructions which, when executed by the processing unit, cause the processing unit to:

identify a set of events associated with a plurality of users, each event of the set of events having a corresponding event type, the set of events corresponding to a usage of a computer application by the plurality of users over a period of time;

based on an analysis of the set of events:

select an event type satisfying predictive criteria;

using the selected event type, identify a plurality of clusters, each cluster of the plurality of clusters including one or more users, a first cluster of the plurality of clusters having a first usage pattern corresponding to the selected event type, a second cluster of the plurality of clusters having a second usage pattern corresponding to the selected event type, the first usage pattern is different from the second usage pattern;

identify a particular cluster of the plurality of clusters to which a user of the plurality of users is associated, the particular cluster is the first cluster or the second cluster; and

assign a first set of computer application features of a plurality of computer application features to the first cluster, and a second set of computer application features of the plurality of computer application features to the second cluster; and

render and cause display of a set of graphical elements within a user interface of the computer application operated by the user, the set of graphical elements corresponding to a respective set of computer application features assigned to the particular cluster to which the user is associated.

12. The computer processing system of claim 11 , wherein the sequences of instructions which, when executed by the processing unit, further cause the processing unit to:

based on one or more characteristics of a user profile of the user and the particular cluster, the one or more characteristics of the user profile including a role of a user account of the user:

associate the user with a user group of a plurality of user groups; and

assign a third set of computer application features of the plurality computer of application features to the user group, the third set of computer application features comprising a subset of the first set of computer application features or the second set of computer application features; and

render and cause display of a third set of graphical elements within the user interface of the computer application being operated by the user, the third set of graphical elements corresponding to the third set of computer application features assigned to the user group.

13. The computer processing system of claim 12 , wherein the sequences of instructions which, when executed by the processing unit, further cause the processing unit to:

re-determine the plurality of clusters based on additional usage of the computer application by the plurality of users; and

assign the user with a second group of the plurality of user groups based on the re-determining the plurality of clusters and the one or more characteristics of the user profile of the user.

14. The computer processing system of claim 13 , wherein re-determining the plurality of clusters occurs at a predetermined frequency.

15. The computer processing system of claim 12 , wherein the plurality of clusters is determined based on one or more clustering techniques including:

subspace clustering;

projected clustering;

hybrid approaches;

pattern based clustering;

k-means clustering; or

correlation clustering.

16. The computer processing system of claim 12 , wherein the sequences of instructions which, when executed by the processing unit, further cause the processing unit to:

monitor aggregated usage of the computer application by tracking event records related to user interactions with the computer application.

17. The computer processing system of claim 16 , wherein to monitor the aggregated usage of the computer application, the sequences of instructions which, when executed by the processing unit, further cause the processing unit to:

discard an event in the event records that:

is not relevant for determining the plurality of clusters;

is not predictive for determining the plurality of clusters;

increases computation cost of determining the plurality of clusters above a threshold cost; or

increases complexity of determining the plurality of clusters above a threshold complexity.

18. The computer processing system of claim 17 , wherein the event that is not relevant is discarded based on a specified criterion that changes over time.

19. The computer processing system of claim 11 , wherein the sequences of instructions which, when executed by the processing unit, further cause the processing unit to:

monitor the usage of the computer application by the user corresponding to the identified set of events over a second period of time;

based on analysis of the set of events corresponding to the usage of the computer application by the plurality of users over the second period of time:

associate the user with a cluster of the plurality of clusters, the cluster of the plurality of clusters is different from the particular cluster; and

re-personalize the computer application for the user by assigning a third set of computer application features corresponding to the cluster to which the user is associated.

20. The computer processing system of claim 19 , wherein the second period of time occurs at a specified frequency.

Assignments (2)
CHANGE OF NAME Recorded Aug 5, 2022
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 061085/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2021
From: KONSTANTOPOULOS, IRAKLIS; FRIZZA, TRISTAN ANTONY; SERNA, LILY
To: ATLASSIAN PTY LTD.; ATLASSIAN INC.
Reel/Frame 055450/0585 →
Priority Claims (1)
AU 2019903677 · Sep 30, 2019 · national
Continuity (1)
Related Publication 20210099541A1 · Apr 1, 2021