15 Keywords

Banner for 15 Keywords

As an officer of Central Austin Toastmasters, I use Meetup to advertise my club and welcome new guests. Meetup allows me to set 15 keywords that best describe my club. It also lets you (a Meetup member) set keywords that describe your interests. Meetup uses your keywords to recommend groups that would interest you.

My goal is to attract more Meetup members so that more will visit my Toastmasters club. Hence, I should select keywords that are not only relevant to my club, but will also likely coincide with your interests.

Which 15 keywords should I use to attract more members?

I wrote a simple program to help me decide on these keywords.

1. Before

Until now, I used these keywords, based on my experience with Toastmasters and observations of what other Toastmasters clubs use on Meetup:

  1. Communication
  2. Communication Skills
  3. Education & Technology
  4. Fear of Public Speaking
  5. Leadership
  6. Personal Development
  7. Presentations
  8. Professional Development
  9. Professional Networking
  10. Public Speaking
  11. Self-Empowerment
  12. Self-Improvement
  13. Social
  14. Social Networking
  15. Toastmasters

Are these the best keywords to use? Take Fear of Public Speaking as an example. I do meet guests who say they joined Meetup to overcome their fear of public speaking. However, I also meet many others who don’t fear public speaking. They just want to improve their communication skills (Communication Skills or Self-Improvement).

Furthermore, should I replace Communication and Social with two new keywords? These seem to overlap with Communication Skills and Social Networking. How can I know what to do?

2. Analysis

As I mentioned earlier, Meetup lets you specify your interests so that it can recommend groups. I can look at your interests if you had set them to be public.

I looked at my user base (750 members) and saved each member’s interests in a text file. The text file was empty if the member had no interests or hid their interests. I used comma as delimiter, so I made sure to delete commas if they appeared in a keyword.

Next, I wrote a Matlab code that reads the text files and counts how many times each interest appears. The idea (assumption) is that, the more often an interest appears in my user base, the more likely it will appear in my future base.

To keep track of unique interests and their frequencies, I used Matlab’s Map object. In the present context, a Map is a function that maps strings (keys) to numbers (values). Clearly, a Map is more powerful than an array, which can only map integer indices to numbers.

Below is a part of my code that is relevant to discussion:

% Record the distinct interests and their frequencies
interests = containers.Map('KeyType', 'char', 'ValueType', 'uint32');

% Read the i-th user
for i = 1 : numUsers
    % Find the user's interests
    user_interests = [...];

    % Find if the user's interests exist in our Map
    interests_found = isKey(interests, user_interests);

    % Set the frequency of j-th interest
    for j = 1 : length(user_interests)
        if (interests_found(j))
            % Increment by 1
            interests(user_interests{j}) = interests(user_interests{j}) + 1;

            % Initialize to 1
            interests(user_interests{j}) = 1;


In Line 2, I initialized a Map object. For efficiency, I indicated that all of my keys will be strings and all of my values will be positive integers. I used Matlab’s isKey function to determine whether the user’s interests already exist in the Map object. This returns a Boolean array. Based on the Boolean values, I updated the frequencies of the user’s interests in the Map object.

3. After

Among 750 members, there were almost 2,800 unique interests. An average member had 19 interests (median), about 1/6 of members had no interests or hid their interests, and the “most interesting” member had 452 interests!

Most keywords that I had empirically used showed up on the top 100 list. This means, 7% – 40% of members included the keyword. A few keywords fell short, however:

  • Communication (0.0%)
  • Fear of Public Speaking (2.0%)
  • Personal Development (1.7%)
  • Presentations (0.8%)

Surprisingly, no one selected Communication. I suspect that this keyword, compared to Communication Skills, was too vague. (Presentations, likewise.) Self-Improvement and Personal Development mean the same, yet the former was 20 times more likely to occur in a member’s list of interests. This suggests that it’s important to pick the right words. Lastly, I believe Fear of Public Speaking occurred infrequently, because it’s a negative concept—something to which a person may not want to admit. It’s better to focus on the positives, such as Self-Empowerment and Self-Improvement.

Based on the top 100 list, I arrived at a new list of keywords:

  1. Communication Skills
  2. Creativity
  3. DIY (Do It Yourself)
  4. Education & Technology
  5. Intellectual Discussion
  6. Leadership
  7. Professional Development
  8. Professional Networking
  9. Public Speaking
  10. Self-Empowerment
  11. Self Exploration
  12. Self-Improvement
  13. Social
  14. Startup Businesses
  15. Toastmasters

I also considered giving keywords in the beginning and the end of the list more weight. The idea (another assumption) is, those in the beginning reflect why a member joined Meetup in the first place, while those in the end reflect the member’s current interests. It’s similar to primacy-recency effect in psychology, where items in the middle of a list are considered unimportant and easily forgotten. Assigning unequal weights did not significantly change which keywords appeared on the top 100 list.

4. Future

While I feel more confident in my list of keywords, I am not certain that it has brought in more Meetup members. It is too soon to tell. I will need to observe the rate at which new members join and study their interests.

In addition to interests, members can display which Meetup groups they have joined. These groups have their own list of 15 keywords. I believe these keywords can provide more information.

I can also consider when members last visited. Those who visited recently are more likely interested in what I have to offer. I can take their interests into higher account.


You can find the code in its entirety and a sample of member files here:
Download from GitHub

Leave a reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s