BI platforms evaluation: Mode Analytics
As promised, here we brought you the first of the many Business Intelligence software reviews to help you better choose the right platform for you or your business.
Mode is an online analytics platform with powerful integrations that help data scientists push further analysis and specialized visualizations.
Our evaluation
7 (out of 10), Mode is a nice tool, powerful if you consider Python and R integrations. Though we find it an interesting and powerful tool, it is more suited if your company has technical people such as BI developers, Data Scientists, and Front-End developers. It is not so friendly for regular business users since they will need a good knowledge of SQL, Python, R, HTML, CSS, and Javascript to unlock the full power of Mode. It counts with a security layer but nothing fancy. It uses collections and database permissions, but there is no security at the schema, table, or row level.
You also can schedule (or subscribe to) reports. You can set a specific timetable to send an email or a Slack message, attach Html, CSV, and pdf. Filters added to the report are not available at the moment of creating the schedule. If you need to filter your data you need to create parameters, add default values and add those parameters to queries. Then you can change parameter values in the scheduler. One thing to notice here is that reports are updated on-demand, so if you want to update them forehand you can create a schedule to refresh the data at specific times.
While most visualizations for day-to-day needs are available and intuitive, some more advanced chart types offered on other BI tools are still missing on the platform (e.g. clustered stacked bar graphs). Something positive about the Mode team is that they are extremely receptive to user feedback and constantly evolving to add new features. Also, there are a lot of libraries (most of them free) for you to use; again, specialized help may be needed.
We've also found that there is some lag time for data to populate when there are multiple charts in the same report, or when changing the filters/parameters. This lag time when processing a report is not found when designing a chart, whereas this waiting time has been found in other tools.
Two interesting features are paid as an extension to the annual licensing payment: external embedding (it doesn't need users to be logged in order to see the charts), and external sharing (through the scheduling feature). The pricing of these features is similar to the licensing, so if you want them you need to pay x3 your annual licensing (on average).
Features overview
1. Databases and Workspaces
Mode allows you to easily create different workspaces to organize users, data, and dashboards.
Different data sources can be connected to Mode such as MySql, PostgreSQL, Redshift, Snowflake, BigQuery, Databricks, Azure SQL Database, etc. It also provides a bridge connector option if data is behind a firewall or VPN or VPCs.
2. User Management
Login options could be managed by the admin, such as username and password, through Google, Slack, Office365, and via SAML (Single-Sign-On) with providers as Okta, Duo, AWS Single Sign-On, etc.
Security is conformed by a combination of private Collections (group of reports) and database connection permissions to control view and edit access to reports.
Groups can be created with a unique set of permissions to control access to specific database connections and/or collections memberships.
You can also set specific permission for users to access databases. Different kinds of access are view, query, and manage.
3. SQL editor
The editor is intuitive and straightforward to use. It lets you select a database (there's a helpful search functionality). The editor itself comes with code highlighting and formatting, shortcuts, a nice autocomplete feature, query history where you can see the performance of your query, how SQL is rendered, and debug errors.
4. Semantic layer
You cannot specify models, data types, custom metrics, or globally calculated columns. Those should be created/prepared at the DWH/database level.
Though no specific semantic layer is clearly provided you can declare templates with your SQL queries in order to share definitions. These are custom SELECT statements that can be referenced in any SQL query. These definitions allow users to write business logic in one place and share it across multiple reports and users—simplifying complex queries, reducing repetitive tasks, and ensuring consistency. Liquid language and parameters are available when creating these SQL templates, and they also can be used directly in the SQL editor.
5. Visualizations
After a SQL query runs successfully in the SQL editor, the next step is to select one visualization. Some common options will be table, bar, line, scatter, area, and pie charts. You can set filters at the chart level, and select currency, labels, dates format, percentages format, colors, granularity, aggregate functions, etc.
Every SQL result can be related to several and different visualizations.
Mode comes with the ability to create calculated fields that can be used through all your visualizations in the same query. New metrics can be built on the visualization layer, as well as aggregating.
6. Notebooks
After you get your query results, another way to proceed with the flow, instead of one of the viz provided by Mode, is to use the Notebooks feature. The notebook environment enables a rapid code iteration for data manipulation, statistical analysis, and advanced visualization using powerful languages: Python and R. This is helpful for experienced users to push the limits of conventional analysis via SQL.
There are also various pre-loaded Python and R libraries ready to be included and used in your code. Additional libraries can be added manually if needed.
One of the best advantages here is having different SQLs queries consuming data from different databases and combining those datasets in your Python or R code.
Finally, there are a lot of custom visualizations in those languages that you can include in your report/dashboard.
7. Report/Dashboard
Following the Mode flow, after creating your queries and having all the visuals you need, you can use the “Report Builder” that provides a simple interface for dragging and dropping the components in a simple grid.
There are a lot of themes you can use to customize colors, fonts, and styles.
This editor also comes with an HTML Editor to modify the underlying HTML and CSS for report layout. By editing the report HTML, you can create visualizations using libraries like D3.js or Mode’s own JavaScript library, alamode.js. Different parties are always sharing free libraries you can use.
8. Report sharing
To finalize the flow, you need to share your reports with your stakeholders. There are multiple ways to accomplish this. First off, all members of a collection can have access to your report. Then you can share them via email with other members of the workspace. The email can include a report preview, HTML table summary, report links, CSV, or PDF output.
Also, they can be shared using a Slack integration or sharing the report link (last time run or specific run).
There is a scheduling feature as well. You need to create your queries by adding as many parameters in the query as needed. Then those parameters can be given a value when setting up the schedule. No filters are supported yet when using the scheduler.
Finally, you can embed your reports in existing sites or applications. To enforce security, you can restrict users' ability to see specific data.
9. Webhooks
Webhooks are used to notify other applications when events happen within the Mode environment. Webhooks are frequently used to trigger other applications through tools like Zapier, to alert users when Mode report runs are completed, and for enhanced logging of activity within Mode.
10. Github
Another useful integration is Github. Once you've created a new report you can simply click to have all your changes committed to your repository, and even can write a comment for keeping updates documented. Pushes are mostly automatic at the moment of modification but you need to commit new reports. The Github integration synchronizes standard definitions, reports, or themes to all Mode users in the workspace. Your repository will work like any other Github repository, you can branch, modify, and then merge into master (to make changes visible in Mode).
11. Mode's API
Mode also provides an API that can be used or integrated into your applications. Some of the frequently accessed functions are collection and workspace management, granting permissions, administration of reports, manipulating SQL queries, filters, exporting results via JSON, CSV, or PDF, and managing schedules.
12. Embedding
An Internal Embed built using your private data is only visible to logged-in members of your Mode Workspace who would otherwise have access to the underlying report. It can also be embedded in a private wiki, for example. You need a user for each member of your company who will have access to that wiki, and they have to make sure to sign in to Mode in another tab of their browser.
A White-Label Embed (WLE) is the other option they offer. You need this feature if you're sharing embedded reports with users that are not logged in into Mode or users that don't have access to the workspace where the report is at. Some minimal processing is required in your host site to manage security and to pass values to parameters (for example, only show regional data, or values belonging to a particular customer). Usually, WLE lets you see reports without Mode branding, but with reduced viewer interactivity (i.e. some drill-down features are disabled). You can also enable/disable downloading CSV data from the underlying report results. CSS is supported if you need to change the style of your embedded report. Also, some elements (a chat, a title, etc) can be instructed to hide.
Lastly, it is worth mentioning that reports can be embedded into a Salesforce page layout as a VisualForce page.
13. DBT data integration
Mode’s DBT integration allows users to view metadata about data freshness from DBT directly in Mode reports. The integration allows Mode users to present information about when source data was last refreshed for a report, by mapping the tables used in the report to DBT models.
Thanks for reading and stay tuned for more specific BI platform evaluations coming soon.
Dynamic Data.