Skip to content

Statistics for Data You Already Have on a Grafana Dashboard

This is not an argument that you should stop using Grafana. It is about the question that comes after the dashboard: you can see that the two lines look related, or that the numbers have been creeping up since spring, and what you need next is a coefficient, a p-value or a lag in hours — none of which a dashboard is built to produce.

What Grafana is for, and is very good at

Grafana is a dashboarding and alerting system. Its job is to sit in front of a time-series database, show many panels of live data at once, refresh them continuously, and page somebody when a value crosses a line. It does that at any scale you like, for any number of viewers, against dozens of data sources, and it is open source. Nothing on this site does any of that and nothing on this site is trying to.

If your question is "what is happening right now", "what happened last night", or "tell me when this exceeds 30", Grafana is already the right answer and you should keep using it. A browser tool that reads a CSV is a worse dashboard than Grafana in every respect, including the ones that are not close.

The layer a dashboard deliberately does not have

A dashboard answers questions about VALUES: what is it now, what was it then, when did it cross the line. Statistical questions are about the RELATIONSHIP between values, and they have different outputs — a Mann-Kendall S and its p-value, a Sen’s slope with a confidence interval, a Pearson or Spearman coefficient with the number of readings behind it, the lag at which two channels line up best.

Grafana does not offer those, and that is a scope decision rather than an omission: a panel that refreshes every ten seconds is the wrong place to put a test whose answer is quoted in a quarterly report. The practical consequence is that people export a CSV and finish the job in Excel, R or a desktop package — which is the step this site is for.

The other difference worth naming is what comes out. A dashboard panel is a screenshot; the figures here are made to be placed in a report or a paper, exported as SVG or PNG at print resolution, with the method and its citation printed on the figure itself.

A workflow that uses both

The two fit together in the obvious order. Grafana watches the stream and raises the question; you export the window that looks interesting; you drop the CSV in here and get the number that answers it. Then the answer goes in the report and the dashboard carries on doing its job.

Nothing here needs an account, a connection to your database, or a network round trip. The file is read in your own browser tab, which also means the data never has to leave a network it is not allowed to leave — worth knowing if the reason your Grafana is self-hosted is that the data cannot go to somebody else’s server.

What you would still go elsewhere for

Anything live. There is no query language here, no connection to Prometheus, InfluxDB or TimescaleDB, no alerting, no refresh, and no multi-user anything. You bring a file.

Anything at genuine scale, too. This reads what fits comfortably in a browser tab — a season of fifteen-minute readings from a handful of channels is entirely unremarkable, a year of one-second data from two hundred sensors is not what it is for.

Common questions

Is there a Grafana plugin?
No, and there is no plan for one. A plugin would mean the analysis running inside your Grafana rather than in your browser, which is a different product with a different privacy story. Exporting a CSV and dropping it in is one extra step and keeps the file on your machine.
Can I keep the figure updating?
No. Everything here is computed once, from the file you gave it, and the figure you export is a fixed picture of that window of data. If you want it to keep moving, that is the dashboard’s job.
What format should I export from Grafana?
CSV, with the timestamp column included. The reader works out the separator, the decimal mark and the date order from the file itself, so you do not need to match a template. Excel workbooks are read directly too.

In short

Grafana is not replaced by anything here, and this is not a dashboard. One watches the stream and tells you when something happens; the other answers the statistical question afterwards, in a figure you can put in a report.