Javelin Software Corporation

Cambridge, MA 02139

Two diskette drives or hard drive, 512K RAM, DOS 2.00 or greater.


Suppose you're the financial manager and your company is entering its regular budget and forecast cycle. You've got to pull together all your data and generate a forecast of the financial outlook for the next year. You gather all the data and assumptions. Using Lotus 1-2-3, you create a truly complex spreadsheet with lots of intricate formulas which rollup all the factors that influence sales. Then you complete the model by forecasting all the manufacturing costs, operating costs, taxes, and so forth. Finally, you reach a forecast.

Then you realize that you forgot to include a cash flow forecast. And not only must you prepare a monthly forecast, the treasurer wants quarterly summaries and averages.

Most of your manufacturing costs were incurred two months before they were booked, and paid one month before they're booked. Revenues, of course, don't start arriving until a month or two after they're booked, and then they arrive in an odd bell-shaped pattern. Adding the cash flow forecast to your model requires major surgery. It might be easier to start over.

Javelin can help you with this type of situation.

The traditional worksheet format that VisiCalc, Multiplan, and Lotus 1-2-3 made popular serves very well for many applications. hese tools, however, either can't handle some tasks, or make creating certain models more difficult than it needs to be. These classical worksheets are nothing more than rows and columns of cells - nothing more. If you create a row of cells containing the months of the year, then we know that each column represents one month's advance in time, but the worksheet doesn't. To the worksheet, it's simply columns A, B, C, and so forth. If we write a formula that calculates Profit as Revenues minus Expenses, then we understand what it means, but to the worksheet, that formula is merely cell C5 minus cell C7, and nothing more.

The problem is that traditional worksheets don't "know" anything about our data. They don't know that if you have monthly data and want to create a table of quarterly data, then all you do is add the appropriate three months' data together. Instead, you must write formulas that add data from three cells to create the quarterly total, and repeat the process for all the data.

Because traditional worksheets have limited knowledge about the structure of your data, you have to do extra work to create models. It's also difficult to audit and verify a worksheet model, as the formulas often haphazardly reference cells all over the worksheet. Finally, once you've built your model, it's often difficult to modify it to correct errors or incorporate new assumptions and features.

Javelin is a business planning tool that includes many of the features of traditional worksheets, but imposes a structure on your data that gives it the knowledge it needs to handle your data intelligently. By having extra knowledge about your data, Javelin neatly solves some of the most troublesome problems of traditional worksheets: ease of construction, verification, and modification.

How does Javelin perform this magic? Javelin works with variables instead of cells. A variable can be a single entry, called a constant. More often the variable is a time series, that is, an observation (such as sales, costs, and so forth) that varies over time. With Javelin, you can define a variable, give it a name like "Sales" and tell Javelin what time period to use for the data, for example, monthly. After defining the variable, you can type the monthly data in a table.

Javelin can define variables with formulas, so you can create a second monthly variable called "Variable Costs" and give it the formula ".35 * Sales". With this knowledge, Javelin will compute values for Variable Costs. From now on, you can reference "Variable Costs" anywhere in the model and Javelin will know its formula. Another variable you might create is "Contribution Margin", with the formula "Sales - Variable Costs". Similarly, you can create variables for all the other items in your model.

You build your models in roots-and-branches fashion, with all of the components of costs flowing together and all of the revenue components flowing together. Then, simply subtract costs from revenues to get income.

You don't need to worry about long and complicated variable names, as Javelin provides the Spell key, which helps you type long variable names.

Once you have the model defined, there's quite a lot that Javelin can do with it. Javelin has a number of views, or ways to display data. These views range from a simple table to diagram and graph views.

In the Table View, Javelin displays the data in columns, showing the time period and the value of the variable at that time. You can print this table, or enter or revise data.

In the Chart View, Javelin displays a simple bar graph of a single variable. It's handy for seeing the trends of an input or calculated variable. The most remarkable feature of the Chart View is that by using the cursor keys, you can change the height of each bar, thus changing the data. If you want to project sales figures for next year, you can draw them on the screen, making humps at Christmas. When you switch back to Table View, Javelin will have filled in the figures for you.

