At Kyso we’re building a central knowledge hub where data scientists can post reports so everyone — and we mean absolutely everyone — can learn from them and apply these insights to their respective roles across the entire organisation. We render tools used by the data team in a way that is understandable to all, thus bridging the gap between the technical stakeholders and the rest of the company.
But while we provide a space for data engineers, scientists and analysts to post their reports and circulate internally, whether these reports will be turned into business actions depends on the how the generated insights are presented and communicated to readers. Any data team can create an analytics report, but not all are creating actionable reports.
This article will discuss the most important objectives of any data analytics report and take you through some of our most vital tips to remember when writing up each report.
The final goal of any data exploration & analysis is not to generate interesting but arbitrary information from the company’s data — it is to uncover actionable insights, communicated effectively in reports that are ready to be used around the business to take more data-informed decisions.
To achieve this, there are three underlying guidelines to follow and to continuously refer back to when writing up data-based reports:
Now let’s dive into the details — how to actually structure & write the final report that will be shared across the business, to be consumed by both technical and non-technical audiences alike.
As with any other type of content, your reports should follow a specific structure, which will help the reader frame the report’s contents & thus facilitate an easier read. The structure should look something like:
Who is your report intended for? If it’s for a sales lead, emphasise the core metrics by which their department evaluates performance. If it is for a C-level executive, it’s generally best to present the business highlights rather than pages of tables and figures.
Keep in mind the reason they have requested the report & try not to stray from that reason.
As mentioned already, explain clearly at the beginning what you’re article is going to be about and the data you are using. Provide some background to the topic in question if necessary & explain why you are writing the post.
Determine the logical structure of your argument. Have a beginning, middle, and end. Provide a table of contents, use headings and subheadings accordingly, which gives readers an overview and will help orientate them as they read through the post — this is particularly important if your content is complex.
Aim for a logical flow throughout, with appropriate sections, paragraphs, and sentences. Keep sentences short and straight-forward. It’s best to address only one concept in each paragraph, which can involve the main insight with supporting information, such that the reader’s attention is immediately focused on what is most important.
Never introduce something into the conclusion that was not analysed or discussed earlier in the report.
Writing a strong introduction makes it is easier to keep the report well structured. Your introduction should lay out the objective, problem definition and the methods employed.
A strong introduction will also captivate the reader’s attention and entice them to read further.
The facts and figures in your report should speak for themselves without the need for any exaggeration. Keep the language as clear and concise as possible.
An objective style helps you keep the insights you’ve uncovered at the centre of the argument.
It is always best to keep your report as clear and concise as possible. By including more information that, while useful, is unnecessary to the core objectives of the report, your most central arguments will be lost.
If absolutely necessary, attach a supporting appendix, or you can even publish a series, with each report having its own core objective.
There are many visualisation tools available to you. For static plotting or for very unique or customised plots, where you may need to build your own solution, matplotlib and seaborn are your answers.
However, if you really want to tell a story and allow the reader to immerse themselves in your analysis, interactivity is the way to go. Your two main options are Bokeh and plotly. Both are really powerful declarative libraries and worth considering.
Regardless of the one you choose, we recommend picking the one library and sticking with it until there’s a compelling reason to switch.
Altair is another (newer) declarative, lightweight, plotting library, and merits consideration. Check out its gallery here.
While Plotly has become the leader for interactive visualizations, because it stores the data for each plot generated in the user’s browser session and renders every interactive data point, it can really slow down the load time of your report if you are working with multiple plots or with a very large dataset, which negatively impacts the reader’s experience.
If you are generating a lot of graphs or are working with very large datasets but wish to retain the interactivity, use Bokeh or Altair instead.
Charts, graphs and tables are a great way of summarising data into easy-to-remember visuals. Try not to break-up the flow of the report with too many graphics that essentially show the same thing. Pick the chart, graph or table that best fits with the paragraph and move on to the next point.
When plotting make sure to have explanatory text above or below the chart — explain to the reader what they are looking at, and walk them through the insights and conclusions drawn from each visualisation.
Label everything in your graphs, including axes and colour scales. Create a legend if necessary.
When writing a report that is intended to be consumed by non-technical business agents throughout the organisation, hide your code. How you generated your graphs is not important for these users, only the visuals and the insights they display are.
Naturally, if you are writing a guide or a particularly technical post for your fellow data scientists and analysts, in which you are constantly referring to the code, you should show it by default.
And there we have it! 10 tips to follow every time you are writing up a data-based report. A note on the conclusion — don’t just taper off at the end of the article or finish with the final point in the main body. Give the reader a quick summary of what they have learned, explain how the insights gained impact for the business and how they can apply this knowledge in their work.
Be sure to also make your analysis reproducible for your fellow creators throughout the company — it’s always a good idea to follow coding best practices when developing a data science project or publishing research, including using the correct directory structure, syntax, explanatory text (or comments in the code cells), versioning, and, most importantly, making sure all relevant files and datasets are attached to the post. Have a call to action — perhaps a recommendation for extending the analysis.
And finally, last but certainly not least, add an appropriate title, description, tags, and preview image. This is important for organising the team’s work on whichever curation system you are using — presentation is key.