Private i Analyst - The Custom Reporting Challenge
We have always taken a measured approach to adding features to private i.

In the first few years of private i's development, we quickly implemented many good ideas from our few clients. A client might ask for a new field, a new view of existing data, or a new calculation. With each request, we would try to create as general a solution as we could. We often agonized over the smallest of changes, knowing that we would be long supporting its implementation.

Quite often the request could be satisfied by a new report. Another client would see the new report but want to add an additional column. Over time, with a lot of help, we have built into private i a rich suite of reports that satisfied many of our clients. But reporting is a subjective art, and it is rare that two users or organizations agree on a printed format. This is natural. As our client base grew, we became victims of our own success. We found ourselves hampered by the similarity but diversity of reporting requests.


The Export Data Approach

Our initial strategy was to make exporting data from reports easy. If you run and then export a report, you can create an alternate report layout
in Excel fairly easily. Yet running reports and exporting and reformatting data takes time. We continued to get many requests for reports and so we began to think about how we could craft a solution to this problem. As usual, we took a very measured approach.

The Crystal Reports Approach

Some of our clients approached us with a simple idea: Give us a copy of your database schema, and we'll use Crystal Reports (or some other commercial reporting engine) to make our own reports.  This at first may seem simple, and might satisfy many simple needs, but the requests we were seeing didn't reinforce the notion that the needs of our clients were simple. Most of the reports in private i are the result of a great many steps, requiring the gathering of raw data, tying it together, filtering it, grouping it, and performing complex financial or mathematical
operations. We realized that simply providing access to our database schema wasn't going to solve the problem of creating a group IRR that respects the settings of a client's custom calculation matrix. It's here that the Crystal Reports approach breaks down entirely.

The We Don't do Customized Reports Approach

Alternately, some of our clients approached us with what seems a reasonable request: Burgiss, we have special needs that aren't satisfied by any of your reports. We will pay you to build a report just for us. When can you start?  Our response has been consistent: We don't do customized reports.  But this answer requires a bit more of an explanation. Of course we could do custom reports. We would have willingly done so if we had had in place a good mechanism to assure that what we delivered to you was always going to work. Our 20 years of database experience
cautioned us against this approach because schemas change. If we wrote 400 custom reports for 50 clients, and then came out with a new
release of private i that broke all of these reports, we'd have 50 angry clients. Alternately, we could suspend further development of private i and stop adding features and then we'd have over a hundred angry clients.

private i Analyst

We are answering these needs with private i Analyst, a powerful and easy to use reporting and data analysis tool. Three years in the making, private i Analyst is a long-term solution to the many problems posed by adding customized reporting capabilities to an already powerful but continually evolving database application.

We want you to have confidence that the investment you make in creating customized reports is preserved. That has been the principle challenge that we've battled in our efforts to deliver this tool to you. In private i Analyst, we have created a data abstraction layer that insulates the reporting and analysis data from the raw data.

If the private i database mostly contains raw data, the data abstraction layer contains derived datasets. These derived sets are in essence pre-assembled packages of data that better represent common reporting needs and ad hoc analysis. One of the principle advantages of this abstraction layer is that we can guarantee forward compatibility. No matter what database enhancements we make, we can guarantee your work won't be lost.

Easy to Use Report Writer?

This phrase is a bit of an oxymoron. We believe that private i Analyst's report writer is easy to use. The problem is that report writing is difficult. Of course, reports that don't do much are pretty simple. Yet creating even the simplest of reports requires technical skills and patience. So we might argue that there is no such thing as a simple report writer, only one that has been designed so that it makes the task of creating complex reports as easy as it can be. However, you may find it easy to use only if you have some experience with other report writers.

In this regard, we are leveraging off the work of a company called Digital Metaphors, a software firm laser-focused on report writing. Their
product is called ReportBuilder (an earlier incarnation of which was shipping in private i). We have been studying their implementation for four years. ReportBuilder is an extraordinary product, is sold with the source code, and was written for software developers for exactly the kind of task we're putting it to. privateiAnalyst is built, in part, on ReportBuilder, which borrows many Windows standards from Microsoft Access, which itself has borrowed many standards from other database and report products.

What a Custom Report Writer Should Do

Any database report is a combination of data access and layout. Although simple reports can be built from raw, unsorted, unfiltered data, more complicated reports are based on data that has been made more interesting or useful by combining it with other data and making calculations
and comparisons. Once the right data is available, the layout of a report not only defines how the data is rendered, but may also contribute to calculations, especially statistical measures on groups of records such as sums, counts, min and max values and so on.

The reports in private i have been designed and implemented with the help of many people. Yet, as previously described, these reports are a compromise between many competing interests, and so our standard reports meet the needs of many, but fail to meet the needs of all. Here are requests we often hear:
  1. That performance report is great, except we do/don't record Fees separately and so we do/don't report on Fees!
  2. Can you please add/remove the Time Weighted Return?
  3. We don't use the same terminology that you use. We would like the ability to customize (customise), color (colour), the headings in each report.
  4. We define groups differently than you allow. We would like to be able to group investments by Asset Class and then by Vintage Year.
  5. I want the Executive Summary Performance report to print Landscape/Portrait.
  6. I want the Partnership Snapshot report with an additional column from another report, the field that calculates the Investment Multiple. 
These kinds of tasks, adding, removing and relabeling fields, changing the sort order, changing font styles and sizes, regrouping sets of records, and so on, are basic to a good report writer. ReportBuilder has helped us craft a product that has these capabilities.

Once these basics are covered, a good custom report writer should allow the user to create more complex reports with a minimum of effort.
This is where the majority of our work on privateiAnalyst has been spent.

Advanced Capabilities: The Group IRR Challenge

Here is the design statement that has driven much of our efforts:

The user should be able to create a report that allows an arbitrary grouping of investments and calculate an Internal Rate of Return (IRR) within each group. 

This design goal is unambiguous, but its implementation requires that the report writer have knowledge of what an investment is in private i. Then, given a group of investments, the report writer has to understand what cash flows lead to the calculation of an IRR for that group. This involves determining, at run time, what cash flows are included in the IRR calculation according to the user's preferences. As a result, we had to rework the private i calculation engine to serve both products. In short, we've had to make a strong tie between private i and privateiAnalyst. The result is a flexible report writer that extends the power of private i to the end user.

Learning private i Analyst

Despite our emphasis on ease of use, we know that putting private i Analyst to work will involve considerable effort on your part. We will be providing help in a number of ways. We will be supplying a tutorial that helps you learn the basics; creating user documentation on more
advanced topics; and supplying report templates that can be easily copied and modified. Finally, we will be available to create custom reports
that can be tweaked by you. As always, we will be available for technical support.

private i Analyst requires private i 4.5 and is available as a separately licensed product.

About us Solutions Support Contact us Business Continuity Privacy Policy
Copyright © The Burgiss Group. All rights reserved.

Private Equity Software and Alternative Assets Solutions