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.

Here's the algorithm I would run:

*

*Find peaks in the histogram. The data here is
$$[0,0,1,4,5,3,0,1,0,0,0,0,1,6],$$
so that the index into the array corresponds to the original data. That is, there are no $0$'s or $1$'s, there is one $2,$ four $3$'s, and so on. Any peak detection algorithm you would have to tweak, particularly with its window size (how many data points does the detector use at a time?). I would expect in this situation to find two peaks: $4$ and $15.$ Caveat: if your peak detector needs a bi-directional tapering off from the peak, then it might not find $15$ as a peak - that won't hurt in this particular scenario. If you need integer values, make sure to round the result, as a peak detector won't necessarily give you integer output.

*Find the median, which is $5.$

*Choose the peak in the first step that is closest (as in, the distance function $d(x,y)=|x-y|$) to the median, which would be $4.$
This strikes me as a reasonable way to get at what you want.
