In my scenario, I have to process some input data and give a score based on what the processing phase outputs. The problem is that, in order to scale the score in a human-readable format I'd have to know what a possible maximum value could be.
As there is no knowledge about what a maximum value could be in reality, I have chosen to scale the scores based on the current existing maximum value. This approach can work well but is really disturbed by some obvious outliers.
My question is: what would be a more intelligent way to scale a given data instance besides picking a threshold that represents a maximum?
More context about the data: a series of information is received about a certain identifier, on which there are made checks for certain conditions. Long-story short, in this step it is just about counting appearances and multiplying them with individual weights, that add up to a score. One can think about this score as a multi-variable function.
This score is wished to be scaled so that it represents something more tangible to a non-expert reader. Instead of receiving the value of '239', one receives the value of '7.8', scaled in the interval of 1-10. In this way, by knowing that the maximum readable value is 10 and that you have a score of 7.8, you can make clear assumptions of your situation.
The data is not tied to a given point in time, but rather to an input that changes over time. Therefore, the values are quite dynamic and scaling them in the min/max way would give different results in different points of time, even though nothing changed about a particular instance (it just happened that a new instance appeared, that has a greater score).