Release Notes

Version 0.15.0 (2022-07-20)

New features:

  • Optimal binning 2D support to categorical variables for binary and continuous target.


  • Integer intercept if rounding=True (Issue 165).

  • Parameter show_digits applies to scorecard table bin column (Issue 170).


  • Fix Scorecard.score method when there are special and missing bins. (Issue 179).

  • Fix x and y axis labels in OptimalBinning2D plots, x and y were interchanged.

Version 0.14.1 (2022-04-11)


  • Fix new setup function.

Version 0.14.0 (2022-04-10)

New features:

  • Optimal binning 2D with continuous target.


  • Set tdigest and pympler dependencies as optional. This change avoids accumulation-tree issues faced by several users. Remove dill dependency.

  • New continuous binning objective function leading to improvements in regression metrics.


  • Fix binning 2D minimum difference constraints.


  • Tutorial: optimal binning 2D with continuous target

Version 0.13.1 (2022-02-18)


  • Fix binning process summary update (Issue 151).

  • Fix pandas 1.4.0 (python > 3.8) slicing issue with method at (Pull 148).

  • Fix minor typos (Pull 147).

  • Fix binning plot for multiple special values.

Version 0.13.0 (2021-11-24)

New features:

  • Treatment of special codes separately for optbinning classes (Issue 115).


  • Various bug fixes for the OptimalBinning2D class. See Issue 138, for instance.


  • Tutorial: optimal binning 2D with binary target

Version 0.12.2 (2021-10-03)


  • Do not store optimization solver instance as class attribute.

  • Do not store logger as a class attribute.

Version 0.12.1 (2021-09-12)

New features:

  • Binning process supports sample_weight for binary target. Issue 124

  • Binning process can fix variables not satisfying selection criteria. Issue 123

Version 0.12.0 (2021-08-28)

New features:

  • Optimal binning 2D with binary target.


  • Update bin string format in binning tables.

  • Simplify logic when style="actual" in binning table plots.

API changes:

  • Scorecard fit method arguments changed to the usual (X, y): Issue 111

Version 0.11.0 (2021-05-28)

New features:

  • Counterfactual explanations for scorecard modelling.


  • Replace pickle by dill in save and load methods.


  • Parallel binning uses joblib: Issue 103

  • Fix custom metric_special and metric_missing in binning_transform_params.

Version 0.10.0 (2021-04-27)

New features:

  • Batch and streaming binning process.


  • Improve LocalSolver formulation for optimal binning with a binary target.


  • Fix MulticlassOptimalBinning when no prebins: Issue 94

  • Fix metric_missing and metric_special defined for fitting, but not for predictions or scorecard points: Issue 100

Version 0.9.2 (2021-03-12)

New features:

  • Binning process can update binned variables with new optimal binning object using method update_binned_variable.


  • Prevent large divisions to avoid overflow issues with int32 during Gini calculation.


  • Tutorial: FICO Explainable Machine Learning Challenge - updating binning

Version 0.9.1 (2021-02-14)

New features:

  • Binning process can be constructed using OptimalBinning objects previously fitted. Method fit_from_dict.

  • Binning process can process large datasets directly on disk. Allowed file formats are csv and parquet. Methods fit_disk, fit_transform_disk and transform_disk.


  • Fix saving all OptBinning classes: Issue 77

Version 0.9.0 (2021-01-14)

New features:

  • Optimal piecewise polynomial binning.

  • New plotting option for binning table for binary and continuous target. Parameter style allows to represent the binning plot with the actual scale, i.e., actual bin widths.


  • Improve computation of p-values and binning table analysis for ContinuousOptimalBinning.


  • Tutorial: optimal piecewise binning with binary target

  • Tutorial: optimal piecewise binning with continuous target


Version 0.8.0 (2020-09-18)

