Business

Online Platforms: Building Shoulders To Stand On

Posted by admin on April 02, 2014  /   Posted in Business, Web Development

Background

I often heard that today, we are living in the “golden hours” of the Information Era where the advances is nothing short of incredible.  Example? For the first time in the known history, we became one global society.

The question now is — as those who surf would often ask — where is the next big wave?

We at nextCoder believe that the Online Platform (Software as a Service or SaaS is another name for it) sector has reached the condition where one of those big waves might happen.  And a lot of software development companies (including us) are gearing up and getting ready to ride this wave. And a lot of Business Intelligence and Data Analysis companies (including us) are getting ready for this also.

What Qualifies As An Online Platform?

The first thing to be clear about is that an Online Platform is not simply a website or a web application.  There are millions of websites out there going up and down, and there are millions of web applications developed either for private usage or public.  Obviously not all of these can be regarded as platforms.  So let’s take a look at what is it exactly that separates a website or a web application from a real Online Platform:

  • Free or available at a lower cost for the users
  • Non-exclusive systems, the more users, the better it is
  • It is continually being developed and improved
  • Users produce content or other platforms within the platform

Who are these Online Platforms Users?

The users are the bread and butter for an Online Platform. Without its users the platform is … well, useless.  And just like how it is for businesses, the type of the users or customers can be divided into two broad categories: B2B and B2C.

Each of these categories have its own characteristics and determines how the Online Platform would have to be designed, constructed, and maintained.

B2B Online Platform users are using the system within the context of their respective companies.  Therefore such platforms are usually full of complex features, heavy on customizations, more robust and secure, and zero or limited interactions between users from other companies. Attlasian JIRA would be a good example for this.

B2C Online Platforms like Twitter on the other hand puts a lot of demands in terms of capacity (thousands to millions of users using the system), but not so much on complex transactions, workflow, and security.  At least not in the beginning, but since one of the characteristics of a platform is that it grows continually, eventually, even a B2C platform can have complex workflow. Also, this does not mean that B2C platforms are insecure or not robust.

And then there are Online Platforms that deals with both Businesses and Customers at the same time. eBay would be a prime example of this kind of platform.

Online Platform Categories

Educational / Entertainment – These platforms collects, share, and serve content that is educational or entertaining (or both) in nature. These are typically B2C.

Social / Networking - I think everyone know what these looks like.

Transactional / Operational – What used to be the domain of custom and exclusively built applications now has started to be available as an Online Platform. This is possible thanks to the Internet which drives the acceptance of connectivity even among businesses, which are far more conservative than individuals in this regard. These are mainly B2B.

Why Does This Matter To Everyone?

Eventually, almost all of us will become a user of one or more Online Platforms. Why? Because the next generation of Online Platforms will be even more useful, connected, and convenient than what is available today. This should be regarded as an excellent opportunity especially for Business Owners, company Executives and Entrepreneurs.

For individual customers, the sheer convenience and quality of services will continue to climb up. The amount of information that we would know about each other will also increase. That can be either scary or good, depending on your perspective.

For Business Owners and company Executives, what does this mean? Online Platforms can be used to operate existing businesses at a much lower cost.  How so? Because the Online Platform builder can spread the cost among platform users.

What about competitions? Why would a company use an Online Platform along with its competitors? It depends on the nature of the business. A good Online Platform has to be built independent of the factors in which the users compete on.

For example, a platform that automate operations, collect metrics, and perform data analysis, would boost the service quality of its users while keeping the playing field level.  On the other hand, platforms that share users’ data without their consent, or provide unfair advantages to some of the users, is a big no-no and should be avoided at all cost.

For Entrepreneurs, Online Platforms can be used to generate new streams of revenue. Build platforms for existing businesses to use.  There are so many niche opportunities that depends more on who do we know more than what we know.

What’s The Stats?

Those of us who loves statistics, here is an interesting Google trends plot on the level of interest of the term Online Platform over the years:

It should be noted that the trend is slightly increasing. That means the awareness of the Online Platform concept (represented by the term) is rising among us.

So the next time I hear someone says “golden hours” of the Information Era, I now have an idea what some of it may look like.  Let’s ride the wave together.

– Will Gunadi

Business Dashboards – The Next Generation

