Written by Patrik Braborec |
The landscape of data analytics has been through a few major revolutions that changed the way people work and operate with data.
The first revolution was a spreadsheet as a computer program instead of paper spreadsheets (tip: you can still buy one of these paper spreadsheets). Computer spreadsheets significantly changed the way people worked with data because they brought efficiency (faster data entry, calculations, and manipulation), accuracy (built-in error-checking), and things like automation and version control.
Another major revolution was the move from desktop data applications to web and cloud data applications, which GoodData helped to pioneer. Web and cloud data applications brought accessibility from anywhere and at any time, collaboration, scalability, integration with other platforms and tools, and much more.
Now, we observe another major revolution in data — Large Language Models (LLMs) no less — and GoodData once again acts as a pioneer in this industry. This article shows our approach to this major revolution, and how it significantly improves productivity.
Chat With Data
In the following sections, we show and demonstrate our approach to LLMs, and how it can speed up the building of analytics thanks to automatic generation of analytics objects such as metrics and visualizations.
It may be easily overlooked, but LLMs bring new capabilities to common productivity tools like search bars. People are used to a behavior where you ask something and get a list of results. LLMs could enhance this experience tremendously. You can transfer the list of results to the chat window, and start asking questions. For example, ask questions about your data. That’s exactly what we do in GoodData. We will not only generate analytics objects you asked for (visualizations and dashboards) but we will also give you the opportunity to chat with your data directly.
One more thing, because LLMs are good at understanding context, the autocomplete feature is now much better. It will “guess” what you are looking for, and thus it can help you to ask questions you didn't think of asking originally. Those who read The Hitchhiker's Guide to the Galaxy know that it is harder to ask a “great question” than to give a good answer. Thus an intelligent autocomplete is very helpful in order to ask good questions about your data! Let’s explore it!
Imagine you would want to know “gross sales by product category”. At present, you or your team's data analysts would write an SQL query, or create a report in a BI tool to find the answer. Wouldn’t it be easier just to ask those questions in natural language? We think it would! If you ask such a question in the GoodData it will generate a visualization that answers your question:
What next? Well, it is up to you. You can simply drill down, and ask follow-up questions just by using natural language, or continue the work with more traditional UI tools like drag & drop.
It is not always about asking and answering questions. Ideally, once you have an answer to a specific question, you want to save it for next time and avoid having the same conversations again. Therefore, it is good to have LLMs integrated into the standard analytics workflow. For example, once the visualization that answers “gross sales by product category” is generated, you go to the Analytics Designer and edit it, or directly add it to Dashboards (see the icons in the right top corner).
Fine Tuning of Insights
As mentioned above, you can easily drill down by asking follow-up questions. Imagine that you have generated a visualization that answers “gross sales by product category”, but you want to filter it only for last week. You do not need to figure out how to filter the visualization, you can just type the search box “filter it to last week”, and that’s it. This is a relatively simple, yet powerful example. If you think about it, it really simplifies working with data. You do not need to know SQL or learn the specific UI. You just need to know how to write and immediately you have the ability to ask any question you ever wanted — in natural language — about your data.
The Understanding of Context and Data
Nothing is perfect. LLMs are known to “hallucinate”. Sometimes the answers are just wrong. We think that the best possible solution for this problem is not to create just the best “prompt” but to show transparently why the particular answer is what it is. Let us briefly describe it using the following example:
- You ask the question “What were our gross sales last month?”.
- You get an answer, but it does not seem right — the result number seems too low.
- You are confused but you can click on the link “Explain”.
- You see the metric “Net sales” is used instead of the metric “Gross sales”.
- When you type "list all sales metrics", you discover the issue: the metric named "Total Sales" is being used instead of "Gross Sales".
What now? Well, you can either ask “What were our total sales last month?”, or write “Update metric ‘Total Sales’ with alias ‘Gross Sales’” which will improve the metric for next time (you will upgrade your semantic layer).
The New Standard for Querying Data
In conclusion, we as a data industry are currently going through another major revolution thanks to LLMs, and we hope GoodData is going to continue being a part of this revolution by focusing heavily on increasing productivity in analytics which will help you to speed up the building and maintaining of analytics. Users who use GoodData do not need to know SQL, or learn our UI. They can just ask questions about their data and GoodData will deliver the answers. That’s exactly where GoodData is heading because the new standard for querying data is the English language.
Would you like to learn more? The features described in this article are currently being tested in a private beta, but if you want to try them, please contact us. You can also check out our free trial, or ask us any question in our community slack!
Written by Patrik Braborec |
Subscribe to our newsletter
Get your dose of interesting facts on analytics in your inbox every month.Subscribe