This project is part of the hackaTUM 2021 Hackathon and takes on the challenge given by SAP.
Business Analytics meets Generation Z – Data Stories for the next Gen of Decision Makers
Inspired by the popularity of short-form videos in social media, we challenge you to explore new ways of presenting analytic business insights. How might we turn traditional dashboards and reports into self-explaining, animated data stories for Gen-Z decision makers of tomorrow? Show us how you would build an exemplary pipeline that converts data into insights, and insights into short-form animated content using state-of-the-art data science and web technologies.
The given dataset contains 3 years of sales records from some retail company, info about their products and stores.
Our project is called "Storey - Weekly animated report for your store". As the name implies, we focused on creating insights and reports for a single store to help an imaginary store owner / manager to understand what's going on without for example having to understand a far to detailed and complicated dashboard. So the goal of the project is to generate insights on a weekly basis and analyse important or unexpected events and generate a few short data stories. We present these data stories in form of short statements with very abstracted diagrams for context purposes.
This repository contains the code for generating the animated data stories. It is pretty flexible and easy to use and expand, because all the configuration is done in a single array.
The configuration looks like this:
const pages: IPage[] = [
{
statement: '*Prices in 2019 were on average *41% *higher than in 2018. Therefore the amount of sales was slightly lower.',
chartType: ChartType.BAR,
values: [12.144842, 17.290347, 24.388591],
labels: ['2017', '2018', '2019'],
},
{
statement: 'Average *revenue *per *day has increased *25% yearly.',
chartType: ChartType.LINE,
values: [1.735577, 2.049807, 2.581987],
labels: ['2017', '2018', '2019'],
},
{
statement: '*October 2019 has been *5% better than *September in terms of *revenue.',
chartType: ChartType.PIE,
values: [7339, 7713],
labels: ['Sep', 'Oct'],
},
];
It is pretty expand on this project by simply using something like a NoSQL database to store and get the page configuration from in order to automate the process. This database could be filled by automatic and dynamic data science / data analysis code which is searching for interesting insights.
The stories generated by this code could be recorded and sent to the store owners / managers or sent directly as an email.
And because this codebase is just a framework for animating statements with charts, it is possible to use it for whatever use case you have.