The Chart View can display the graph on any type of display; you don't need graphics equipment to take advantage of this capability. The Quick Graph View displays the same information as the Chart View, but as a high-resolution line graph for those with graphics equipment installed.

You can create presentation-quality graphs of several variables with the Graph View, which lets you create bar, line, pie, and other graphs.

To help you understand and verify your model, Javelin includes the Formulas View, which displays the formulas that define each variable. You can select to view all the formulas, which lists the variables in alphabetical order, but the more useful options are to list formulas by roots or branches. Listing by roots shows only the formulas that affect a particular variable, ignoring the others. Listing by branches shows the variables that are affected by a certain formula. The roots and branches listings present the formulas in an indented fashion, showing the variables directly referenced by the chosen formula at the first level of indentation, then showing the variables that affect that formula at a second level of indentation, and so forth.

Formulas View is one of the most outstanding features of Javelin. Suppose you want to remember how you calculated gross margin on sales. With a traditional worksheet, you'll have to navigate to the cell that contains the formula, and then interpret the formula in terms of the cell coordinates it refers to. With Javelin, you'll switch to Formulas View, type in the name of the variable of interest, and you'll have a nice, structured table of relevant formulas.

Formulas View is also extremely useful for verifying and auditing your models. Your coworkers will be able to understand your work easily by referring to the Formula View.

The Diagram View presents much of the same information as the Formulas View, but shows graphically the relationships between variables. For example, if you have three variables called New York Sales, Chicago Sales, and Los Angeles Sales, and a fourth variable called Total Sales, the formula for Total Sales would be the sum of the first three variables. The Diagram View shows each of the three sales variables, connected with lines to the Total Sales variable.

Between the Formulas and Diagram Views, it's easy to spot all formulas that affect any variable. On the traditional worksheet, this is easy to do for those first generation variables, but as the calculations proceed through additional layers, tracing back through all the formulas and cells is quite a chore.

Two additional views are the Notes View, which provides a page for typing notes about a variable, and the Errors View, which displays errors in the model.

Javelin also includes a Worksheet View, which presents data in rows and columns. Javelin worksheets present a few new features that draw from Javelin's knowledge of your data. To display information from elsewhere in the model on a worksheet, all you have to do is fill in dates on one border, and the name of the variable on the other. Javelin automatically fills in the appropriate data. You can also define new formulas and enter information onto the worksheet.

While working with the Worksheet View, Javelin can perform tricks with variable names. For example, when you have variable names like New York Sales, Chicago Sales, and so forth, you can make a worksheet with like this:

Jan 1986 Feb 1986


Chicago 2000 3000

Los Angeles 3000 2500

New York 1500 3500

Of course, if these variables are defined elsewhere in the model, Javelin fills in the data automatically. By indenting the city names under the word "Sales" Javelin combines the two levels of indentation to produce complete variable names like "Chicago Sales @ Jan 1986."

Javelin will also filter data in a way that lets you create a worksheet for just New York or Chicago data, or for just the first quarter of 1986 or any other time period. Javelin also lets you group data in other ways to create different presentations. You can have a number of different worksheets for each model, so you can keep different presentations current and ready for instant viewing.

One outstanding feature of Javelin and the Worksheet View is the ability to view your data in different time perspectives. You may create your model using monthly time periods, but then you need that quarterly summary. Just fill in quarterly dates instead of monthly dates on the worksheet border, and Javelin will make the conversions automatically. It works the other way as well; you can split monthly data into weekly or daily data, for example. Javelin also works with fiscal years that you define.

Finally, Javelin includes the Macro View, which lets you create macros using both regular Javelin keystrokes and special macro commands. With macros, you can create scripts to perform repetitive tasks, or create sophisticated applications with their own menus and procedures.

Javelin can keep two views on the screen at the same time, with the exception of the graph views, so you can keep track of your data in two ways at the same time. You can expand a single window to fill the whole screen for viewing lots of data at once. Javelin lets you print any of the views at any time.