Posted by admin on February 13, 2014  /   Posted in BI and Custom Development, Business, Data Best Practices

Dashboards Today

Unfortunately, most vendors that provide dashboard software have done little to encourage the effective use of this medium. They focus their marketing efforts on flash and dazzle that subvert the goals of clear communication.

They fight to win our interest by maximizing sizzle, highlighting flashy display mechanisms that appeal to our desire to be entertained. Once implemented, however, these cute displays lose their spark in a matter of days and become just plain annoying.

An effective dashboard is the product not of cute gauges, meters, and traffic lights, but rather of informed design: more science than art, more simplicity than dazzle. It is, above all else, about communication.

- Stephen Few, Information Dashboard Design, O’Reilly, 2006

Amazingly this comment is still pretty much true even today. But it doesn’t have to be. The next generation of effective dashboards are closer to a mixing panel of a music studio than plain, static dashboards we see today. And we at nextCoder are going to make sure that you business leaders are well-informed about it.

Recap: What is a Business Dashboard?

Nowadays you see fancy dashboards in cars that rival a desktop computer, almost. But what does the most basic dashboard in your car actually do? It tells you, the driver — in real time, at least these four information:

  1. How fast are you going (the odometer)
  2. How far can you go (tank full of gas or almost empty)
  3. Alerting you to pending breakage (weak battery, engine oil empty, engine needs checking)
  4. Alerting you of what is going on (turning signal, headlamp indicator)

Running a business, just like driving a car, requires your full attention in real time, but unfortunately, a business does not come with a built-in dashboard the way cars do.  Either you have to build one yourself, or have someone build it for you.

And just like a car dashboard that is connected at all times to the sensors that feeds it with data, a Business Dashboard is connected to the data sources located either within your business or coming from outside sources.

The information that you receive from a Business Dashboard is actually pretty similar:

  1. How fast is the business growing? (is it growing in the right direction?)
  2. How long can the business last given the current situation?
  3. Are we paying too much to our vendors/suppliers?
  4. Are we serving our customers the best we could?
  5. And many, many more

But … believe it or not, as useful as knowing all of these are, that list merely covers the basic usage of a Business Dashboard. If we stop at this level, we are missing the full potential of what the next generation of dashboards can do for us.

What is brewing?

Thanks to the ever-increasing popularity of game-changing web technologies such as jQuery, HTML5/CSS and the growing list of charting and/or visualization libraries, we enjoy the power of data visualization unlike any other computing era before.

The new way to develop dashboards allows us to produce dashboards that will rival web-applications in terms of information flow. Gone are the days of static, read-only dashboards. Say “Hello” to the new generation that takes interaction to a whole new level:

  • Built in mapping: With the numerous and Geocoding API available for us to use, it is unthinkable that a dashboard should be without one. Most businesses could benefit from geographically-mapped data. Imagine being able to visually see where your products are being purchased,  or your technicians on their service routes, or your suppliers to optimize material or component shipments.  And many more uses.
  • User Inputs: Ever seen a dashboard that is not read-only? If yes, you are in a good company. More and more executives, managers, customer support personnel ask that they are able to punch in data in real-time. Why do they have to switch to another application to do that? We at nextCoder agrees.
  • User-specific Business Rules: Lets face it, a business owner or CEO has his or her own “rules” that allow them to determine whether the business is doing okay or is it floundering.  These “rules” are not for everyone to see and for a very good reason: Panic prevention (just kidding… a little bit). But the fact remains, if a dashboard cannot even contain user-specific rules, then we are shortchanging the users. Plain and simple.
  • External Data: A lot of smaller businesses assume that just because their data volume is not gigantic, they do not have any use for aggregated data analysis. This was true in the past, not anymore. Today, there are volumes of data about any businesses, but it does not originate within the business itself, rather, the vast social-media network. You could be surprised at what your customers broadcast about your product or service to their friends and family, good and bad. And for the sake of your business, monitoring it is a good course of action.

These are just the tip of the iceberg when it comes to what a Business Dashboard is capable of serving with the current technology. Our goal is to deliver these features to our clients with each dashboard we build for them. In the next blog entries, we’ll have a peek on how to do just that.

What You Should Expect from Your Data Warehouse

