So you have just implemented NetSuite, a very comprehensive system which includes ERP, CRM and many other things. Cost savings have been achieved by making several legacy systems redundant, as NetSuite includes all of their functionalities. Then why would you consider implementing another system again? We often get this question when we start talking about Tableau to NetSuite customers.
The answer to this question consists of four components: legacy data, external data, performance, and advanced analytics.
Once you start using NetSuite, there is not much historical data available in the system. Active sales orders, open invoices, inventory, etc. are of course all migrated to NetSuite, but closed sales orders and paid invoices from the last 2 years are often not migrated. Therefore, in order to be able to answer questions like: “how much have our sales for productgroup X increased year-over-year?” or “for which products has our margin decreased compared to last year?”, or more advanced analysis like “what are the seasonal patterns in the demand for product Y, such that we know how much we have to produce?”, you will have to extract data from your legacy system(s) and from NetSuite, and then combine and analyse this data in a tool like Excel.
Answering such questions, for which historical data patterns are required, will become a very time-consuming and error prone task. Tableau makes this process a lot easier, especially when Cadran’s data model for NetSuite is also leveraged. First, the relevant data models for the legacy system(s) are created, which result in tables per subject area like ‘revenue’, ‘stock’, etc. These tables contain all necessary detail for creating reports on these subject areas. Secondly, Cadran’s data model is used to create the same tables for NetSuite. As a third step, these legacy tables and NetSuite tables are combined, which for example results in a ‘revenue’ table containing all sales invoice lines of the last three years.
By refreshing the NetSuite data model on a regular basis, for example once per hour, we can now easily create up-to-date reports in Tableau which compare this year to previous year.
Still, sales managers might not want to use several different systems in their day-to-day work. This is why we often integrate Tableau in NetSuite, using a functionality in NetSuite named portlets. These portlets essentially embed a Tableau page in NetSuite, resulting in single-application experience for NetSuite and Tableau. By using the same authentication mechanism for NetSuite and Tableau, for example Azure Active Directory SSO, users won’t even notice that they are looking at two different systems on a single webpage.
NetSuite has a very useful functionality to create reports, named saved searches. This functionality makes it easy to obtain real-time insights from your NetSuite data. There is a downside though: once many large saved searches are created, performance of NetSuite can be negatively impacted. By using Tableau to create these reports, this performance issue will not be present anymore.
In addition, large saved searches can take a while to run. The reason is that the data is obtained in real-time. Reports in Tableau are instantly loaded, as the NetSuite data is refreshed based on a refresh schedule. For example, we often see that there is no need to refresh sales reports more than once per hour. Therefore, the relevant NetSuite database tables are extracted to Tableau on a hourly schedule.
Consider that you have a production facility with machines which require maintenance every now and then. Every time maintenance is performed, it costs time and potentially materials. If you perform maintenance too often, this would mean that more time and materials are spent than necessary to keep the machine running. If maintenance is not performed often enough, the machine breaks down which results in lower production numbers. Therefore, in the ideal world, maintenance would be performed right on time.
Depending on the machine and the circumstances it is operating in, this could be very difficult to achieve. This is where predictive maintenance comes in. In essence, this is a machine learning algorithm which uses historical data to predict when maintenance is required. Relevant historical data could for example be the temperature, humidity, output since previous maintenance, etc. Such machine learning algorithms are available in programming languages like R and Python. And as R can easily be integrated in Tableau, this means that predictive maintenance can be applied and visualised in Tableau.
This is just one example of the advanced analytics which are made possible by Tableau and R. A similar approach would be used to for example analyse customer churn, which should result in higher retention rates.
Implementations of new systems can be costly and time-consuming. With Tableau for NetSuite, we have done two things to prevent this. Firstly, we have created standard data models and standard dashboards on many different subject areas of NetSuite. This saves the time of creating these from the ground up. Secondly, we work with a Minimum Viable Product approach. As further explained in this blog, this approach results in an implementation time of weeks instead of months, and requires only a minimal investment.
Do you want to know more about Tableau for NetSuite? Contact us by emailing firstname.lastname@example.org or by giving a call to +31 (0)33 2471599.
Jelle is mede oprichter van Cadran Analytics. Hij besteedt vooral tijd aan sales en project management. Ook duikt hij regelmatig de code in.