Besides the different views, Javelin includes Building Blocks, which are tools to perform tasks like time delays, rollups, and lookups. The Time Delay Building Block is useful when a variable depends on the value of other variables in past periods. For example, your cash flow is dependent on your sales in past periods, because it takes time to collect to proceeds of your sales. You can create a Time Delay Building Block that spreads January sales to February, March, and April collections, depending on a curve that you draw representing your payment expectations.

Other Building Blocks include Rollup, which consolidates several Javelin models into one, so you can track departmental performance with a separate model for each department, and then consolidate the final figures into one company-wide model. The Lookup and Curve Building Blocks build lookup tables for fetching tax rates, discount schedules, or any relationship that can't be expressed conveniently in a formula.

Working with Javelin is straightforward. You access most of Javelin's commands through menus in the fashion of Lotus 1-2-3 and other programs, with the function keys providing additional functions. When you're typing in a function, Javelin senses what you're doing and prompts you for the next item the function wants. The Spell key is a great help, also. If you are about to perform an action that could modify or erase data irreversibly, Javelin warns you and asks for confirmation before proceeding.

Learning to use Javelin is as easy as it can be. In fact, Javelin is easier to operate than a traditional spreadsheet program. Included with the program are three disks of case studies, which are very good on-line, interactive tutorials. The documentation included with Javelin is surprisingly thin, but encompasses all aspects of the program.

Although Javelin is easy to operate, using Javelin is somewhat different. Javelin forces you to think about your work in a different way than regular spreadsheet programs. And since it's so easy for someone else to audit your model, any weak parts are immediately exposed for what they're worth.

Although Javelin can work with all types of data, Javelin really shines with time series data. Since most business data is periodic, Javelin's intimate knowledge of time provides an advantage that regular worksheets don't have. Javelin works with yearly, quarterly, monthly, weekly, and daily data, and provides two custom periods that you can configure to your needs. Through the use of time conversion, you can convert data from one time period to another, using one of several methods for splitting or combining periods. Many times, though, you don't even need to use conversion functions. If you have monthly data and enter quarterly time periods on a worksheet border, then Javelin will make the conversion automatically.

If your data is not periodic, then you can use Javelin, but you won't have the best match between software and intended application. Similarly, Javelin is not well suited for database applications such as keeping track of invoices or a customer list, something that Lotus 1-2-3 handles.

To use Javelin, you need 512K RAM and two diskette drives, although as with most programs of this scope, Javelin performs much better with more memory and a hard disk drive. More memory (including memory on expanded memory cards like the Intel Above Board) lets Javelin work with larger models. A hard disk drive speeds operation of the program, as Javelin occasionally refers to the program disk for program overlays. Also, to use the help facility on a floppy diskette system, you must swap the program and help diskettes, which discourages use of the help function. Javelin is copy protected, although you can install the program completely on your hard drive.

To use the Quick Graph and Graph views, you need a graphics adapter. Javelin supports the IBM Color Graphics Adapter, as well as advanced adapters like the Hercules Graphics Card and the IBM Enhanced Graphics Adapter. You can use the Chart View, however, on any equipment.


Javelin is a business planning tool that provides many of the functions that traditional worksheets provide, but adds a new dimension by "knowing" more about your data than other programs. Javelin provides a variety of views of your data, including traditional table, worksheet, and graph views, but also formula, diagram, notes, and error views. Javelin links variables by formulas, instead of simple references to cells of data, and deals with time series data and the calendar very effectively.


If you're working with business data spread over time, such as creating budgets, forecasts, or business plans, Javelin is almost priceless in terms of the time it will save you, and you'll probably create better models and budgets as well. If you have a lot of work to do that does not fit this description, then traditional spreadsheet programs will work better. However, if your work requires forecasting or modeling where time realtionships are important, Javelin is a clear improvement over the traditional spreadsheet and a definite step forward in financial modeling. Highly recommended.