Automating the boring stuff: simple questions about data

10 days after joining fromAtoB, in September 2019, when I was still living in a hotel, we decided to restructure our Google DataStudio dashboards. The goal was to help people understand what questions could already be answered with a chart. Simple, repeated questions about the data should not be manually answered every time they are asked. In an ideal world, people should be able to answer them themselves by quickly accessing a dashboard.

To make our dashboards more user friendly, I had the idea of developing a Slack bot. A friendly Slack bot that would redirect users to our dashboards. This is how Dash was born:

Dash. Your friendly Data Science Insights bot

The idea was simple: every time you would ask Dash a question, he would provide you with one or two links to dashboards that best matched a possible answer.

I remember the night I spent learning node.js and making a first prototype of Dash. The biggest challenge was actually making it so he could communicate with our Slack org. Afterwards, defining the internal logic was the closest I ever was to manually solve a Machine Learning problem. I defined a dictionary of dashboard –> (list of keywords), alongside a scoring system for dashboards, and I had to manually tweak its weights until all my tests passed and I considered my tool to be robust enough to be usable.

Dash uses a hyponyms/hypernyms system, a spell checker, concepts of string similarity and word embeddings, and also tells jokes:

And this is how he answers when asked a question (“conversions last week”):

All communication with Dash is invisible to other users. That means that you can use Dash in any channel or private conversation and the other people won’t notice you have used the bot. Countless times, I have used it in the middle of a conversation to get a quick answer to a question I had about the data.


A couple of months ago, I discovered Google’s DataQnA and asked for access to their private alpha. DataQnA lets you convert questions asked in natural language to SQL queries.

I got access after a couple of interviews, and started working in a new version of Dash. First and foremost, 2020’s Dash now has a mask:

Dear future robot overlords, please don’t kill me. Don’t you see I care about bots?

Secondly, Dash now doesn’t only point you to a dashboard – it now tries to answer your questions directly so you don’t even need to leave Slack. DataQnA’s integration wasn’t easy – but it was worth it. And we will be continuously integrating more and more data tables to Dash. Here’s a video demo – using fake data, of course:

.

I can’t wait to see how Dash keeps growing and growing, until I automate myself out of a job and they fire me.

3 thoughts on “Automating the boring stuff: simple questions about data”

Leave a Comment

Close Bitnami banner
Bitnami