**On this Page:**

*Input Value Panel**Target Values and Formula**Stock and Bank Account Values**A short excurce in Prediction Theory**Detail Input Panel**Result Graph Panel**Detail Value Table*

**Input Values**

On the left side of the main window of * Predicted Desire*, you see the

*, a dynamic list of all Input Parameters of your current*

**Input Value Panel**

**Simulation Model.**An * Input Value* in Dynamic Applications consists of a Radio Button, Title, Unit, current Value, and estimated development Mode.

The standard of * System Dynamics* also refers to Input Values as

*. It’s basically the same (in the XMILE format for SD simulation files, an auxiliary variable may carry as well a formula. But in Dynamic Applications we call everything calculated from a formula a Target Value).*

**Auxiliary variables**The standard application includes the * “Bakery”* Model, simulating a Startup producing a single product, called

*You’ll find here all input values of the Bakery model’s*

**“Bread”.***, which describes the simulation logic.*

**Balanced Scorecard**In brief, an * Input Value* is basically every item circle on a

*that features only outgoing connections, i.e. arrows leading towards other items. Obviously, that item is an “influencer”, an Input Value (also called Input Parameter). In System Dynamics, it influences a target value, described by a formula where that input parameter occurs.*

**Balanced Scorecard**The special thing about a * System Dynamics* application is that it allows you to change any Input Value over time. Like it is standard in

*, but completely neglected or ignored in so many common, standard computer software applications. Next to the TextBox for entering a value, there is a value mode selector:*

**Nature**: stable over time (default setting).**stable (‘===’)**|**up**: linear up or linear down, increase or decrease of the value over time.**down**|**square**: will apply a square (x^2) or square root function over time.**sqroot**will apply an exponential function, the strongest raise we know.**exponential**starts like an exponential function that then nears its**saturated**.**limits to growth**gives a local maximum, a hill, derived from the Gaussian Distribution.**bell-curved**simulates an**trending**trend curve, a damped oscillation frequency.**overshooting**allows you to manually set a custom value for each time step.**free steps**

Here, you can enter a predicted development of a single parameter, like fine-tuning a screw of your company’s simulation model. About every company, every startup, every person is an expert into the things they do, regularly. They know them well. Who else could predict an input parameter’s development, if not you?

The basic achievement of * Predicted Desire* is that it allows you to focus on fine-tuning the single parameters, only. The calculation engine of will care for calculating all the influences that this value has on the various Target Values reached directly or indirectly from here.

If you are unsure about the meaning of an Input Value, move the mouse over its coloured **[i]** icon. An explanatory * ToolTip* will show up with basic information about the current value. Even if ToolTips are deactivated in the Options menu, you can always click on a coloured

**[i]**,

**[T]**or

**[S]**icon. This will force the ToolTip to display, manually.

All Input Values follow a standard pattern, here. For the application, an input value is basically a value with a title label (including the unit), and its development mode. It allows you to diversify any given value over time as part of the standard product. * Predicted Desire* doesn’t have to know its meaning; instead, it just applies all the formula that depend on this value, and calculates their results. A

*with all its*

**Balanced Scorecard***and*

**Formula***filled in is sufficient to describe the calculation as a whole, on a sheet of paper. A list of Input Values, and another list of Target Value declarations with Formula, is enough to describe the calulation, technically.*

**Input****Parameters**When entering an Input Value, or modifying its development mode, the value will be pre-selected for display in the * Result Graphics Panel*, as well as shown in the

*We assume you are interested in investigating that value in more detail. In case you don’t want to see the value in the results panel, simply un-check its*

**Detail Input Panel.***on the left.*

**Radio Button**Also, you’ll see a question mark (* trending?*) in the mode selector. It will remind you that this mode is now in detail investigation. The

*will go away as soon as you commit your selection using the green checkbox in the*

**(?)***(accept), or choose some other variable to modify (cancel). This is to assure that you wouldn’t accidentally destroy your parametrization.*

**Detail Input Panel**In the * Detail Input Panel*, you’ll see three number input fields at the top. The first one is the starting value, the value at the current

**position (e.g. t=0). The middle input field shows the curve’s reference point, the maximum or final value that the progression will reach. It’s very important to enter here a suitable, realistic value you want to achieve. Per default, PD suggests that you’ll be able to double the starting value within the given time period, a raise of 100%. For example, it may be realistic for a startup to ramp up production by 100% within 48 or even 24 months.**

*Time Ruler*But why should it slow down again? – the bell-curved mode does make sense if you expect an intermediate rise of production. In most standard cases, choose from the * linear up*,

**squared**,

*,*

**sqroot***, or*

**exponential***rising modes:*