Posted by admin on October 01, 2013  /   Posted in BI and Custom Development, Business, Data Best Practices

When it comes to the benefits of having a Data Warehouse (DW from here on), most of our clients are already cognizant of its critical role as part of a business system.  What many still don’t realize is that there are good DWs and not so good ones.  Of course everyone is aware of their existence (good vs not so useful), but not everyone has the time thinking of the ways to distinguish between those two.

A Good Data Warehouse Goes (Far) Beyond a Database

The number one question that I get when I talked to anyone about the services we provide to our customers is the difference between a Database and a Data Warehouse.  A lot of people associate a data warehouse with storing data (just like a physical warehouse)  — and that’s about it.

Truth is, a good DW serves the business in at least five areas in addition to hosting business data:

  1. Automatically apply business rules
  2. Automatically generate reports (both on-demand and periodical)
  3. Automatically notify parties of data events of interest
  4. Allows data owners to look into their data in multiple dimensions
  5. Allows for data error detection, investigation, and corrections

When you are building a DW, the above functions must be present in the planning, implementations, and testing phases.  Otherwise, you’d be left with basically just a database.

A Good Data Warehouse Grows into Maturity

In the next blog entry, I’ll be discussing in specifics, the different levels of DW maturity. A lot of misconception out there regarding how to assess the reliability and usefulness of a DW. Most people expect a DW to become mature at the end of the initial implementation project. This is not realistic given the typical complexity of meta-data, data, and business rules surrounding it. The correct way to proceed with a DW-building project is to realize that there are certain phases that a DW goes through which brings it along the path into maturity.

A Good Data Warehouse Is Redundant

An experienced BI consultant would build one or more copies of the DW that can be switched at any given time.  Not only will this provide a good development and testing environment for analytic outputs (reports, dashboards, ETLs), but it would also

A Good Data Warehouse Highlights Data Problems

Due to its proximity with people who did the accounting, and forecasting in the organization, a good DW is usually the first place where these people notice data inconsistencies.   A good way to take advantage of this characteristics, is to put in place monitoring ETLs that runs periodically, executing queries that is designed to check the consistencies of data.

A Good Data Warehouse Reduces the Load on the Transactional System

A lot of the systems that maintains the transactional data input from users are inundated with processes that shouldn’t belong there in the first place.  These processes typically does checking, applying business rules, and monitor the validity of the data, which takes away resources from what Transactional Systems should be mainly about: Collecting data and preserving its integrity.

Now the follow up question is: How do we know which part of the Transactional System should be offload to the DW?

A good boundary rule-of-thumb is whenever a process can be executed against any data in batch-mode. This is an indication that it should be taken off the transaction system and moved to the DW. And by the way, it is not a taboo for a DW to pump data back into the Transactional System when a valid use-case can be made.

In Summary
There are many other ways to assess a DW to see if it’s “good” or “not good enough,” but all of them revolves around the relationship between the DW and the existing Transaction Systems and the other flip side of the coin, the decision maker team. A good DW should always bring clarity and bridge the communication barrier caused by incongruent view of data held by different parts of the business. Hopefully this can get you started in the correct line of thinking as you embark on your DW projects.

ZK + TimelineJS + JQuery = Visualizing Business Data Along The Time Dimension : Part Two

Posted by admin on August 13, 2013  /   Posted in BI and Custom Development, Business, Web Development, ZK

by Cancan Gunadi

In our previous blog, Visualizing Business Data Along The Time Dimension, we have shown one of the ways to visualize business data along the time dimension in a meaningful and engaging way.

In this blog, we’ll show you the technical detail behind the implementation. We used TimelineJS, an interactive web-based timeline tool, and integrated it into the system that we’re building for our client. The system itself is built using ZK Framework.

First, in case you haven’t already, you can visit the actual Live Demo of this timeline on our server here (log on using the provided credential).

We assume some familiarities with the ZK Framework and TimelineJS libraries. We recommend you to visit their respective documentations.

Detail

The timeline area is contained inside a ZK iframe tag inside one of the ZK .zul file as such:

<window id="mainWin" apply="${mainCtrl}">
    ...
    <iframe id="iframe" src="jsp/timeline.jsp>
    

