A snapshot tells you nothing
"200 players online" means opposite things depending on what happened yesterday. Why MCStat is built around history rather than the current number.
Anyone can query a Minecraft server and get its current player count. That number, on its own, is close to useless.
The same number, opposite meanings
Two hundred players at the quietest hour of the day is a healthy server. Two hundred at peak, down from two thousand a month ago, is a server in trouble. Identical figure, opposite conclusions, and only the history separates them.
This is why MCStat is built around what happened rather than what is happening. The current count is the least interesting column on the page.
Missing data is not zero
Collecting history continuously means measurements sometimes fail. Servers restart, change address, go down for maintenance, or simply do not answer in time.
Recording those as zero players is wrong, and it corrupts everything downstream: a brief network hiccup becomes a cliff in the chart, and the daily average that gets derived from it is quietly wrong forever. A failed measurement has to be stored as absence of data, distinct from a measurement of zero. The chart then shows a gap, which is the truth.
This distinction comes up everywhere in monitoring and is painful to repair after the fact, because you cannot tell the two apart retroactively.
Resolution should decay
The value of a measurement drops sharply with age. Nobody needs minute-level detail from eight months ago; they need a daily average. Keeping recent data at full resolution and aggregating older data down is what keeps a growing history from becoming unmanageable.
"I did not get an answer" and "the answer was zero" are different facts. Storing them the same way ruins the chart.