**saturated**So here, we expect a rise in production from 75 products per day to 150 products per day within 48 months, a rise of 100%. You may now adjust the rise or fall in %, or by absolute numbers. Negative values are allowed in most cases, so you could also enter -50 percent to end up at half production, or -100 percent and your production will stop at zero units. As well, modify the starting or the reference value and the percentage will update, automatically.

It is very important to think about what seems * realistic*, here. If you ramp up production from 75 to 300 units, i.e. by factor 4 and raise of 300%, PD will tell you that production will cost you 4 times as much. If you then ramp up sales also by factor 4, PD will tell you that you’ll earn a lot more money within 4 years. In theory, this is an absolutely precise result, considering fixed cost influence and all! If you fail to ramp up your production by factor 4 though, it may happen that you end up in a completely different situation. In practice though, ask yourself the following questions:

- is it realistic to achieve this goal within the given time frame?
- are there any side effects? –
- check daily production time, you may need more workers!
- maybe you’ll need better material, or more energy: adjust those as well!
- remember that you may check all formula by tipping on the [T] icons.
- before turning your company around, check if all formula apply to your situation.

As you see,* System Dynamics* is not a crystal-ball approach. You get a perfect prediction if you know what you are doing. We assume you know your product, or it should be possible to talk to your engineers and find out about it.

*is that it relieves you from counting all these small effects together, that make up your company as a whole. You can concentrate on each singular parameter. Define a realistic future scenario by starting from today. What would be possible today if we got better machines, material, etc? – there you go. The only extra thing you need to consider is how long is it gonna take you to get there.*

**What PD does**One important thing to know is that you can always move the * Time Ruler* forward. In the screenshot above, the user has started a progression (100 => 200) with 100% rise. Then, he or she moved the

*forward. This way, the*

**Time Ruler***has started progressing along the given curve, which may or may not be what you want.*

**Time Ruler**Alternatively, try to move the * Time Ruler*, first. This way, all values will stay stable at 100, as it uses to be in stable (===) mode. Move the

*to t=12. If you now switch the Mode selector, the*

**Time Ruler****will again open up, at t=12, but this time start from a constant 100 products/day for the first 12 months, then start climbing up to 200 products/day, reached after 36 months, and then continue climbing down the hill.**

*Detail Input Panel*In * free steps* mode, when entering a value, the time ruler will move forward automatically. This allows you to enter one value after each other, by just hitting return after each value. Another way to achieve this is the

*panel. Here, click into the field you want to start from, enter your value, hit return, and it’ll directly focus on the next value.*

**Detail Value Table**After having committed the * Detail Input Panel* by hitting the green checkmark, the current

*shown in the*

**Input Value***will still show the starting value. But if you now move the central*

**Input Value Panel***forward, it will start moving and always reflect the current value at that point in time.*

**Time Ruler**This is because an Input Value can be different on each moment of time. All values that we observe in * Nature* would dynamically change all the time, even if the slightest. For ease of understanding, human has developed the typical time units we all know, from second to year, while time flows continuosly. Followed from that, there are rarely ever more than 100 steps on the time ruler, no matter what the simulation model is, as noone would build a simulation model with such a huge number of singular steps. Instead, you’d just redefine the time unit and use e.g. years instead of months.

If you want to see the progression of a single value, just open the * Detail Value Table* at the bottom of the screen. There you go – a long line of values, one for each moment in time, similar to an Excel Table.

In PD though, you could also look at your curve in the * Results Graph Panel*. The solver within PD is working so fast that we are showing live predictions. Your values should always be in Sync with each other, no matter what Panel you choose to look at.

**In the Detail Input Panel and Result Graphics Panel, an Input Value will be painted using a dashed line (- – -).**

**Target Values and Formula**

A * Target Value* in Dynamic Applications consists of a Radio Button, a Title, a Unit, a

*, and a current Value. As explained above, basically every item on a*

**Formula***with in-going parameters, results in a*

**Balanced Scorecard***in*

**Target Value**

**Predicted Desire.**There are two types of Target Values: simple * Target Values (T)*, and

**Stock Values (S).**In * System Dynamics* literature,

*are often referred to as*

**Target Values***. As we all know, if we look at nature and even technology over a large enough amount of time, everything will flow. Nevertheless, for ease of understanding, we call them Target Values.*

**Flows**As for * Stock Values*, these are collecting values much like a Stock is collecting bees, so we keep close to the System Dynamics definition, here. See below for more.

**Target Values (T):**

The * Formula *will show up if you move the mouse over the coloured icon. A formula in SD can contain any number of input values, or other (sub-) formula. As you can see,

*contains an algorithmic engine that will solve each of the formula from the list of target value, automatically. By then, it will know about the complete formula to calculate the current value from. This is possible if there is not an inner circle of formula depending on each other. That would only be possible if there was a time delay within the circle’s calcultion (we plan to support that, later). Within a*

