We’re stronger when we work together. In our Partner Showcase, we highlight the amazing integrations, joint projects, and new functionalities created and sustained by working with our technology partners at companies like Billie, AWS, Google, and others. 

For analytics teams, trust is hard to gain and easy to lose. Especially when dealing with business data, trust in the figures is an essential element of every transaction. Billie, a Berlin-based fintech startup, offers online invoicing and payment solutions to its customers, mainly small and medium-sized enterprises and e-commerce companies. A reputation for stability and accuracy is critical in the fintech industry, dealing as it does with sensitive, high-impact data and security challenges. Billie makes trust a priority, so business users can rely on its data and feel confident with the services it provides. 

The team at Billie was willing to do whatever it took to make sure users had high-quality reports they could trust. However, the methods they had at their disposal initially couldn’t keep up with their growing user base and the ever-evolving world of big data. The solution was to build a new tool to keep errors out of user reports and deliver insights that every customer could trust. Read on to see how this enterprising team did it. 

The problem: Manually checking for errors doesn’t scale

Because of how delicate customer relationships can be, Billie expended considerable resources monitoring reported data for accuracy and fixing broken charts and reports before consumers could be affected. Users open their dashboards expecting every chart to be fully functional and accurate; if they encounter a broken chart, distrust of the dashboard or the underlying data is a natural reaction. 

However, at a lean startup with a BI team of three, manually checking dozens of dashboards every morning seemed impossible. VP of Business Intelligence Michael Hartmann describes the problem:

“When an upstream data model change was introduced, it took a few days for us to notice that one of our Sisense charts was ‘broken.’ Or even worse, one of the dashboard users would notice it first.” 

With that in mind, the developers at Billie came up with the idea to automatically test Sisense charts. Automation, as is so often the case, could handle rote tasks that had scaled up beyond human abilities to follow. The new system would work across charts, running the underlying query to verify execution, and alert the BI team first if there were any failures.

Breaking down Billie’s workflow

So, if you’re not going to manually check every chart and report every day looking for errors and broken features, how do you tackle a massive challenge like Billie’s? What could an automated system do to replicate this very granular task formerly performed by humans?

“While it’s not possible to programmatically interact with the dashboards or charts directly, we knew that all queries that are used as part of charts are stored in Sisense’s version control,” BI Developer Ivan Yeromenko explains. “This meant that we could access and test all of the charts by simply cloning the corresponding Git repository and running the code for each chart.” 

The workflow for what Ivan describes looks like this:

  1. Clone the Billie Sisense GitHub repository into a temporary workspace using an automation server.
  2. Convert the Sisense “dialect” of SQL into raw SQL code for each entity (either a view or a chart).
  3. Run the queries and store the results for later analysis of tests. Use LIMIT 1 for each query to reduce computational load.
  4. (Optional) Analyze the results and send a status update to Slack.

The Billie BI team has decided to share the code for their testing project to help other data teams using Sisense for Cloud Data Teams. 

“We believe this can help teams be more proactive and increase the data quality in their companies,” said Ivan. “The source code is uploaded to a GitHub repository and can be used right away if your Sisense is running on Snowflake. For any other database SQL syntax, the corresponding module may need to be adjusted.”

The Billie team knew that Sisense for Cloud Data Teams was the ideal platform to implement its OSS launch:

“Sisense enabled us to build this solution, first and foremost, by offering a Git integration that can be used as an API endpoint to access the data,” said Michael. “In some sense, it is even better than using an API, due to the simplified authentication process which can be delegated to the automation server (e.g., Jenkins). Sisense’s tool-specific SQL dialect is also as close to the original SQL as possible, enabling business users without advanced programming skills to explore the data by running simple queries as if they were working with a traditional database. On the other hand, it allowed us to execute all queries in our database with minimum prior code transformations.”

“I think it’s a really clever use of GitHub as a programming interface for Sisense,” said Scott Castle, Sisense VP and General Manager of Cloud Data Teams. “When we were designing our Git integration, we really saw it as the way to provide an API to Sisense. Because Sisense is integrated with Git in a programmer-friendly manner, clever extensions like this are easy to build and integrate into all sorts of development and deployment systems.”

The Billie team is happy with their product thus far and already has plans to improve the usability of the testing tool in the future:

“Currently, the chart names look pretty generic and are barely readable for nontechnical users,” said Ivan. “So one of our next goals would be to replace them with proper names that are already available inside the corresponding .yml files inside the GitHub repository. Moreover, it would be even better to hyperlink each chart name to the corresponding chart on Sisense, which should become possible in one of the upcoming updates. As for internal script improvements, we will keep working on our parsing mechanism and try to further reduce its robustness to various SQL coding styles.”

Better testing, better customer experience

Every company is becoming a data company, and once customers are used to interacting with data and analytics infused throughout your product, they expect that data to be accurate. The testing mechanism Billie created ensures that customers get reliable insights and prevents bad user experiences. End users aren’t even aware that these tests are running, and errors are fixed before they can be encountered in a live environment.

“That way,” said Anantya Sahney, Senior Business Intelligence Analyst, “we can keep up with the high level of expectations that stakeholders bring to our dashboards, contributing a small piece to our overall goal of nurturing a data-driven and customer-centric organization.”

Whatever you’re building for your users, the right testing protocols (automated and human-centric) can be vital to delivering a product they’ll trust and keep using.

Collaborating Effectively with Dashboards

Michael Hartmann, VP of Business Intelligence
With a Master of Science in physics, Michael has been working in data analysis and fintech since 2014. He co-founded Billie with a group of colleagues in 2017 and now leads the BI team.

Anantya Sahney, Senior Business Intelligence Analyst
With a Bachelor of Arts in economics and history, Anantya started off his career as an analyst at a fintech startup in Washington, D.C., joining the BI team at Billie in 2018. He works on reporting, analysis, and data modeling.

Ivan Yeromenko, Business Intelligence Developer
With a Master of Science in statistics, Ivan started his data career in 2018 at a gaming startup in Berlin, then moved to Billie to maintain and further improve the BI infrastructure.

Tags: | | |