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.
Packages
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. Once Packages are installed, they will appear in the Packages window under Installed Packages, as illustrated below. If a SyncroSim Package doesn't already exist for your needs, you can easily create your own Package.
A Package consists of two parts: (1) an XML configuration file, specifying the format of the input and output data required by your model, and (2) the code for your model calculations.
Models
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.
Note
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.
Libraries
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. Below is an example of the Library Properties window in SyncroSim.
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 (see the *Import feature below), and (2) the ability to script data preparation workflows - in programming languages such as R and Python - using the command line version of SyncroSim.
Scenarios
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 (see Data Sources tab in the image below - Datafeeds correspond to the Forecast Settings and Annual Sales tabs). 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.
Running Models
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 models' progress (see green progress bars below) and runs. Multiple models can be run simultaneously. To accelerate the runtime, you can use the Multiprocessing tool to exploit multiple cores within your computer. All of the input and output Datafeeds associated with each model run are logged and stored, by Scenario, within the SyncroSim Library (illustrated in the Library Explorer below).
Note
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.
Analyzing Results
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).
What Next?
- Install SyncroSim on Windows, Linux, or Mac OS X
- Learn the basics of SyncroSim by following the Quickstart Tutorial
- Find out more about using the rsyncrosim R Package or the pysyncrosim Python Package for interacting with SyncroSim