**Predicted Desire***, there’s always a hierarchy within the formula system, resulting in a clear path of calculation of a value.*

**Balanced Scorecard**As a * Target Value* is always calculated, it is not possible to enter a value, manually.

To influence a Target Value, look up its formula (as shown in tooltip) and find the correct * Input Value* that you really want to change. In the tooltip, you’ll also see the formula resolved to a lengthy expression. This is only to give you an idea about the real calculation formula. Very long lines will be abbreviated by ‘…’, and you don’t want to read them.

Our * Formula Solver* will automatically resove and calculate all values for you.

For a detailed description of mathematical expressions supported in a * Formula*, please refer to the

*guide.*

**Desire Language Specification**Whenever you move the * Time Ruler*, the solver will calculate through all its formula, and show you their resulting, current

*at that moment in time.*

**Target Value****In the Detail Input Panel and Result Graphics Panel, a Target Value will be painted using a solid line with white dots (●-●-●-●).**

**Stock Values (S):**

While simple targets just caluculate the current value in time, a * Stock Value* accumulates values over time. So a

*is defined by referencing a*

**Stock Value***to sum up, or two targets: one Target Value to add upon, another Target Value that deducts from the stock.*

**Target Value**You can picture it as a * Stock of Bees*, accumulating all the bees flying in, minus the bees flying out. As well, as a

*, accumulating all arriving income in a single month, minus all the cost deductions of a single month.*

**Bank Account**In the picture shown, the * Stock Value* called

*will sum up the*

**Bank Account Balance***over time. At the starting point (t=0), the value would be equal to the first month’s net income. In the next step (t=1), the value the first and second month’s input, altogether. After 48 months, it would be total to a 4 year’s income.*

**Net Profit Target Value****In the Detail Input Panel and Result Graphics Panel, a Stock Value will also be painted using a solid line with white dots (●-●-●-●), just as any other Target Value. Although it has a different way of construction, it’s really used in the same way: both represent results of calculation.**

**A short excurse in Prediction Theory**

Mathematically spoken, a * Stock Value* accumulates all the different interval values of a function over time. We call that an

*over the target value’s formula. An equation including a Stock Value is therefore called a*

**Integral Function***.*

**Differential Equation**The automatic equation solver of * Predicted Desire* is able to resolve a set of coupled, linear, or non-linear

*. This is of course a heuristic (simplifying) approach. The equations are not solved mathematically, where one would be searching for simpler equations converting to the same result. Instead, the*

**Differential****Equations***just inserts the resulting set of*

**Solver***at the correct moment in time, and deliveres results near to the perfect solution. As in Math, the result would be the more precise, the more time steps we choose to simulate. This works exactly like the integration of a function over time, calculating the function’s area:*

**Input Values**If you simulate the developments of a company, you could define all * Input Values* in hourly income. Within 48 months, a huge amount of hours would accumulate. However, no real person would be able to guess upon a company development over 48 months on a daily, hourly, or even smaller basis. So we choose months and get a prediction in good approximation. As we choose to simulate in a monthly interval, we’d also interprete all input and target values on a monthly basis. So, the accumulation of monthly income, accumulating all days and hours where money came in, would be done by the user when setting up their

*, naturally.*

**Input Values**This is also why we chose for rectangular integration in the standard product: this way, everyone can verify a * Stock Value* by performing a sum-up of the underlying

*with a pocket calculator.*

**Target Values**This way, we achive * Perfect Prediction *without having to look at infinitely small timed intervals. We define a perfect prediction as giving the exact results over time as long as all the single value developments were approximated, correctly.

In theory, we could also use a more sophisticated method of integration, like Euler’s integration. In the simplest case, this would use diagonal connections at the top of each rectangle, which would approximate the real function more closely. A variant that is really easy to calculate, with the trade-off of a more difficult verification for our users. Overall, the difference of both integrals should come down to a very few percent, and considering that we have a lot of unknown dependencies when thinking about future developments, we thought that rectangular integration is just perfect for most real-life cases.

As almost all the formula in a typical * System Dynamics* application do consist of simple addition and multiplication of monetary values, we typically get fairly good results if we are able to approximate their development, nearby.

Even if we use an exponential value development with a strongly accelerating value, as long as the dependent * Formula* do consist of linear addition and multiplication (typical), we get very good predictions if we just manage to estimate every single value’s increase.

Remember that we use * Stock Values* for any kind of accumulating function, like real-life bank accounts (money), stocks, piles, and stacks (material), or total balance of a situation.

Typically, in every simulation model you’d expect at least one * Stock Value.* It’ll show you the development of your most interesting

*, like your Net Profit development 0ver time, the total amortization of your PV System, etc.*

**Target Value*** System Dynamics* is a

*approach. It’s all about keeping your*

**Sustainability**

