Ask HN: What do you use to communicate data analysis?

9 points by jasonjmcghee ↗ HN
I’m really curious what people tend to use to communicate the findings of research, analytics, ml experiments, infra costs / errors / usage etc.

Do most people use Google Slides? Or write a doc in Google or Notion? Or send around a notebook?

12 comments

[ 3.3 ms ] story [ 41.5 ms ] thread
Is the file format really important?
Not really- more curious what you think the right medium or how you tend to present data / work. Is a slide show the best way? Or a long form document, or a notebook, a website, something else?
Depending on the audience I use slides or notebooks. If it's a technical audience and people want to hear the details I use jupyter, because it allows me to mix code, markdown and visualisations. If the audience is only interested in the main results, then I use some slides with the principal results.
Depends on audience - If speed matters then just screen grabs of whatever I'm working in (Jupyter or RStudio) into an Excel workbook

If I have more time and it's more formal, then charts in a PPT

If more technical, then notebook (markdown)

Is it usually one and done? Or are they modified after the fact / kept up to date?
entirely depends on the requirements. however having said that, if your customer requests a quick one-off report you can guarantee they’ll ping you in a month asking for an update by 930am when they need to present updated results. if your customer requests a real time dashboard that requires bespoke data integrations there’s about a 50% chance they’ll look at it a couple times per month and then after a couple quarters just stop using it entirely.
Usually one and done with the occasional “can you refresh I need this for a presentation in <12, 24, 48> hours.”

They’re trying to justify some business value usually and once that’s been achieved you’re good to go

I preferred to use a web site. If you send data/analysis via email or documents then people lose them, can't find them, ask you to send them again. If it is on a web site they can always find it. If there is new data/analysis they can always find it in the same place. I used password protected pages if we didn't want the data to reach the public. A web site is also great when collaborating with another team or multiple teams across the world. I've used wiki pages also, which makes it somewhat easier to get the data into a presentable format, although not as useful for presentations as the types of formatting are limited. Using a content/version management system (cvs, git) is useful for archiving data and analysis and making sure it is timestamped and unaltered while still making it widely available, though only to people who are comfortable using such systems. Spreadsheets are my least favorite way of sharing data and analysis, they are so limited (try creating a billion row spreadsheet) but were sometimes necessary for generating graphics for papers. Really big datasets or very long time series graphs are a problem unto themselves, they typically can have only one primary residence (with backups) on a dedicated server and custom software to generate and view the analysis. Sending copies usually means sending hard drives. Raw data files are preferable to putting data into databases because you can write very fast code to do data processing. When you inevitably have to reprocess the data it goes quickly, which can be a lifesaver when faced with a deadline. Automatically regenerating the graphs, etc., is really useful also. Real time, live analysis generated from continuously streaming data generally requires something custom and depends on who needs to see the data/graphs.
Thanks for the thorough reply.

Websites definitely have great flexibility, but password protection (usually needed) does add an extra layer of complexity. GitHub Enterprise + Pages simplifies that if everyone has an account, but in my experience stakeholders often don’t. My other concern is with ownership transfer / long-term maintenance. Having it be backed by code adds some real friction.

I’m wondering if Zapier + Notion -> website might be a good alternative.

What kind of system have you used for live analysis? AWS (Kinesis, etc?)

We never needed to track who was using the web sites since it was only our group and related researchers, so there was just one password and everyone had it. The data displayed was not very sensitive. If you are concerned about ownership transfer and long term maintenance then using proprietary products is not a good idea, you never know when the company might fold or be bought or decide to do a total revamp of their products. Open source means you at least have a copy of the code. Writing your own analysis code makes it easier to change. If you are using commercial analysis code you never know exactly what it is it does. I've never found a good live analysis product or open source solution, maybe due to the fact that we were a research group and our needs were not typical. For example, we collected a huge amount of data from a campus wireless network over a decade or more. The format sometimes changed as the campus network changed, so multiple custom processors were needed and the analysis we wanted was nothing like what a network manager would want for day to day operations (e.g., tracking the kinds of devices the student population used by semester.) We wrote parsers to extract and clean up the data, automatic feature extractors, we automated the generation of graphs and status data using gnuplot with the output automatically posted as a way to make sure the data collection was functioning ok. We used an open source principal components analysis tool and ran extraction and analysis scripts in batches to automate analysis. You can find some of the details here:

https://cs.dartmouth.edu/~dfk/research/project/wifi-measure/...

Amazon Kinesis looks interesting, it didn't exist when I was doing this kind of work. We had to process a lot of video at times which was used as ground truth for training ML algorithms (e.g., to detect when a person was eating). The automated tools at the time for processing video were not capable of that kind of determination so we used Mechanical Turk (or a Chinese equivalent). Kinesis does not seem capable of doing something like that, you'd still have to write your own ML algorithm to extract features (eating, not eating) and if you trust that well enough to be ground truth for training a ML algorithm why even use it to generate training data, just use it directly. For data streams Kinesis looks like it might make ingestion easier, but it is still up to you to create the data analysis tools. If you can use their analytics, then great, but if you are doing something new you'll still probably end up writing your own analysis code. And then you are tied to Amazon and are paying them for CPU time, network traffic, storage, etc. AWS and related services are probably going to be stable long term to some extent. Last time (6 years ago?) I considered using AWS for dealing with a lot of streaming data the network data transfer costs were too much for us. We would have had to move data in and out of AWS often and it would have cost us more than our entire grant funding.

Really insightful, thank you for taking the time to give such a thorough account.
Depends on the audience. Anyone non-technical will see a lovely PPT. Other technical teammates will see my CometML dashboard, but may also see the PPT in addition if there is business impact that has been quantified and needs to be shared. I'd only be sharing a notebook if I was helping someone do something similar, I don't normally do anything fancy with my notebooks.