Overview of SyncroSim
SyncroSim is a software platform that helps you turn your data into forecasts.
At the core of SyncroSim is an engine that automatically structures your existing data, regardless of its original format. SyncroSim then feeds this structured data through a suite of calculations (i.e. a model) in order to transform the data into forecasts. SyncroSim also provides a rich interface for you and others to interact with your data and models, in order to explore and track the consequences of alternative "what-if" forecasting scenarios.
The first step in using SyncroSim is to load a SyncroSim Package. Each Package provides SyncroSim with a roadmap to the data and model calculations for your particular problem. Several Packages exist already for SyncroSim, many of which are available for download from the SyncroSim Online Package Server. If a SyncroSim Package doesn't already exist for your needs, you can easily create your own Package.
Every model in SyncroSim is broken down into a series of Transformers. Each Transformer takes as input one or more Datafeeds - that is, a structured collection (e.g. a table) of data - and in turn transforms this data into one or more output Datafeeds. A simple Package will consist of only a single Transformer; more complex Packages can include several linked Transformers, where the output Datafeeds of one Transformer serve as input Datafeeds to other Transformers.
SyncroSim Transformers can be written in just about any programming language, and can include off-the-shelf programs. Commonly used languages include R, Python, C# and VB.
Once a Package has been loaded, the next step is to create a SyncroSim Library. A Library is simply a file (with extension .ssim) for storing all of your model inputs and outputs (i.e. Datafeeds); the format of each Library is specific to the Package for which it was created. This is another key feature of SyncroSim: based on the Package's roadmap (i.e. configuration file), the software automatically creates a customized database structure for storing all of your model's inputs and outputs.
SyncroSim provides you with several alternatives for moving tabular and raster data in to and out of your Library, including (1) built-in support for import/export using Microsoft Excel through the SyncroSim user interface, and (2) the ability to script data preparation workflows - in programming languages such as R and Python - using the command line version of SyncroSim.
Before you can run a model in SyncroSim you must provide values for all of your model's required inputs - that is, for all of the Package's input Datafeeds. In SyncroSim we refer to this suite of values as a Scenario of model inputs. As you develop Scenarios in SyncroSim, all of the data associated with each Scenario are stored automatically in your SyncroSim Library. A key feature of SyncroSim is its extensive support for mixing and matching Datafeeds across Scenarios, allowing you to automatically track the evolving data dependencies between the inputs of your various Scenarios.
Once you have specified one or more Scenarios of model inputs, you are then ready to Run your model. SyncroSim allows you to run all of your model inputs (i.e. input Datafeeds), one Scenario at a time, through your model calculations (i.e. Transformers); the result of a model run is a corresponding set of model outputs (i.e. Output Datafeeds) for each Scenario. Model runs can be launched from either the SyncroSim user interface or from the command line.
A key feature of SyncroSim is its automatic tracking of all model runs: all of the input and output Datafeeds associated with each model run are logged and stored, by Scenario, within the SyncroSim Library.
SyncroSim includes built-in support for running stochastic (i.e. Monte Carlo) simulations, including both spatial (i.e. raster) and time-dependent models; it also includes extensive support for multi-processing.
The SyncroSim user interface includes a rich suite of tools for interactively drilling down and comparing model results across Scenarios, using charts and maps, along with the ability to easily export your output to other applications (e.g. Microsoft Excel). In addition, the command line version of SyncroSim allows you to write your own code to query your results using other programming languages (e.g. R and Python).