The Technology
Building Your Application

@RISK Developer's Kit
BestFit Developer's Kit
Order Now
Object Model
Online Help Files
Evolver Developer's Kit
RISKOptimizer Developer's Kit
Trial Versions

BestFit 4.5

Academic Programmes
Corporate Licensing
Home > Palisade Products > Developer Kits > BDK

BestFit Developer's Kit

Add Distribution Fitting to Any Application!

Apply BestFit's sophisticated distribution fitting technology to your own application with the BestFit Developer's Kit! Click to view larger graphic. Click here to go to this model.

The BestFit Developer's Kit (BDK) allows you to fit probability distribution functions to data using Windows and .NET programming languages, such as C, C#, C++, Visual Basic, or Visual Basic .NET. Examples of programs written in Windows and .NET programming languages are provided.

The BDK can be used to select probability distributions based on historical or sampled data to be used in any Windows program. Fitting distributions to data sets focuses a model and helps to accurately define the uncertain factors, thereby saving time and avoiding costly errors. All of the fitting methods, distribution functions, and many graphs in BestFit are included with the BDK. Using the BDK, you can develop your own custom applications that use the same sophisticated fitting techniques.

Why Use the BDK?
BestFit traditionally is used for fitting distributions to data in Windows. Typically, BestFit is used in conjunction with @RISK for fitting distributions to data in spreadsheet risk analysis models. For many users the spreadsheet is the preferred modelling environment. However, many times an application written in a standard programming language needs distribution fitting capabilities. The application will have its own user interface, variables and model calculations. In addition, a developer may want to allow users to access the application over a corporate network or over the Internet.

The BDK allows custom applications such as these to fit distribution functions to data and generate result graphs and statistics. Fitting done in applications written with the BDK will often run faster than fitting done in BestFit or in spreadsheet versions of @RISK in which BestFit is integrated. This is because BDK applications are compiled and do not contain the additional processing that occurs during spreadsheet recalculation.

Define uncertainty in your programs and distribute them over the Internet using the BDK. Click to view larger graphic.

Distribute Custom Solutions Over the Web
The BDK allows you to streamline the distribution of your custom solutions through enterprise-wide web deployment. Server-based models - such as corporate financial models, engineering applications, and financial planning tools - can be accessed over the Internet from any browser, allowing users to enter model parameters and inputs, run distribution fits, and view results and graphs. Model structure, logic, and BDK fitting libraries are stored on the server, ensuring consistency for all end-users and removing local installation and support issues.

ActiveX Interface Makes Integrating Fitting Easy
The BDK ships with two programming interfaces: the ActiveX Interface and the standard DLL Interface.

ActiveX Interface
The ActiveX/COM Interface makes development of customised uncertainty description easy. An intuitive set of methods and properties allow the developer to quickly set up a fitting model in a custom application - defining input data and fitting settings. (See a list of methods and properties, by object, here.) This interface can be used in any ActiveX-aware programming environment such as Visual Basic or C++. Example programs are included.

Because the .NET environment offers the COM Interoperability feature, .NET programmers can also take advantage of the easy-to-use ActiveX/COM interface. Examples in two .NET programming languages – C# and Visual Basic .NET – are included.

DLL Interface
The BDK DLL Interface includes a library of functions that allows you to build distribution fitting models using C, Visual Basic or other programming languages. Use of the BDK function library requires an installed programming language and knowledge of programming techniques. You are not, however, restricted to using these languages for developing your programs. Any Windows-based language which can call .DLL functions can be used for developing BDK applications using the BDK DLL Interface. Example programs in C++ and Visual Basic are included.

Distribution Fitting and the BDK
Who should use distribution fitting? Anyone who works with data can take advantage of the BDK's fitting technology. Apply it to business situations such as actuarial or claims adjustment, or to science and engineering problems such as oil well drilling or time between events.

