Database Model just one business entity or an entire corporate
organization tree: the CUFFS-88 tree-structured database keeps
your subsidiaries, divisions, products, regions, etc., completely organized, yet easy to
change as needed. The database organization provides the basis for automatic
consolidation, downwards allocation, currency translation, budget vs. actual, what-if
scenarios, and n-dimensional reporting. And, unlike any other modeling tool, each entity
can have its own model, data, currency, results, and time periodicity.
Procedural and Non-Procedural Methods Model each computation
with the method best suited for it:
Balance sheets and income statements are most
naturally and easily represented "non-procedurally", by the set of account
names, listed in any desired order, each having a plain English formula that specifies a
financial condition the model must obey:
assets (asset) = debt + equity
interest (expense) = rate * debt
taxes (expense) = if income > 0 then 43% * income else 0
Models written non-procedurally make common sense, convey meaning, and are completely
self-documenting. Further, automatic detection and solution of simultaneous
equations require an overall non-procedural approach.
But not all computations can be expressed non-procedurally: The only reasonable way to
model some complex tax payments is to simply copy into a computer program the step by step
calculation procedure, straight from the governmental tax regulations. This second
modeling style is called procedural.
A unique CUFFS-88 technical breakthrough allows you to mix these two standard ways of
writing models, even within simultaneous equations, and it is the only modeling tool that
handles that correctly.
|Accounting Intelligence The attributes
"asset", "contra asset", "expense", etc. can be used to tell
CUFFS-88 whether an item is a debit or credit, level or flow. The system can use this
information to provide automatic verification of accounting logic.
Totaling across time
periods, as for quarterly and yearly totals in a report for a monthly model, and computing
"gain or loss" due to inflation accounting and currency translations, all become
fully automatic and error free.
|Advanced Model Solver CUFFS-88's
universal equation solver is so powerful that it can handle even simultaneous, non-linear
equations that an engineer might use. Why so powerful? Tax laws, debt
convenants, and the like are non-linear. And realistic financial models almost necessarily
contain complications such as these:
|items defined circularly|
widgets = 8 * bananas
bananas = widgets - 10
sales growth rate = MAXIMIZES net income
= MAXIMIZES net income
sales = SUCH THAT net income = 8% * equity
funds gap = SUCH THAT assets = liabilities and equity
= SUCH THAT net income = 8% * equity
funds gap = SUCH THAT assets = liabilities and equity
|user-defined procedural logic that, to maintain debit-credit
balance sets values for several accounts at once as in an accounting transaction:|
cash, short term debt, long term debt =
my distrib function(gap)
|Surprisingly, even examples as simple as the circular
definitions above require a powerful equation solver, something just not found in any
other modeling tool.
Goal-Seeking In other modeling tools, goal-seeking works from commands
outside the model and limit you to only one goal at a time. In CUFFS-88, goals are
specified as SUCH THAT equations inside the model, so
there is no such limit:
Sales Growth Rate
= SUCH THAT total assets = total debt + net worth (scalar) = SUCH THAT final net income = 8600
Interest Rate (scalar) =
Note that it finds different results for Sales Growth Rate in each time
period, but only a single Interest Rate. The equation solver handles both
types in the same model, even when inside simultaneous equations.
Reporting The most informative reports are those in which you can
compare, side by side, results from different runs, entities, or time periods. With
CUFFS-88 you can specify that results from any criss-cross combination of parent and child
entities, accounts, and calendar dates be arranged any way you want in rows, columns, and
pages. By adding formulas to the report description, you can compute new aggregated time
periods, derive new entities from existing ones, or transform the results by some
expression. No other modeling tool offers so much flexibility and ease of specification.
Reports and models are specified independently of each other, so you can create as
many reports as you want from a single model's results.
Programming Language Provided within CUFFS-88 is a full Pascal-like
language, for creating your own new functions and commands that may even be called from
within model equations. As their input parameters or returned results, they can use any
CUFFS-88 item: dates, strings, arrays, lists (of mixed items), and even other functions
and commands. And they can be "recursive", so you can create your own special
consolidation and allocation schemes that use the database structure.
This language is
so powerful that many of the built-in CUFFS-88 commands and financial, statistical, and
mathematical functions are written in CUFFS-88 itself. So, if CUFFS-88 doesn't already
provide some unusual feature, you can quickly and easily add it yourself.
These new functions and commands you create can prompt the user for inputs, respond to
"help" responses with your own meaningful answers , and appear in the
"help" menus along with those that came with CUFFS-88.
Interface CUFFS-88 provides on-line tutorials, menus, prompts,
context-sensitive HELP, and error messages that are understandable without a manual.
There is, in addition, a comprehensive manual with a wealth of practical examples.
CUFFS-88 is available for SUN and other UNIX workstations. A Windows NT
version will soon be available.
Please contact Cuffs Planning & Models for further