User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We're organizing people into age buckets. For example: 0-20 yrs, 20-40yrs, 40-60yrs...

I'm struggling with how to best label the age buckets, there are two options:

  1. (A) Don't repeat the values, so: 0-19, 20-39, 40-59...

    The problem is, where does someone who is 19.5yrs go? The first or second bucket?

  2. (B) Repeat the values, so: 0-20, 20-40, 40-60...

    The problem is, in which bucket does someone who is 20yrs old go? The first or second bucket?

  3. (C) Another option is to be very explicit and show the following: '0 to less than 20', '20 to less than 40', '40 to less than 60'...

    The problem is that this is very long, clutters the UI, and doesn't fit in our chart axis

We're also doing a similar bucketing for company tenure, so 0-1yrs, 1-2yrs, 2-3yrs, etc - we want to ensure we're consistent across the board.

The user persona is non-technical users with no formal mathematical training, hence using set theory symbols such as [1-2) is not an option.

Any opinions? Suggestions?


I also agree that option A is best. However, another big point of confusing is when setting a filter of 'less than'. For example, saying filter on 'less than 3yrs' means you will only see the age buckets for <1yr, 1yr, 2-3yrs. However, the 2-3yrs bucket value will be different than the one you see without the filter - sans-filter the 2-3yrs bucket shows 2-3.999yrs and with the filter it will be reduced to only showing 2-2.999yrs

What do you guys think is the best way to handle this?

share|improve this question
I don't understand what's wrong with option A. If I'm 19.5, I'm still 19, right? I would never choose 20. People don't round their ages up :) – Rahul Feb 9 '12 at 1:24
Why are you organizing people into age buckets? What does it matter if someone is 19.99999 years old versus 20 years old? seems like just asking for birth year would be easier, and way more precision than you likely need. – Alex Feinman Feb 9 '12 at 14:16
As an aside, unless it's particularly required for your purpose, I'd consider putting the age boundaries on fives rather than zeroes (e.g. 0-15, 16-25, 26-35, 36-45 etc.) In western cultures, at least, turning 30, 40 etc. can be a bit of a psychological barrier, and I've certainly seen 40-year-olds who'll continue to classify themselves as "30-39" simply because they don't like to admit (to themselves, as much as anything) that they've turned 40. Turning 36 or 46, on the other hand, isn't so much of a big deal, so people are more likely to answer truthfully. – scottishwildcat Feb 9 '12 at 16:48
Just the clarify the purpose of this UI - it's part of a workforce analytics application (Business Intelligence) - the user would be an executive, line manager, or HR business partner studying their workforce demographics. We take in customer employee records and provide analytics such as demographics, staffing, etc. In this case, the user might be looking at employee Turnover broken up across company tenure or employee age buckets. Such a view would allow someone to see if most of the people leaving the organization are of low tenure or of a specific age group. – M.A.X Feb 9 '12 at 19:07
up vote 9 down vote accepted

Use option A.

Except in some east asian cultures, when saying how old they are, people almost always round down the time since their birth to the nearest year.

That is, for the entire period between 19 years of age and 20 years of age, people will fill out the age field of forms with "19". If you are 19.5 years old, or even 19.99 years old, you will still say that you are 19 years old.

There is a small edge case on and before birthdays. Some people increment their age at the midnight of their birthday, and some people increment according to the time of day they were born. Some people (like me) were born on the opposite side of the world of where they currently reside and are unsure which day to increment their age because of the timezone discrepancy.

If this is an issue, the best alternative option is to have people enter their birthdate and have the software automatically determine which bucket to put them in.

share|improve this answer
+1 for awesome reference. Having said that, I turn 30 in 2 months and you can bet that I won't be admitting it for a long time. – Rahul Feb 9 '12 at 1:59
I also agree that option A is best. However, another big point of confusing is when setting a filter of 'less than'. For example, saying filter on 'less than 3yrs' means you will only see the age buckets for <1yr, 1yr, 2-3yrs. However, the 2-3yrs bucket value will be different than the one you see without the filter because sans-filter the 2-3yrs bucket shows 2-3.999yrs while with the filter it will be reduced to only showing 2-3.0yrs – M.A.X Feb 9 '12 at 2:21
Why would "less than 3yrs" include 3.0? If you want to include 3.0 (and up to 3.999) then the right thing to say is "less than 4". – Erics Feb 9 '12 at 3:35
Sorry, the filtered bucket will be showing 2-2.999. Nonetheless, my comment still stands - the count for the 2-3yr bucket will be different with the filter applied (showing 2-2.999 with filter vs. the 2-3.999 sans-filter) – M.A.X Feb 9 '12 at 3:46
@M.A.X I think you're radically overthinking this. Build option A, put it in front of your users and see what happens. I've been surprised before (as has anyone who's tested things), but I'd venture a guess that most people will actually get away with understanding option A without too much trouble. Normal offline forms have worked this way for decades without being superconfusing, after all. – Rahul Feb 9 '12 at 9:44

Trying to give you an out of the box answer: How about having the user just enter his date of birth? Calculating in which group one falls is something the computer can do better than a user.

I you ask me in which age group I fall, I need to:

  • subtract 1976 from the current year (I never know my age by heart - I tend to underestimate this)
  • interpret the different groups and choose the right option.

Just choosing my birth year from a dropdown list or letting me type it in is much easier.

The only reason for showing the age group to an end user is for surveys where you want to give the user the idea that you are just collecting very general information, so to give the user a feeling of anonymity.

share|improve this answer
You never know your age by heart? I wonder how many other people suffer from this... idiosyncrasy :-) – Rahul Feb 9 '12 at 10:16
You may think this is funny, but really: no I don't. I always need to think, was it 34, 35 or am I already 36? Let's calculate: What year are we... 2011. So I need to... No, wait a minute it's 2012 already. So 2012 - 1796, that's.... euhm... wait, almost got it.... 26! No that can't be right, let me just grab my phone.... start calculator app... wait... almost there, OK, 36, got it!!! I am not joking. – Bart Gijssens Feb 9 '12 at 10:19

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.