So why fit distributions to data? Because if you don't (or if you select the wrong distribution), any analysis you run could have serious errors that can cost you time and money. If your data was generated by a random process, you'll get the best modelling results possible by accurately describing that process. And the best way to do that is with a fitted probability distribution.

How the BDK Works
The goal of the BDK engine is to find the distribution that best fits your input data. The BDK does not produce an absolute answer; rather, it identifies a distribution that most likely produced your data. Always evaluate your BDK results quantitatively and qualitatively, examining both the comparison graphs and statistics before using a result.

The BDK goes through the following steps when finding the best fit for your input data:

The BDK offers all the information you need to decide which fit is the best, and whether that fit is good enough to use. All results, including graphs, statistics and distribution functions, can easily be integrated with your program for further analysis and presentation.

Typical Applications that Can Incorporate the BDK

Capital Budgeting
Chemical Process Engineering
Corporate Planning
Cost Analysis
Engineering Reliability
Environmental Impacts & Policy
Foreign Exchange Modeling
Health Risk Assessment
Mergers & Acquisitions
Mortgage Pricing
Operation Research Analysis
Petroleum and Mining Resource
R&D Assessment
Toxicological Analysis
And any other field where there
     is uncertainty

BestFit Developer's Kit Features
Historical data sets can be fit to any of 28 probability distributions.
ActiveX programming interface makes development easy
Examples in Windows and .NET programming languages
Sample, density or cumulative data can be fit and data can be filtered prior to fitting.
Fit results are ranked according any of three goodness-of-fit tests - Chi-Square, Anderson-Darling or Kolmogorov-Smirnov.
Extensive statistics on fit results are generated including mean, standard deviation and other standard statistics, along with critical values and p-values.
Custom chi-square binning is allowed.
Graphs of fit results which overlay input data with fitted probability distributions are available using the Microsoft Excel-based charting engine.
Charts are also available in bitmap, metafile, or .JPG format using the BestFit charting engine for use in desktop, network, or web environments.
Input data sets and fit results have built in properties and methods that allow access to all fitting options and fit results directly in code. (See a list of methods and properties, by object, here.)
Deploy BDK applications over a network or Web server for efficient distribution

BDK Distribution Functions

The BDK will fit data to the following distribution types:

Beta General
Error Function
Extreme Value
Inverse Gaussian
Negative Binomial
Pareto 2
Pearson Type V
Pearson VI
Student's t

Development Options That Meet Your Needs
The BDK Developer Edition gives you everything you need to get up and running with your own optimisation application. Affordable and flexible, it is ideal for developing and testing custom optimisation solutions. Multiple Developer Kits can be purchased to run applications in small workgroups. The Developer Edition includes:

DLL and ActiveX functions to perform all BestFit features as described above
Examples in Windows and .NET programming languages
Installer for deployment of an unlimited number of 30-day demo licenses of any application developed using the BDK

The Developer Edition is designed for software development and testing. To run applications in a production setting, Palisade offers customised deployment licenses. We can work with you to develop a tailored BDK licensing solution to meet your organisation’s needs. Call our Technical Sales department at +44 1895 425050 or e-mail us at to discuss your licensing needs.

View example models using BDK.

Order BestFit Developer's Kit Now!

Download Only
BestFit Developer's Kit
Note: Applications developed using the BDK cannot be left running unattended for long periods or in a production environment. The Developer's Kit is designed for software development and testing only. To run applications unattended or in a production setting, or to distribute finished applications, contact Manuel Carmona at +44 1895 425050 to discuss licensing options.
Save £15

  Prices include one year of Maintenance, which can be removed from your shopping cart at any time.
Download Only (Save all shipping charges.)
No, ship me BDK. (I will enter my shipping address later.)



Free Trial Version: Download software now and use for 30 days, free! Download here.

System Requirements: IBM PC compatible Pentium or higher; Microsoft 98, Me, 2000, NT; 16MB RAM installed.

Recommended: 32MB RAM installed.

Technical Support: Technical and development support is available. Please or call our Sales Department for details.