The iframe loads a JSP file which contains the TimelineJS script which is shown below. Some of the details of the JSP and zul file have been removed for the sake of simplicity.

// normal JSP import stuffs... here...

<head>
   <!-- jQuery -->
   <script type="text/javascript" src="../timelinelib/jquery-min.js"></script>
   <!-- BEGIN TimelineJS -->
   <script type="text/javascript" src="../timelinejs/storyjs-embed.js"></script>

   <script type="text/javascript">
       $(document).ready(function() {
       <% if (docs != null && docs.size() > 0) { %>
           var dataObject = 
                
           {
               "timeline":
               {
                   "headline":"Progress Info",
                   "type":"default",
                   "text":"<%= user.getFullName() %>",
                   <% if (startDate != null) { %>
                   "startDate":"<%=Util.formatDateTimeline(startDate)%>",
                   <% } %>
                   "date": [  
                   <%for (Document doc : docs) {%>
            
                       {
                           "startDate":"<%= doc.getDate() %>",
                           "headline":
                              "<a class='timeline-doc-link' 
                                  doc_id='<%= doc.getId() %>' 
                                  href='#'><%= doc.getTitle() %></a>",
                           "text":"<%= doc.getText() %>",
                           "asset":
                           {
                               "media":"",
                               "credit":"",
                               "caption":""
                           }
                       },
                   <% } %>            

        
                   ]
               }
           };

           createStoryJS({
               type:       'timeline',       
               source:     dataObject,
               embed_id:   'timelineContainer',
               font:       'Arvo-PTSans',
               start_at_end: true,
           });
           
           // div with id "timelineContainer" is the div that wraps 
           // around the entire timeline area, defined in the <body>
           // section.
           $('div#timelineContainer').click(function(event) {
               var clickedElem = 
                   document.elementFromPoint(event.pageX, event.pageY);
               if (clickedElem.nodeName == 'A' 
                       && clickedElem.className == 'timeline-doc-link') {
                   
                   // parent is [object Window] according to firebug
                   parent.zAu.send(
                      new parent.zk.Event(
                         parent.zk.Widget.$('$mainWin'), 
                         "onDocRequestedFromIframe", 
                         clickedElem.getAttribute('doc_id')));
               }
               
               return event;
           });
    
       <% } else { // if no item to be shown ... %>

           $('div#timelineContainer').html(
               '<span style="font-size:75%;color:grey;">
               No progress information submitted yet.</span>');

       <% } %>    
       });


    </script>
        
       
    <!-- END TimelineJS -->
</head>

<body>  
    <div id="timelineContainer"></div>
</body>

Line 12-53 of the JSP is the TimelineJS script which is dynamically generated using the JSP scriplet for-loop (line 24) to insert the available items (or “documents” in this case) into the timeline.

Making the Timeline More Useful

To make the timeline more useful, hyperlinks were added to the timeline, which can be clicked to open new ZK Tabs containing the detail of the timeline item. To achieve this, the javascript code in the timeline script needs to be able to send an event to the enclosing ZK container so the ZK application can respond and open a new ZK Tab.

Line 28-31 shows the <a> element which is tagged with a CSS class “timeline-doc-link” and a custom attribute “doc-id” which contains the id of the document.

On line 58-73, JQuery code is used to add a click handler to the “div” element with id “timelineContainer”, which is a wrapper around the timeline (The div is defined in the of the HTML).

Line 59-62 retrieves the element which received the click and checks if it’s really the anchor element with the special css class.

Line 65-69 is the real key to enable the interaction between the timeline and the rest of the application, it takes advantage of a very useful ZK feature for sending Event to parent element. Using the “parent.zAu.send” method, we sent an event (called “onDocRequestedFromIframe”) to the parent ZK component “mainWin” (refer to the ZUL snippet shown earlier). From there, the ZK main controller (Java code) that is attached to the main Window component can respond by opening a new ZK Tab to show the requested document.

The result is nicely integrated timeline which can interact with the rest of the ZK application via ZK Events as shown in the following figure. Eventhough the timeline script resides within an iframe, this approach allows the timeline script to invoke Tabs, Menus, and other component within the containing ZK application.

Figure 1 - Seamless Integration of TimelineJS into ZK Application

Figure 1 – Seamless Integration of TimelineJS into ZK Application

In a Nutshell

We have shown one of the ways to visualize business data along the time dimension in a meaningful and engaging way, and how to implement it using the ZK Framework, TimelineJS and a little bit of JQuery and Javascript codes. We have shown how to enable seamless interactions between the TimelineJS script and the containing ZK Application using ZK’s Events.

We hope this post can be beneficial for anyone who may be looking to implement similar functionality.

Please also check out our main blog page where you can find useful information regarding Data Management, Business Intelligence, and more (click here).

Visualizing Business Data Along The Time Dimension

Posted by admin on June 18, 2013  /   Posted in BI and Custom Development, Business, Web Development, ZK

by Cancan Gunadi

From time to time businesses are faced with the need to visualize their business data along the time dimension. It is very valuable for the businesses to have a way to visualize information such as milestones or key events in a meaningful way. This visualization answers questions such as “When was the last Sales Milestone achieved?”, “How do I see the progress of XYZ?”, or “What was the last step completed by a training class participant, and when?”

One way we have found to be both effective and engaging is to use a “timeline”. Timeline can be described as a sequence of related events arranged in chronological order and displayed along a line (usually drawn left to right or top to bottom). Data can be aggregrated though a nightly ETL job and key events be made available to be plotted on the timeline by the same job.

Implementation

In our implementation, we used TimelineJS, an interactive web-based timeline tool, and integrated it into the system that we’re building for our client. The system itself is built using ZK Framework. I will write more about the technical detail of how this is done in my next blog.

Here’s an example of how the timeline visualization looks like. Please visit the actual live demo on our server here. (log on using the provided credential).

nctimeline-1

In this mock up example, we show the sales milestones on the timeline. This timeline is interactive, user can slide the timeline bar (bottom half of the timeline widget) with mouse to the left of right, or even swipe with his/her finger on a touch-screen. Clicking on each “flag/event” on the timeline brings up a related bar chart above the timeline bar. If the user needs more detail, he can click on the hyperlink next to the bar chart to open a new tab with all the detail regarding this milestones (See my next blog post for interesting technical detail about the interaction between the TimelineJS, the containing HTML inline frame, and the ZK Framework). User can also navigate to the previous milestone by using the arrow button to the left of the bar chart.

In a Nutshell

We have shown one of the ways to visualize business data along the time dimension in a meaningful and engaging way. Using this timeline, businesses can quickly see when a key event occured, time-wise, in relation to other/previous key events.

Stay tuned for my next blog post, where I will describe the technical detail on how to implement this timeline visualization using the TimelineJS, and ZK Framework.

Please also check out our main blog page where you find useful information regarding Data Management, Business Intelligence, and more (click here).

Seven Tips to Successfully Start Your BI System

Posted by admin on July 31, 2012  /   Posted in BI and Custom Development, Business, Data Best Practices

Given a mountain of data that comes from different sources in different flavors, it could be a daunting prospect to get them all in line.  Here are seven simple steps that could help you wade through the first phase of implementing a successful BI process that will not only solve the immediate problems, but also grow with your company.

  1. Trace your steps backwards, begin with the reports that you have to have in order to run your business.  Do not start with the data itself.  A lot of BI implementations make this mistake, which will soon overwhelms anyone involved and contributes to a slow-start.
  2. Identify two types of reports: Those that are very important for strategic decision making (annual bank loan reports, ISO certifications, etc.) and those that are important for tactical everyday decisions (daily status report, daily manufacturing job schedule, warehouse inventory, customer returns, etc.)
  3. Split your attention into the two types of report you identify above.  Pick one report from each type, and work on both at the same time.  By working on two different sets of data types simultaneously, you will gain more insight on how to transform the existing data to satisfy both types of reports.  Failing to do this, will cause you to backtrack a lot, and that means wasted effort.
  4. Use of your Time Dimension table. This is the lookup table consisting of different facts about one measure of time (usually a day).  In a lot of BI projects, people neglected to use this very useful table, opting to create complex SQL queries, which ends up being error prone, difficult to maintain, and a big time waster.
  5. Be mindful of your database’s idiosyncrasies.  Know what NULL values mean in a field, especially the ones that will be part of a calculation. Know what it means to say BETWEEN two dates.  And no, Non-SQL databases are not immune to these quirks.  They are just as susceptible to unfamiliar and untested usages.
  6. Prepare two identical databases that contain your BI tables. Setup two instances of your ETL building each database separately. This way you can switch back and forth when you are testing or having to re-run the ETL in the middle of a busy day.
  7. You will not catch every bug, and there is no perfect the BI system. Test, and re-check your tests, that’s why you have two identical databases.  BI is an ongoing process, therefore it is important to come up with a good system and an implementer who understands this.

By following these simple steps and precaution, you will minimize a lot of backtracking in the middle of the project.  And more importantly, by starting the project the right way, you will avoid burn out and frustration that will have more adverse impact on the quality of the data at the end of the process.

Enterprise Resource Planning (ERP) and Why You Should Care

Posted by admin on July 17, 2012  /   Posted in BI and Custom Development, Business

No matter the size of your organization, if its revenue is growing, sooner or later you will benefit from a more consolidated approach to managing your business data.

An ERP system is designed to provide a consistent user interface to an integrated database backend where data from different functional departments within your organization will be processed and stored.

A typical ERP system is configured to handle typical business functions (usually handled by personnel in each department) such as: Accounting, Orders and Invoices management, Customer and Vendor Relations, Manufacturing, Shipping and Logistics, Warehouse and Inventory management, etc.

An exceptional ERP system, however, is also marked by the ease-of-use and just as important: Easy to customize and modify. Not all businesses operates the same way, in fact, none of them really are.

So to summarize some obvious benefits:

  • Lower software license costs
  • Less time consumed in import/export data formats between applications
  • Reduce redundant data entry
  • Increase in speed and clarity in data flow and personnel workflow
  • Increase in data accessibility among different functional departments
  • System-wide upgrades and enhancements
  • Simplified new personnel training

To illustrate the above benefits, here is an excellent presentation by OpenERP.

In summary, for a healthy organizations (especially not so healthy ones), a move to adapt an ERP system can lead to what every organization needs: Cost reduction and increased productivity.

There is but one thing between these benefits and your company, the effort that it took to choose and implement an ERP system.

Business Owners, Are You Taking Care of Your Data?

Posted by admin on March 19, 2012  /   Posted in BI and Custom Development, Business

by Will Gunadi

Background

Regardless the size of your business, when it has been running for a while, you will have at hand what all businesses accumulate over time. No, in this case we are not talking about profits nor debts, rather, it is about: Data.

Just by the fact that they operate, businesses will gather various types of data. More importantly, business data is the lifeblood of every business decision made. The higher the data quality is, the better the decisions you could be making.

Problem is, when it’s not sufficiently reviewed and monitored, all accumulated data will start to lose its integrity and accuracy, resulting in misleading indicators and measurements, which will yield two of the most damaging factors for a business: Loss of opportunity and Hidden costs.

How does business data go bad?

Over time, any computerized business’ systems will start to have bad data. This is not something mysterious, in fact, as a savvy business owner, you should be expecting it. Here are some of the ways for bad data to creep into a system:

  • Bad data entered by users that is not caught by the existing validation rules
  • Policy or business rule changes
  • Program bug due to the implementation of the policy changes
  • Structural changes to external data (eg. tax rate, zip code, area code, ISO specifications)

In essence, your computer systems change as your business changes due to modifications to internal policies or to external regulations. It is inevitable that during these modifications, bad data is entered and processed into the systems. Sure, we could minimize the negative impacts with good software quality testing practices, but we would not be able to catch them all.

The only effective way to combat bad data caused by these unavoidable changes, you need a system in place that will allow you to see the data comprehensively in order to locate these bad data early before they become real problems.

Meet OLTP and OLAP systems


In this day and age, Online Transaction Processing (OLTP) systems have become the norm, even for small to medium businesses. Most people nowadays rely on some kind of computer-based ERP (Enterprise Resource Planning) system to run their businesses, maybe a consolidated email/calendar package, an accounting package, some combinations of order entry, invoicing, shipment, warehousing modules, all of which are backed by a database system. These are the typical components of an OLTP system.

This is where most small and medium businesses stop; which is fine apart from the fact that you only have one way to view your business data, and a non-intuitive one at that. Making data quality maintenance harder than it should be.

An OLAP (On-Line Analytic Processing) system was designed to provide you with an alternate way to view and analyze your business data; more accurately, a much more effective way.

Large corporations and big businesses spent billions of dollars every year to develop, utilize, and maintain OLAP systems to complement their OLTP ones. They know that without a constant effort to monitor and measure business data, it can go out of hand very quickly.

Unfortunately, for most small to medium businesses, the value of setting up an OLAP system has not yet become clear. Why? Partly a mindset issue. To understand the value, you have to:

  1. Realize the two distinct approaches in handling the same business data, one is geared towards data entry and processing (OLTP), the other, data analysis and decision-making (OLAP).
  2. Accept that analyzing your own data is not a waste of time and resource, rather, it is a vital part of not only running your business but – more importantly – improving it.

Adding insult to injury, the cost of implementing a typical OLAP systems is tantamount to long-term, expensive, and serious commitments. While there is absolutely nothing wrong with long-term and serious commitment to improve data quality, the expensive part prevents a lot of businesses to even try to setup and utilize OLAP systems. Which is a pity.

Why can’t I just use one system?

The difference between OLTP and OLAP starts from the underlying structure that holds your business data. OLTP systems has, as its main purpose, to capture in real-time, your business data such as order entries, invoice generations, shipment records, warehouse inventory movement, accounting journal entries, commission calculations, sales tax, etc.

A good OLTP system would have a solid data model that dictates how the above data are stored and processed. Unfortunately, this very strength causes the data to be extremely efficient for computers to process, but it is not human observable. At least not without a lot of necessary lookups and remembering bits and pieces of information all over the place. Again, something that computers are designed to deal with.

Decreasing data quality happens when no one reviews the business data. Any statistician would tell you that the accuracy of any record is proportional (up to a certain point) to the number of reviews that the record receives.

The same principal applies in this case also. The OLAP system was designed to allows you to review your business data in the manner that is effective for us (humans) to analyze, instead of computers. However because it is a computerized system, it also provides the automation and number-crunching facility that we can use to generate meaningful reports.

Okay, so what can OLAP systems do for my business?

In a nutshell, a fully operational OLAP system should help you to:

  1. Discover hidden information→
    • Your business data resides everywhere, not just in your OLTP system database. And it’s not always obvious how they relate to each other.
    • Discovering hidden data may give you an insight on certain aspects of your business that needed attention.
  2. Identify and fix data integrity problems →
    • Keep your business data accurate and up-to-date
    • Verify data relationships over long periods of time
  3. Plan for data expansion, archiving, and storage →
    • As your business grow, so will your data accumulation
    • Fulfill requirements to keep complete records (example: Legal or Tax auditing purposes)
    • Staging area for server movements, upgrades, and failure recovery
  4. View your data history, trends, and movement with improved clarity and accessibility →
    • Discover new opportunities revealed in existing data
    • Keep track of aggregate data which is not stored by the OLTP system
    • Forecasting based on trends
    • Better decision-making ability

Can my business afford one?

As mentioned above, you should view an OLAP system as a tool to grow your business. It is the natural extension to an OLTP system which you have already used.

The good news is, with open source OLAP systems such as Pentaho BI Suite, you now have a good alternative to high-cost systems from SAS, Oracle, Microsoft or IBM. Open source systems are characterized by freely available installations without any licensing restrictions.

Is it any good? As with OLTP systems, it depends on the implementation and subsequently, the implementor. A well implemented Pentaho system should be perfect for small to medium businesses not only because of the zero entrance cost, but the complete set of tools that are customizable down to the source-code level.

Of course there is nothing that prevents big businesses to use Pentaho, but along with available budget, comes options to use the other systems.

Conclusion

If your goal is to run a healthy business, the importance of data quality surrounding it can no longer be dismissed as an overhead. A well-planned implementation of an OLAP system should give you easy access to information that may be hidden in your OLTP systems.

Large corporations have known this for a long time. OLAP systems are not only considered, it is a prominent part within their plans and budgets. Today, with the advent of open source systems such as Pentaho BI Suite, the benefits of OLAP system has been made available to a wider range of business sizes.

There is not a single reason for not considering one. Really.


We serve businesses of any type and size
Contact Us Today