My understanding is that you have an index with that three fields. If that is the case I would create a viz with a enhanced table with the following parameters:
metric: unique count of application_id field
bucket: split rows by “range”
Regarding the accuracy my experience is that you will not have issues if the index is small. I know using “small” is something not that trivial because we would need to compare the size of the index (shards) with the memory of the machines.
At least in older elasticsearch/kibana version it was possible to tune the precision threshold.