**World in Balance.****Detail Input Panel**

The * Detail Input Panel* allows you to to fine-tune (predict) each single

*. It will be automatically activated as soon as you activate an*

**Input Value***by selecting its RadioButton, entering its Value TextBox, or modifying its development Mode ComboBox.*

**Input Value**The * Detail Input Panel* will apply the current Mode selection to the value.

As you can see, the current value (75.00) from the * Input Value Panel *will be used as a starting point. For the remaining simulation time, the selected mode’s development curve will be applied.

Please note that you always have to accept any value’s modification by clicking the * green checkmark icon* on the

*. Otherwise, it will be temporary shown on the Detail Input Panel. The new curve will be transferred to the original Input Value only if you confirm the mode change by clicking the green checkmark icon.*

**Detail Input Panel**This will allow you to toggle through a couple of modes and select the right development curve, without destroying any current values. If you change your mind, there’s always the * red cross cancel icon. *It will perform a simple undo to the last confirmed value.

The * red cross cancel icon* will reset the curve to the last confirmed state, as well as notify the original

*, which will also reset its mode selector.*

**Input Value**The D* efault Scaling (2x)* of your

*will be automatically adjusted so that the maximum value approximated by the chosen curve will be*

**Input Value***the current value.*

**twice**In the example, the current value is 75 daily sales, so the maximum value will be 150 daily sales. This is true for all the functions in the list, so that we can switch development modes and still get comparable results by default.

The (o) circle marker will identify the reference value of the associated curve and allow you to enter a different, more appropriate reference value to reach, in the TextBox. The scaling of the curve will then be automatically re-calculated, the curve will be adjusted to reach your chosen value, and you may see the scaling of the * y axis *being changed, accordingly.

The * trending *mode (trend curve) is an exception, as we got an overshoot here: the maximum is even higher as the reference point. It is typical for a real

*to result in a first hype, then fall down to the valley of depression, and finally reach the productive target we’re interested in.*

**Trend Curve***is a sustainability approach, and we’re always interested in long-term developments.*

**System Dynamics**The other exception here is the * down *mode that will lead to

**the current value.**

*half (0.5x)*In **free steps** mode, an automatic maximum doesn’t make sense as this mode is for entering manual, freely chosen steps, yourself. Here, you’ll see the * Current Value* in the selector box, and you can enter every next value, manually. As soon as you enter a value, the central

*will move forward to the next step. You can accept the same value by just hitting enter, or type in a new value for that step.*

**Time Ruler****Result Graph Panel**

The * Result Graph Panel* will show the development of all

*within the simulation time period.*

**Input and Target Values**The * x Axis* of the

*the development of*

**Result Graph shows***over time.*

**Input and Target Values**The * y Axis* of the

*will show the function values, i.e. the*

**Result Graph***as calculated by their associated detail*

**Target Values***. Each value will be represented at its point in time on chart; however, a comparison of values does only really make sense if you choose values bearing the same*

**Formula***. Still, it’s possible to display all kinds of values, as it may be a useful visual feedback when adjusting the single*

**Value****Unit***.*

**Input Values**At the moment, there is no real distinction between the values. As a hint though, each value has got its own formula. * Target Values* will show a line of white dots,

*will show a dashed line.*

**Input Values**To find out about a specific curve, simply toggle (deactivate) any Input or Target Value with a matching colour. To find out about specific detail values, check the * Detail Value Table* section, below. It will automatically show the last activated value, also for Target Values.

A display curve in will be shown for every value that has got an activated * Radio Button*.

**Detail Value Table**

The * Detail Value Table* displays the most recently activated

*development over time in detail.*

**Input or Target Value’s**The current * Time* will be highlighted with an arrow (

**=> t: [0]**), the value displayed will be shown in the title bar (‘Bread -> daily sales’).

The Value line will show a single value’s development in all iterations over time.

In case of selecting an * Input Value*, you can click into any field to adjust that value, manually. The central

*will move forward automatically, so you can directly continue and adjust the next value.*

**Time Ruler**In case of selecting a * Target (or Stock) Value*, all values will be presented read-only.

In the example shown, you can see how the Bank Account Balance – a * Stock Value* – is accumulating the net profit value of 835.00 € over time.

Internally, all * Input and Target Values* are calculated in

*The values are rounded to two-digit display for financial application (currency). Large values (10000+) are automatically rounded to whole numbers, very large values use scientific notation (1.234e6). Small numbers are shown in detail (0.0015), very small numbers also use scientific notation (1.5e-7). This applies to all panels and result graphs of the application.*

**double precision.****Navigation**

**Page 1 -> Top: Main User Interface – Model Selector – Time Ruler – User Voting
**

**Page 2 -> Top: Input Values – Target**

**Values – Formula – Result Graphics – Detail Values**