Creating Hypothetical Data Using Parameters
Creating Hypothetical Data Using Parameters
Thus far we have used Ravel to explore existing data. But there can also be hypothetical data, as in breakeven analysis for sales planning: given estimated costs of production, at what level of
spreadsheets was a major factor in the popularity of the first ever spreadsheet program, Visicalc .
Ravel can enable the same analysis using parameters . Thus far the only parameter we have encountered is dataImport , which loads an external CSV data file. Ravel also enables parameters to contain a user-specified number, the value of a variable, or several numbergenerating functions: iota , one , zero , eye , and rand . Figure 48 shows the variable/parameter definition form with the drop-down menu of different parameter types.

Figure 48: The Edit variable/parameter form showing part of the drop down menu
The effects of these functional inputs to a parameter are given in Table 8.
Table 8: Inputs for parameters
Function | Efect | Example |
|---|---|---|
Number | Enter a single scalar number | 4.669201 |
Var Name | Enter the name of an existing variable | Initializer |
iota | An array of numbers starting at zero and incrementingby1 | iota(100): a column of numbers from 0 to 99 |
Iota(15,15): a 15x15 matrix of numbers from 0 to 224 | ||
|---|---|---|
one | An array where every element is the number 1 | one(10,10): a 10x10 array of the number 1 |
zero | An array where every element is the number 0 | zero(10,10): a 10x10 array of the number 0 |
eye | An array where every diagonal element is the number 1 | Eye(3,3): a 3x3 array with 0 on the of- diagonal and 1 on the diagonal |
rand | An array of random numbers between 0 and 1 | rand(10,2): a 10x2 array of random numbers |
Figure 49 shows the output of some of these functions.

Figure 49: Examples of numbers generated by parameter functions
These arrays of numbers can then be combined using Ravel ’s mathematical operators to do “What if?” analysis.
The parameter Sales has the argument iota(500000) , which produces an array of half a million numbers between zero and 499,999. The three formulas shown in Figure 50 which depend on Sales would require 1.5 million formula replications in a spreadsheet.

Figure 50: Cost formulas based on the hypothetical data in Sales
range of between zero and 500,000 units per year, with variable costs per unit of $25,000 and a variable markup, currently set to 1.25. The markup can be changed using the arrow keys or mouse to see the impact on the breakeven point and profitability.

Figure 51: Breakeven analysis with Ravel
models of perfect competition, where price is unaffected by the firm’s sales (Figure 52), and of monopoly, where price has to fall to allow more sales (Figure 53).

Ravel ’s English-language formulas make it much easier to follow the analysis than it would be with spreadsheet versions of the same models.

Figure 53: The textbook model of monopoly, with the slope of price set to minus 2