What measure can I use to select a number from a dataset which future values will most likely be closest to? Say I have a dataset that shows me the number of times per day someone has used a mobile app that I have developed.  And that dataset (after sorting) looks like this:
[2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 7, 12, 15, 15, 15, 15, 15, 15]

I want to return a number that I would bet is the number of times the user is going to use my app tomorrow or awfully close to it.  (Assume that I don't care about the order that these numbers were originally reported in the past 21 days.  I only want to predict and return a number based on magnitude alone.)
As a human analyst looking at this dataset, I would bet on the number 4.  The reason is not only are there a lot of natural occurrences of 4 but there are a lot of numbers that are awfully close to 4.
Is there a measure or existing algorithm that will return 4 from the above dataset?
Things I've tried:
The mode of this dataset is 15.  While this is interesting to note, I consider 15 to be an outlier in this set, as there are more values closer to 4 than 15.
The mean of this dataset is 7.5.  We are getting closer to 4, but the value closest to the mean - 7 - only occurs once.
The median of this dataset is 5.  Getting really close now, but still not what I want since there are only a few occurrences of 5.
The first quartile is 3.5.  This would be close enough, but I think it is luck that this happens to be close to the number I want.  I feel like with a differently distributed dataset the first quartile might be off.
I am a statistics novice, so there might be concepts regarding how to break down this problem that I am not yet familiar with.

I would use the median, because it should be at or near the most likely number of times the next random user would use your app.  Even if there are few occurrences of it in your data now, if you're looking at a random user in the future, then it would be closest.
If you want to know how many times the app will likely be used (across all users, not just the next single random user), then the mean would be appropriate. That would give you the average number of usages of the app by all users.
You have a wide range of users' usages of the app, with several at 15.  If possible, you could do a regression to predict how many times the app will be used by what kind of user.  But you would have to have knowledge of the users, such as gender, age, time of day or other things AND these would have to be viable predictors of app usage in a regression model of your data in order for you to use it to predict future usage.
If you were a betting man and wanted to bet on the most likely number of times the app would be used, you should use the mode of 15---but be aware that most users would not use it 15 times and you would be wrong most of the time, although less wrong than choosing any other single number.  If you choose the median of 5, then 5 and it's nearest neighbors of 4 and 7 would collectively occur 9 times and be more likely than 15, which only occurred 6 times.
So it really depends on what your goal is: predicting what the next single user will do approximately, or taking a gamble on the most likely precise number of usages the next single user will do, or predicting the number of usages across all users.  You can predict how many times the next single user will use the app appoximately by using the median; or take a gamble on a precise number and go with the mode, but knowing this gamble would be wrong 5 out of 21 times (or 72% of the time). For the predicted average number of usages (across all users)  you would use the mean.   Of course, all of this is based on your particular data distribution which you provided.   With ideal data (which yours isn't), the mean, median and mode would all be the same in a bell-shaped normal distribution and that number would be the one to use.
Some of the above answers suggest finding the number you want by incorporating a PREDICTED number in a formula---but you need to find this predicted number in the first place, which is the crux of your question!
