Lately we have received a couple messages from customers asking if it’s possible to use the Monte Carlo simulation and distribution fitting features of EasyFit in their own software applications. The short answer is yes, but these features are limited to calculating some distribution functions in Excel VBA. There’s currently no way to run simulations, fit distributions to data, perform goodness of fit tests, or use distribution functions from C#, C++, VB.NET, and other programming languages.
To fill the gap, we are considering to create a Simulation & Probabilistic Analysis Software Development Kit (SPA SDK) for software developers who need to deal with risk & uncertainty in their applications, but don’t have time or expertise to design and implement the required features on their own. We already have in place the tried and true technology that’s a basis for our distribution fitting products EasyFit and EasyFitXL, so creating an SDK would be possible in a short period of time.
Since we have had only a few requests for an SDK, we would like to know whether you would be interested in such kind of product. Below is our vision for the SDK – you are welcome to express any thoughts or specific requirements you might have. Please feel free to contact us and we will take your input seriously.
Update: The free beta version of the SDK is now available for download – please click here for details.
What is a Simulation & Probabilistic Analysis Software Development Kit (SPA SDK) ?
A SPA SDK is a set of development tools that can be used with your custom applications to perform Monte Carlo simulation and probabilistic analysis of random data, and includes an API (Application Programming Interface) for use with various development environments, code libraries, example programs, documentation, and technical support.
What are the typical applications of the Simulation & Probabilistic Analysis SDK?
Create custom desktop applications:
To run simulations and analyze random data, many businesses use desktop software providing rich functionality and reporting capabilities. However, in certain cases it’s necessary to integrate these functions into a larger product that has its own feature set and user interface. For example, a desktop project management application could include the Monte Carlo simulation capability to allow for uncertainty in evaluating project completion times.
Distribute your solutions over the Internet or corporate network:
Corporate customers can use the SDK to integrate the simulation or distribution fitting features into their specific enterprise-wide solutions and deploy them over the Internet or LAN, allowing end-users to access these tools using a Web browser. This deployment model helps reduce installation and support costs since the software only needs to be installed and configured on the server. On the other hand, efficient server scaling and load balancing allows for more resource-intensive applications that can’t be run on desktop computers.
Create strictly server-based solutions:
Modern desktop risk analysis products work in an interactive or a semi-interactive mode, requiring periodic user intervention in the analysis process, while many times the analysis needs to be performed in an automated fashion, in batch mode, or by following a specific set of rules. These applications typically assume processing large amounts of data with no or little user interaction – for example, running thousands of simulations of a model on the server, and using the simulation results to control some external process in real time.
Who & how can benefit from using the Simulation & Probabilistic Analysis SDK?
If you are developing desktop, web-based or strictly server software applications that deal with risk or uncertainty in any way, you can benefit from using the SDK in several ways:
Save money & reduce your time-to-market:
With SDK, you don’t need to implement advanced algorithms or hire expensive consultants to get the job done. We have invested thousands of expert man-hours into the research and development of the algorithms used in EasyFit, so you can save time and maximize your ROI by using our solution rather than creating it from scratch.
Reduce risk and make better decisions:
By leveraging our expertise, you can avoid analysis errors and minimize risks involved in making decisions based on the analysis results. Our state-of-the-art technology is heavily tested with real world data by hundreds of customers across diverse industries.
Get most out of the probabilistic risk analysis approach:
To date, EasyFit is the most feature-rich simulation and distribution fitting application available on the market, offering support for more than 55 different distributions, and enabling you to select a probability model that best fits to your data. This ensures that you build the most adequate model possible, and the better your probabilistic model represents the reality, the better decisions you can derive from that model.
What features would be included into the Simulation & Probabilistic Analysis SDK?
The SPA SDK would enable you to use most of the features available in our distribution fitting products EasyFit and EasyFitXL directly in your software applications. Specifically, the SDK will allow to:
- run Monte Carlo simulations – generate random numbers from 55+ distributions
- automatically fit probability distributions to data (estimate distribution parameters from sample data)
- compare the fitted distributions and select the best model using the goodness of fit tests
- calculate key distribution statistics, such as mode, mean and variance
- make probabilistic projections & calculate probabilities based on the selected distributions
- professionally present the analysis results – create high quality output charts and reports
What development platforms and operating systems will be supported?
The supported development platforms will include the .NET environment (C#, VB.NET, ASP.NET etc.) and all languages that support the COM technology – Visual C++ and Visual Basic are just two examples.
We currently plan to support the Windows operating system only. Creating versions of the Simulation & Probabilistic Analysis SDK for other operating systems such as Linux or Unix would be possible if there is enough demand for such a product.
How the Simulation & Probabilistic Analysis SDK will be licensed?
We plan on offering a variety of licenses to meet your specific needs, ranging from per-seat developer licenses to server licenses and royalty-free distribution licenses. In addition, we are considering to offer an open source license for your internal research & development use.
What kind of support do you plan to offer?
We will be offering several levels of support, including free support via email, online discussion forums, and paid consulting services. If you don’t have development resources available to complete a software project involving the use of our SDK, or require a customization of the product to tailor your needs, we would be glad to offer you our professional help at a competitive rate.
How do I get involved?
If you are interested in a product described on this page, have any questions or suggestions, or would like to become a beta tester, please let us know your specific requirements. The more requests we receive, the better we will understand the minimum required feature set for the first release, and the faster we will proceed to creating the product.
Update: The free beta version of the SDK is now available, so we invite software developers to take part in our beta testing program – please click here for details.