New features:

  • Scorecard monitoring supporting binning and continuous target.

  • OptimalBinning computes the Kolmogorov-Smirnov statistic.

  • Optimal binning classes show optimal monotonic trend information in the binning table analysis method.

  • ContinuousBinningTable adds method analysis.

  • Scorecard incorporates methods load and save to serialize and deserialize a scorecard using pickle module.

  • BinningProcess class supports multiprocessing via parameter n_jobs.


  • Tutorial: Scorecard monitoring

Version 0.7.0 (2020-07-19)

New features:

  • Batch and streaming optimal binning.

  • New parameter divergence to select the divergence measure to maximize.


  • Tutorial: optimal binning sketch with binary target

  • Tutorial: optimal binning sketch with binary target using PySpark


  • Catch error from Qhull library used by scipy.spatial.ConvexHull.

Version 0.6.1 (2020-06-07)

New features:

  • Options add_special and add_missing in all binning table plots.

  • Prebinning methods’ parameters are accessible via **prebinning_kwargs.

  • Add support MDLP algorithm for binary target.


  • Fix bug in solution when the status is not feasible or optimal for LocalSolver, solver="ls".

  • Fix several bugs for categorical variables with user_splits and user_splits_fixed.

  • Fix bug in binning process when passing user_splits and user_splits_fixed via parameter binning_fit_params.

Version 0.6.0 (2020-05-24)

New features:

  • Scorecard development supporting binary and continuous target.

  • Plotting functions: plot_auc_roc, plot_cap and plot_ks.

  • Optimal binning classes introduce sample_weight parameter in methods fit and fit_transform.

  • Optimal binning classes introduce two options for parameter metric in methods fit_transform and transform: metric="bins" and metric="indices".


  • Tutorial: optimal binning with binary target - large scale.

  • Tutorial: Scorecard with binary target.

  • Tutorial: Scorecard with continuous target.

Version 0.5.0 (2020-04-13)

New features:

  • Scenario-based stochastic optimal binning.

  • New parameter user_split_fixed to force user-defined split points.


  • Tutorial: Telco customer churn.

  • Tutorial: optimal binning with binary target under uncertainty.


  • Fix monotonic trend for non-auto mode in MulticlassOptimalBinning.

Version 0.4.0 (2020-03-22)

New features:

  • New monotonic_trend auto modes options: “auto_heuristic” and “auto_asc_desc”.

  • New monotonic_trend options: “peak_heuristic” and “valley_heuristic”. These options produce a remarkable speedup for large size instances.

  • Minimum Description Length Principle (MDLP) discretization algorithm.


  • BinningProcess now supports pandas.DataFrame as input X.

  • New unit test added.

Version 0.3.1 (2020-03-17)


  • Fix packages using find_packages.

Version 0.3.0 (2020-03-13)

New features:

  • Class OptBinning introduces a new constraint to reduce dominating bins, using parameter gamma.

  • Metrics HHI, HHI regularized and Cramer’s V added to binning_table.analysis method. Updated quality score.

  • Added column min/max target and zeros count to ContinuousOptimalBinning binning table.

  • Binning algorithms support univariate outlier detection methods.


  • Tutorial: optimal binning with binary target. New section: Reduction of dominating bins.

  • Enhance binning process tutorials.

Version 0.2.0 (2020-02-02)

New features:

  • Binning process to support optimal binning of all variables in dataset.

  • Added print_output option to binning_table.analysis method.


  • New unit tests added.


  • Tutorial: Binning process with Scikit-learn pipelines.

  • Tutorial: FICO Explainable Machine Learning Challenge using binning process.


  • Fix OptBinning.information print level default option.

  • Avoid numpy.digitize if no splits.

  • Compute Gini in method.

Version 0.1.1 (2020-01-24)


  • Fix a bug in OptimalBinning.fit_transform when calling tranform internally.

  • Replace by np.int64 in functions to guarantee 64-bit integer on Windows.

  • Fix a bug in _chech_metric_special_missing.

Version 0.1.0 (2020-01-22)

  • First release of OptBinning.