Corporate Lending Risk Analysis: Citigroup
This project involved retiring a client-side application that had been in use for about
eight years in Citigroup’s corporate banking division. The original application,
called the Analytics Utility, produced reports on the financial health of
corporate clients for use by banking relationship managers. It integrated data from
private disclosures and various third-party data feeds of public-company financials,
such as Reuters, Thomson, CompuServe, etc.
The application used user-written business rules to transform the data into a standardized
chart of accounts and then generate a variety of analyses and peer-company reports.
The original application ran on the user’s desktop, using business rules and data from Oracle or SQL Server databases.
Although well liked by the users,
the tool ran counter to the security policies adopted by Citibank in compliance with the Sarbanes-Oxley Act.
Also, Citibank had no developers remaining in its IT staff capable of maintaining the system and
had to depend on an external consultant for maintenance.
As a result, the decision was made in 2005 to transition the Analytics Utility to a web-based application,
replacing the old code with C# and .NET. Citibank contracted with SmartArrays to assist, using our expertise in
APL and the array processing functionality of the SmartArrays SDK to re-engineer the solution.
The new Analytics Utility was written in C# and ASP.NET. The functionality was separated into two parts – a
lightweight web client for the user interface, and a powerful analytics and reporting web service that ran on
a separate server. The web client was integrated into CitiVision, an internal application portal used by
thousands of Citigroup employees.
Development work was divided between Citigroup’s own IT staff and one SmartArrays developer. The Citibank
employees worked primarily on the user interface and portal integration, while the SmartArrays developer
converted the data retrieval, transformation, calculation, and reporting functions and packaged them as an
ASP.NET web service. SmartArrays technology was used for the array-processing functionality and to provide
a high-performance database adapter and cache.
The new application used the same database as the original as its repository for source data and business rules,
allowing it to run in parallel during the test period. All of the business rules and reports that the users had
created in years of using the original application were preserved, making for an easy transition to the new platform
and minimal retraining.
Replacing the analytical calculations with SQL stored procedures was considered. However, prior experience at
Citibank had shown that this would not work. The compute-intensive
parts of the application would not have been fast enough in SQL, while SmartArrays was able to crunch the
bulk data with ease. In addition, the users
would have lost the ability to write their own business rules directly. Using SmartArrays for the “heavy lifting”
part of the application provided excellent performance and the necessary flexibility, and reduced the load on the
database server.
|