Classifying teams in a group-based communication system using machine learning techniques
Methods, systems, apparatuses, devices, and computer program products are described. A group-based communication system may use machine learning techniques to classify teams of the system, determine discount messaging for teams of the system, or both. The group-based communication system may receive concurrency data for a team of users and may input the concurrency data (e.g., with one or more other features associated with the team) into a machine learning model to generate a classifier for the team. The classifier may indicate whether the team is a work team, an educational team, or a social team. Based on the classifier for the team, the system may send a message to at least one user of the team (e.g., an administrative user). In some examples, the system may use another machine learning model to generate a discount message for sending to the at least one user based on the team classifier.
1 . A method for classifying teams in a group-based communication system, comprising:
receiving concurrency data for a plurality of users associated with a team of the group-based communication system, the concurrency data indicating at least when multiple users of the plurality of users are concurrently active in the group-based communication system;
training a first machine learning model based at least in part on first data that includes historical concurrency data for a plurality of teams of the group-based communication system and second data that includes team-specified classifiers for the plurality of teams, wherein the first machine learning model learns relationships between the first data and the second data based at least in part on the training;
generating, using the first machine learning model and the relationships between the first data and the second data, a classifier for the team based at least in part on the received concurrency data for the plurality of users associated with the team, the classifier indicating whether the team is associated with a work team, an educational team, or a social team;
training a second machine learning model based at least in part on third data that includes historical access plan information for the plurality of teams and the second data, wherein an access plan indicates a set of features of the group-based communication system available to a corresponding team, and wherein the second machine learning model learns additional relationships between the third data and the second data based at least in part on the training;
generating, using the second machine learning model and the additional relationships, one or more aspects of a message based at least in part on the classifier for the team generated by the first machine learning model; and
sending the message comprising the one or more aspects to at least one user of the plurality of users associated with the team based at least in part on the classifier for the team.
2 . The method of claim 1 , wherein sending the message further comprises:
determining when to send the message based at least in part on the one or more aspects of the message.
3 . The method of claim 1 , wherein sending the message further comprises:
determining contents of the message based at least in part on the one or more aspects of the message.
4 . The method of claim 3 , wherein the contents comprises a type of discount offered to the team, a trial plan offered to the team, or both.
5 . The method of claim 1 , wherein the one or more aspects of the message indicate whether to offer a discount to the team, a type of discount to offer to the team, a predicted likelihood that the team will pay for a feature of the group-based communication system, or any combination thereof.
6 . The method of claim 1 , further comprising:
determining a subset of teams from the plurality of teams of the group-based communication system based at least in part on a random selection procedure; and
sending, to a set of users corresponding to the determined subset of teams, a discount message offering a discount for a respective team of the determined subset of teams, wherein the second machine learning model is further trained based at least in part on which teams of the determined subset of teams use the discount in response to the discount message.
7 . The method of claim 1 , wherein the one or more aspects of the message are generated using the second machine learning model based at least in part on the classifier for the team indicating that the team is associated with the work team.
8 . The method of claim 1 , further comprising:
sending, to a set of users corresponding to the plurality of teams of the group-based communication system, a survey message requesting information relating to classifications of the plurality of teams; and
receiving, in response to the survey message, the information relating to the classifications of the plurality of teams, wherein the team-specified classifiers for the plurality of teams are based on the information relating to the classifications of the plurality of teams.
9 . The method of claim 1 , further comprising:
storing the concurrency data based at least in part on a plurality of user inputs to a plurality of user devices operated by the plurality of users associated with the team, wherein the plurality of user inputs correspond to actions within the group-based communication system.
10 . The method of claim 9 , wherein the actions within the group-based communication system comprise typing a first message, reacting to a second message, selecting to view a first group-based communication channel, scrolling within a second group-based communication channel, selecting to view a user profile, selecting a link, creating a third group-based communication channel, interacting with a file, selecting an application window for the group-based communication system, or any combination thereof within the group-based communication system.
11 . The method of claim 1 , wherein the classifier for the team is generated using the machine learning model further based at least in part on one or more features comprising email address domain information for the plurality of users associated with the team, activity information within the group-based communication system for the plurality of users associated with the team, file types used by the team, privacy settings for one or more group-based communication channels associated with the team, historical information indicating whether users of the plurality of users are associated with one or more other teams of the group-based communication system, pricing page visitation information for the plurality of users associated with the team, checkout page visitation information for the plurality of users associated with the team, call activity for the team, meeting activity for the team, usage information for the group-based communication system of an administrative user of the team, a country code associated with the team, an industry code associated with the team, or any combination thereof.
12 . The method of claim 1 , further comprising:
performing an A/B test for a feature of the group-based communication system; and
determining results of the A/B test based at least in part on the classifier for the team.
13 . The method of claim 1 , wherein:
the team is associated with a first access plan of a plurality of access plans for the group-based communication system, an access plan of the plurality of access plans indicating a set of features of the group-based communication system available to the team; and
the message comprises a discount offer for a second access plan of the plurality of access plans for the group-based communication system.
14 . The method of claim 1 , wherein the team corresponds to a workspace in the group-based communication system, a group-based communication channel in the group-based communication system, or both.
15 . The method of claim 1 , wherein the at least one user of the plurality of users associated with the team comprises an administrative user of the team.
16 . An apparatus for classifying teams in a group-based communication system, comprising:
a processor;
memory coupled with the processor; and
instructions stored in the memory and executable by the processor to cause the apparatus to:
receive concurrency data for a plurality of users associated with a team of the group-based communication system, the concurrency data indicating at least when multiple users of the plurality of users are concurrently active in the group-based communication system;
train a first machine learning model based at least in part on first data that includes historical concurrency data for a plurality of teams of the group-based communication system and second data that includes team-specified classifiers for the plurality of teams, wherein the first machine learning model learns relationships between the first data and the second data based at least in part on the training;
generate, using the first machine learning model and the relationships between the first data and the second data, a classifier for the team based at least in part on the received concurrency data for the plurality of users associated with the team, the classifier indicating whether the team is associated with a work team, an educational team, or a social team;
train a second machine learning model based at least in part on third data that includes historical access plan information for the plurality of teams and the second data, wherein an access plan indicates a set of features of the group-based communication system available to a corresponding team, and wherein the second machine learning model learns additional relationships between the third data and the second data based at least in part on the training;
generate, using the second machine learning model and the additional relationships, one or more aspects of a message based at least in part on the classifier for the team generated by the first machine learning model; and
send the message comprising the one or more aspects to at least one user of the plurality of users associated with the team based at least in part on the classifier for the team.
17 . The apparatus of claim 16 , wherein the instructions are further executable by the processor to cause the apparatus to:
send, to a set of users corresponding to the plurality of teams of the group-based communication system, a survey message requesting information relating to classifications of the plurality of teams; and
receive, in response to the survey message, the information relating to the classifications of the plurality of teams, wherein the team-specified classifiers for the plurality of teams are based on the information relating to the classifications of the plurality of teams.
18 . A non-transitory computer-readable medium storing code for classifying teams in a group-based communication system, the code comprising instructions executable by a processor to:
receive concurrency data for a plurality of users associated with a team of the group-based communication system, the concurrency data indicating at least when multiple users of the plurality of users are concurrently active in the group-based communication system;
train a first machine learning model based at least in part on first data that includes historical concurrency data for a plurality of teams of the group-based communication system and second data that includes team-specified classifiers for the plurality of teams, wherein the first machine learning model learns relationships between the first data and the second data based at least in part on the training;
generate, using the first machine learning model and the relationships between the first data, a classifier for the team based at least in part on the received concurrency data for the plurality of users associated with the team, the classifier indicating whether the team is associated with a work team, an educational team, or a social team;
train a second machine learning model based at least in part on third data that includes historical access plan information for the plurality of teams and the second data, wherein an access plan indicates a set of features of the group-based communication system available to a corresponding team, wherein the second machine learning model learns additional relationships between the third data and the second data based at least in part on the training;
generate, using the second machine learning model and the additional relationships, one or more aspects of a message based at least in part on the classifier for the team generated by the first machine learning model; and
send the message comprising the one or more aspects to at least one user of the plurality of users associated with the team based at least in part on the classifier for the team.