I have created a gift website where I want users to find gift suggestions based on a series of questions. To display the questions and search results I have two panels on the screen:

Panel 1: Search criteria (number of questions on rotating slider) with a Find More button. Initially, I'm showing only 2 questions/slide. When the user hits Find More more questions will be shown in the next slide, and so on.

Panel 2: Search results are shown on the basis of questions answered. Initially it shows default options which are removed/refined once the user answers the first two questions.


download bmml source – Wireframes created with Balsamiq Mockups

Questions are in following order:

  1. Gender
  2. Age
  3. Price
  4. Relationship
  5. Occasion

I'm not confident that the order I've chosen to display the questions is the most effective for coming up with good search results quickly.

Is there research on gender, age, price, etc heuristics and their effectiveness in returning useful search results for similar situations? Is there a standard for displaying heuristics like these?


There are more questions like mood, personality etc. But the five I'm asking about are the first, and most important, questions.

If Gender doesn't come before Relationship, that means there will be significantly more options in the Relationship drop-down, which can be cumbersome to navigate. Filtering by Gender first means that the system can remove options for the user from the Relationship menu.

Once the user hits Find More, the Suggestions for You items will be changed with relevant data and the search (top) panel will add more questions to filter the search further.

Also, all the questions are not necessary to move on. For example, the user could check Female from the Gender check boxes but not select a specific relationship before clicking Find More.

Edits directly from @Hem's "answer"

I'm confused with age verse occasion. Age slider help developer to fetch the relevant data but not the user. i guess occasion is more relevant for user but it is just my hunch without any solid facts

@Deer Hunter, yes logically questions are related to recipient, if you notice i have added price also to filter/help user to select gift as per his/her budget.

  • can you post a screenshot ?
    – Mervin
    Commented Feb 10, 2013 at 18:32
  • It is unclear whether the data relate to the recipient (logical) or the donor (illogical, but some people often are, hence increased bounce rate). Please remember that 'acceptable' gifts (not too cheap not too expensive) vary widely across cultures, and your questionnaire may be missing one of the main correlates. Commented Feb 10, 2013 at 18:58
  • Can you please mark an answer as correct, or add additional information for users to understand your question more clearly.
    – HeyCameron
    Commented Apr 22, 2013 at 21:40

3 Answers 3


Michael Lai's second point touches on something I think is quite important. You want to order your questions/filters so that the user gets to the relevant products quickly. You want to have questions which split the data as evenly as possible.

I think the best way to think about this is using decision trees:

                     (100 products)
                  /                 \ 
             Male (20)             Female (80)
                /                     \ 
             [Age]                  [Price]
          /         \            /           \
       0-17 (5)  18+ (15)   <= $100 (60)   > $100 (20)

In the above example, we are splitting by gender first. If the gender was male, we are down to 20 products, and we next ask about age. Otherwise, we have 80 remaining products, and we next ask about price. This produces a tree that will give between 5 and 60 results, depending on the answers given.

Now, perhaps this is not the best tree. Suppose our goal is to split the data as evenly as possible. Our first question of gender split the data into 20:80 ratio. Ideally, we would split into a 50:50 ratio. (A better goal is perhaps to split the tree as quickly as possible, which would require information on now frequently each search occurs).

We can use some maths to work out which variable we should split on. Suppose we have the following possible categories:

Gender  |  Age  | Price   | # Products
Male    | 0-17  | <= $100 | 2
Male    | 0-17  | > $100  | 3
Male    | 18+   | <= $100 | 17
Male    | 18+   | > $100  | 8
Female  | 0-17  | <= $100 | 30
Female  | 0-17  | > $100  | 10
Female  | 18+   | <= $100 | 20
Female  | 18+   | > $100  | 10

A simple but decent solution would be to select each question by how evenly it splits the data. You can get quite mathematical if you want, but 'doing it by eye' is not a bad method. (If you want to get a little more sophisticated, you can look at calculating something like entropy for example). So for the first node:

  • Splitting by gender gives ratio 30:70
  • Splitting by age gives ratio 45:55
  • Splitting by price gives ratio 69:31

So we select age for the first node, as the ratio is quite close to 50:50. Suppose the next question asked depends on the user's previous answer.

If the user answered Age = 0-17:

  • Splitting by gender gives ratio 5:40 = 11:89
  • Splitting by price gives ratio 32:13 = 71:29

So we may choose to ask price next.

If the user instead answered Age = 18+:

  • Splitting by gender gives ratio 25:30 = 45:55
  • Splitting by price gives ratio 37:18 = 67:32

So in this case, we would ask gender next.

This approach will give you some guidance to which questions are worth asking and which are not. It is not perfect, and should only really be there to give you some guidance. Obviously, there may be questions that are not appropriate to ask first (for example, asking about price requires that a user has a particular product in mind).


Card sorting can give you better results.

I would sort it this way 1.Occasion 2.Relation 3.Age 4.Price 5.Gender (I have placed Gender finally , because "relation" almost answers the gender question too)

  • I don't 100% agree that card sorting gives you better results; you just get loads of people opinions on what order they prefer. How do you know if any particular order would actually result in more form conversions?
    – JonW
    Commented Feb 11, 2013 at 14:45
  • I do accept. We cannot depend on Card sorting alone 100%. But it gives good insights about the priorities of users. From the Business perspective, we will have our own hierarchy, But its always good to do card sorting. It will help us to solve findability problems.
    – D K
    Commented Feb 12, 2013 at 5:47

My general approach/strategy would be to plan your design based on some assumptions, then test them out and modify the interface as required. So the things you need to think about, and perhaps make some assumptions on would be:

  1. Should the user filter before searching or after? This will depend on whether they know what they are looking for, or they want to browse through options. If they know what they are looking for then you should help them remove unwanted search results before the search. If they don't know what they are looking for then you should help them organize the search results so that they can discover what they might want.

  2. Which categories will create the biggest constraints/freedom? This depends on the inventory that you have. For example, in general you might think that broader categories (e.g. gender) will rule out half of your options, but if you have more male compared to female items then this won't be the case. Users will find it frustrating if they click on a search criteria and suddenly get very little or no results if they are browsing, so try to give them more options. It also depends on how narrow you define the sub-categories.

  3. What are the logical relationships between the categories? For example, gender may be related to the occasion if it is Valentine's Day, whereas age doesn't necessarily affect the price. Things that are more related should be grouped closer so the user can see the relationship better.

Then it is just a matter of working out how these relate to your design, how to make the layout look nice and clear, and then test and see if the assumptions you have made about user behaviour is correct with respective to your application. Based on your results you can then refine the polish the design until you get the best results.

  • I like the 2nd point but should not user get accurate data while searching rather than lots of options. Freedom, some time can create confusion while choosing the right option
    – UXbychoice
    Commented Mar 11, 2013 at 10:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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