TL; DR; version: Users are given the possibility to write stories about certain activities they took part in. The price of these activities can vary, so it would be a good idea to give them the option of specifying how much it cost them approximately. What is the best way to ask for a price range of something?

We're building a website where users would be able to write stories regarding certain activities they took part in (mostly related to travel).

It would be very useful for us if the users could also somehow explicitly write how much the whole endeavour approximately cost them. This way, we could, for example, make a search filter that finds only ones that were in a certain (wider) price range.

Initially, we wanted this simply to be an input box where they could write a number, but I can see two problems with this approach that may encourage users to simply skip it altogether:

  • Having the possibility of freely writing any number gives the impression you're expected to be precise, which can be difficult for these things and really isn't needed - all we need is an approximation.

  • The currency people express things in may vary. While we could have a dropdown box with all possible currencies, I feel that this too would make everything unnecessarily complex, considering we only really need an approximate.

Our second idea was to simply have a dropdown box with several levels, such as Cheap, Moderate, Expensive etc. This, too, isn't ideal since:

  • This is quite subjective and whether a person considers something cheap or expensive depends on too many factors, such as personal preferences, standard of living, income etc.

  • On the other hand, if each of these "levels" has a precisely defined range (for example Moderate - from $50 to $100), it's quite challenging to define these ranges. Should Expensive constitute of things above $100, above $500 or above $1000? How to decide this initially?

Is there a simple solution to this problem (or possibly any arguments we overlooked regarding these two ideas)?

  • Yelp's system is pretty good, I think, and would be worth looking at here. Essentially, they combine symbols ($) with numbers (e.g., $11-14), and text (e.g., "Cheap", "Moderate") for ratings. For example, if I'm asked to rate a restuarant, one of my options might be, "Moderate / $$ / $11-14". I think you could make some assumptions on cost tiers and remove some of the subjectivity from the equation.
    – Brian
    Aug 31, 2015 at 19:54
  • I like that approach, it seems similar to our second idea. Still, the question remains - how to initially decide on these cost tiers, considering our activities may cover a much wider price range than restaurants for example? Since I know this is impossible to know in advance, do you have any tips on how to help us decide?
    – fstanis
    Sep 1, 2015 at 10:44
  • You could pick a handful of activities and research how much they cost in various countries. For example, I doubt most of your visitors will be interested in visiting a Mcdonald's... but a Mcdonald's hamburger could be useful as a comparative price point. You could also create formulas to calculate the average disposable income in various cities, etc. based on public information about their economies. Sep 2, 2015 at 20:50
  • Also, some visitors may not feel comfortable sharing how much money they spent, regardless of how well you design the process. Different cultures have different attitudes about the privacy of their spending habits (or lack thereof)... Sep 2, 2015 at 20:54
  • For the data to be accurate, you need to ask for accurate data. I think the idea of explaining what each range in makes the most sense. You also have the benefit of stating what currency you want it in.
    – DA01
    Sep 6, 2015 at 3:15

2 Answers 2


I would provide a box to enter a number or a range of numbers, but precede it with a combo box to alert the user that exactness is not required.


download bmml source – Wireframes created with Balsamiq Mockups

Once you have sufficient data of what users have entered, you could use something like k-means clustering to derive natural cut points for tiers of amounts.

Like you, I don't think deciding the tiers up front is a good idea until you really feel like you understand what your users would want. I also think down the road it will be beneficial to have a specific number entered by the users for other analyses on that data (as opposed to tiers, whose definitions may change with time). I would provide the currency dropdown, but perhaps only have the top 8 if you want to reduce complexity.



What if you could have the User enter the amount manually?

Let's say I visited China and I've got a story to tell,

It cost me $4500.

Now, this would probably come in the Very Expensive range, right?

Once the user enters the cost manually, you could automatically assign it a Price Range in front of the User, in the form itself. Also, it needs to be an approximate, so that could range between $4000 - $5000 and it would still come under the same category.

I understand this might not be feasible for the User to get started with, but think of it this way.

99% of the people who travel will know how much they spent for the trip, at least their flight tickets, or at least give you an approximation.

Once you have gathered all this data of say a thousand users with their approximate pricing, you now know where your User-base stands in the price range. Let's say $1000 - $7000.

Now you need to only categorize it into Price Ranges in that range, and show the range to the user as a hint. If the price was higher, it would still range in the more expensive range you have.

If it's lower, it would still fall into the cheap range. This way, you'll be avoiding edge cases, while maintaining the best ranges your user-base falls in.

  • While I understand your reasoning, my main problem is not how to gather data, but rather how to easily communicate to the users that they needn't be exact (since, in my experience, when it comes to manual entry, most people will hesitate to enter anything if the field is optional and they aren't sure).
    – fstanis
    Sep 7, 2015 at 13:16
  • Before assuming what the users might enter, make sure to test it. I've worked in a startup where we thought a particular feature would be abused. However, it turned out, that feature was the most useful to the users. Always test before assuming. Sep 7, 2015 at 13:18

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.