Package: OptimalBinningWoE 1.14.1

OptimalBinningWoE: Optimal Binning and Weight of Evidence Framework for Modeling

High-performance implementation of 28 binning algorithms (37 implementations: 21 numerical, 16 categorical) for Weight of Evidence ('WoE') transformation, credit scoring, and risk modeling. Methods include dynamic programming over ordered levels, entropy-based ('MDLP') and chi-square ('ChiMerge') partitioning, isotonic regression, simulated annealing, kernel-density binning, sketch-based binning (KLL and Count-Min), and greedy merging heuristics. Features a default algorithm chosen from the target type, monotonicity enforcement where the algorithm supports it, and efficient handling of large datasets via 'Rcpp'. Provides automated variable screening by Information Value strength and bin ordering, and generation of the equivalent 'SQL' 'CASE' expressions for in-database scoring. Fully integrated with the 'tidymodels' ecosystem for building robust machine learning pipelines. Based on methods described in Siddiqi (2006) <doi:10.1002/9781119201731> and Navas-Palencia (2020) <doi:10.48550/arXiv.2001.08025>.

Authors:José Evandeilton Lopes [aut, cre, cph]

OptimalBinningWoE_1.14.1.tar.gz
OptimalBinningWoE_1.14.1.zip(r-4.7-x86_64)OptimalBinningWoE_1.14.1.zip(r-4.7-arm64)OptimalBinningWoE_1.14.1.zip(r-4.6-x86_64)OptimalBinningWoE_1.14.1.zip(r-4.6-arm64)OptimalBinningWoE_1.14.1.zip(r-4.5-x86_64)
OptimalBinningWoE_1.14.1.tgz(r-4.6-x86_64)OptimalBinningWoE_1.14.1.tgz(r-4.6-arm64)OptimalBinningWoE_1.14.1.tgz(r-4.5-x86_64)OptimalBinningWoE_1.14.1.tgz(r-4.5-arm64)
OptimalBinningWoE_1.14.1.tar.gz(r-4.7-arm64)OptimalBinningWoE_1.14.1.tar.gz(r-4.7-x86_64)OptimalBinningWoE_1.14.1.tar.gz(r-4.6-arm64)OptimalBinningWoE_1.14.1.tar.gz(r-4.6-x86_64)
OptimalBinningWoE_1.14.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
OptimalBinningWoE/json (API)

# Install 'OptimalBinningWoE' in R:
install.packages('OptimalBinningWoE', repos = c('https://evandeilton.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/evandeilton/optimalbinningwoe/issues

Pkgdown/docs site:https://evandeilton.github.io

Uses libs:
  • c++– GNU Standard C++ Library v3
  • openmp– GCC OpenMP (GOMP) support library

On CRAN:

Conda:

binningcredit-scoringfeature-engineeringmodelingrisksupervised-learningwoecppopenmp

6.63 score 4 stars 1 packages 14 scripts 554 downloads 69 exports 66 dependencies

Last updated from:e5a17f34b2. Checks:13 OK, 2 ERROR. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK346
linux-devel-x86_64OK415
source / vignettesOK523
linux-release-arm64OK337
linux-release-x86_64OK372
macos-release-arm64OK299
macos-release-x86_64OK752
macos-oldrel-arm64OK329
macos-oldrel-x86_64OK520
windows-devel-arm64ERROR487
windows-devel-x86_64OK478
windows-release-arm64ERROR502
windows-release-x86_64OK455
windows-oldrel-x86_64OK370
wasm-releaseOK256

Exports:.categorical_only_algorithms.numerical_only_algorithms.universal_algorithms.valid_algorithmscontrol.obwoecontrol.obwoe_scorecardob_apply_woe_catob_apply_woe_numob_categorical_cmob_categorical_dmivob_categorical_dpob_categorical_fetbob_categorical_gmbob_categorical_ivbob_categorical_jediob_categorical_jedi_mwoeob_categorical_mbaob_categorical_milpob_categorical_mobob_categorical_sabob_categorical_sblpob_categorical_sketchob_categorical_swbob_categorical_udtob_check_distinctsob_cutpoints_catob_cutpoints_numob_numerical_bbob_numerical_cmob_numerical_dmivob_numerical_dpob_numerical_ewbob_numerical_fast_mdlpob_numerical_fetbob_numerical_irob_numerical_jediob_numerical_jedi_mwoeob_numerical_kmbob_numerical_ldbob_numerical_lpdbob_numerical_mblpob_numerical_mdlpob_numerical_mobob_numerical_mrblpob_numerical_oslpob_numerical_sketchob_numerical_ubsdob_numerical_udtob_preprocessobcorrobwoeobwoe_algorithmobwoe_algorithmsobwoe_applyobwoe_bin_cutoffobwoe_gainsobwoe_gains_scoreobwoe_gains_variableobwoe_max_binsobwoe_min_binsobwoe_pruneobwoe_psiobwoe_reportobwoe_scaleobwoe_scoreobwoe_scorecardobwoe_selectobwoe_sqlstep_obwoe

Dependencies:classcliclockcodetoolscpp11data.tablediagramdialsDiceDesigndigestdplyrfarverfuturefuture.applygenericsggplot2globalsgluegowergtablehardhatipredisobandKernSmoothlabelinglatticelavalifecyclelistenvlubridatemagrittrMASSMatrixnnetnumDerivparallellypillarpkgconfigprodlimprogressrpurrrR6RColorBrewerRcpprecipesrlangrpartS7scalessfdshapesparsevctrsSQUAREMstringistringrsurvivaltibbletidyrtidyselecttimechangetimeDatetzdbutf8vctrsviridisLitewithr

Algorithm Reference: the 37 Binning Engines
Scope, and how this was written | Two ways to run an algorithm | obwoe() does not forward algorithm-specific parameters | Coverage | The quantity being optimized | Choosing an algorithm | Reference, organized by mechanism | Exact dynamic programming | Recursive entropy partitioning | Bottom-up MDL cost | Statistical merging | Isotonic regression | Density-based | Distribution-based initialization | Divergence-driven | Streaming | Greedy merging under an IV or WoE criterion | Metaheuristic | Measured behavior | Known limitations | References | What could not be verified

Last update: 2026-10-15
Started: 2026-08-22

Optimal Binning and Weight of Evidence: A Practical Guide
Why bin | The quantities | Weight of Evidence | Information Value | Monotonicity | The data | One variable, end to end | Reading the gains table | All variables at once | Screening with obwoe_select() | The bin-level view | Rare levels and bin_cutoff | Choosing an algorithm | Applying the transformation | Exporting to SQL | Preprocessing | Where to go next | References

Last update: 2026-10-15
Started: 2025-12-21

An Industrial Scorecard Pipeline
The setting | A realistic origination base | Missing values become levels | Screening at scale | The two rejections worth reading | Evidence for the committee | Redundancy | The pipeline as a recipe | The model | Scorecard points | Validation | Rank ordering out of time | Population stability | Deployment | To the warehouse | To R | Tuning with tidymodels | Governance checklist | See also

Last update: 2026-08-20
Started: 2026-08-20

Readme and manuals

Help Manual

Help pageTopics
Categorical-Only Algorithms.categorical_only_algorithms
Numerical-Only Algorithms.numerical_only_algorithms
Universal Algorithms.universal_algorithms
Valid Binning Algorithms.valid_algorithms
Apply the Optimal Binning Transformationbake.step_obwoe
Control Parameters for Optimal Binning Algorithmscontrol.obwoe
Control Parameters for the Scorecard Pipelinecontrol.obwoe_scorecard
Apply Optimal Weight of Evidence (WoE) to a Categorical Featureob_apply_woe_cat
Apply Optimal Weight of Evidence (WoE) to a Numerical Featureob_apply_woe_num
Optimal Binning for Categorical Variables using Enhanced ChiMerge Algorithmob_categorical_cm
Optimal Binning for Categorical Variables using Divergence Measuresob_categorical_dmiv
Optimal Binning for Categorical Variables using Dynamic Programmingob_categorical_dp
Optimal Binning for Categorical Variables using Fisher's Exact Testob_categorical_fetb
Optimal Binning for Categorical Variables using Greedy Merge Algorithmob_categorical_gmb
Optimal Binning for Categorical Variables using Information Value Dynamic Programmingob_categorical_ivb
Optimal Binning for Categorical Variables using JEDI Algorithmob_categorical_jedi
Optimal Binning for Categorical Variables with Multinomial Target using JEDI-MWoEob_categorical_jedi_mwoe
Optimal Binning for Categorical Variables using Monotonic Binning Algorithmob_categorical_mba
Optimal Binning for Categorical Variables using Heuristic Algorithmob_categorical_milp
Optimal Binning for Categorical Variables using Monotonic Optimal Binning (MOB)ob_categorical_mob
Optimal Binning for Categorical Variables using Simulated Annealingob_categorical_sab
Optimal Binning for Categorical Variables using SBLPob_categorical_sblp
Optimal Binning for Categorical Variables using Sketch-based Algorithmob_categorical_sketch
Optimal Binning for Categorical Variables using Sliding Window Binning (SWB)ob_categorical_swb
Optimal Binning for Categorical Variables using a User-Defined Technique (UDT)ob_categorical_udt
Binning Categorical Variables using Custom Cutpointsob_cutpoints_cat
Binning Numerical Variables using Custom Cutpointsob_cutpoints_num
Optimal Binning for Numerical Variables using Branch and Bound Algorithmob_numerical_bb
Optimal Binning for Numerical Variables using Enhanced ChiMerge Algorithmob_numerical_cm
Optimal Binning using Metric Divergence Measures (Zeng, 2013)ob_numerical_dmiv
Optimal Binning for Numerical Variables using Dynamic Programmingob_numerical_dp
Hybrid Optimal Binning using Equal-Width Initialization and IV Optimizationob_numerical_ewb
Optimal Binning using MDLP with Monotonicity Constraintsob_numerical_fast_mdlp
Optimal Binning using Fisher's Exact Testob_numerical_fetb
Optimal Binning using Isotonic Regression (PAVA)ob_numerical_ir
Optimal Binning using Joint Entropy-Driven Interval Discretization (JEDI)ob_numerical_jedi
Optimal Binning for Multiclass Targets using JEDI M-WOEob_numerical_jedi_mwoe
Optimal Binning using K-means Inspired Initialization (KMB)ob_numerical_kmb
Optimal Binning for Numerical Variables using Local Density Binningob_numerical_ldb
Optimal Binning using Local Polynomial Density Binning (LPDB)ob_numerical_lpdb
Optimal Binning for Numerical Features Using Monotonic Binning via Linear Programmingob_numerical_mblp
Optimal Binning for Numerical Features using Minimum Description Length Principleob_numerical_mdlp
Optimal Binning for Numerical Features using Monotonic Optimal Binningob_numerical_mob
Optimal Binning for Numerical Features using Monotonic Risk Binning with Likelihood Ratio Pre-binningob_numerical_mrblp
Optimal Binning for Numerical Variables using Optimal Supervised Learning Partitioningob_numerical_oslp
Optimal Binning for Numerical Variables using Sketch-based Algorithmob_numerical_sketch
Optimal Binning for Numerical Variables using Unsupervised Binning with Standard Deviationob_numerical_ubsd
Optimal Binning for Numerical Variables using Entropy-Based Partitioningob_numerical_udt
Data Preprocessor for Optimal Binningob_preprocess
Compute Multiple Robust Correlations Between Numeric Variablesobcorr
Unified Optimal Binning and Weight of Evidence Transformationobwoe
Binning Algorithm Parameterobwoe_algorithm
List Available Algorithmsobwoe_algorithms
Apply Weight of Evidence Transformations to New Dataobwoe_apply
Bin Cutoff Parameterobwoe_bin_cutoff
Gains Table Statistics for Credit Risk Scorecard Evaluationobwoe_gains
Compute Comprehensive Gains Table from Binning Resultsobwoe_gains_score
Compute Gains Table for a Binned Feature Vectorobwoe_gains_variable
Maximum Bins Parameterobwoe_max_bins
Minimum Bins Parameterobwoe_min_bins
Prune Redundant Variables by Correlationobwoe_prune
Population Stability Indexobwoe_psi
Write a Scorecard Workbookobwoe_report
Points-to-Double-the-Odds Score Scalingobwoe_scale
Turn Log-Odds into Scorecard Pointsobwoe_score
Automated Scorecard Pipelineobwoe_scorecard
Automated Variable Selection for Weight of Evidence Scorecardsobwoe_select
Generate SQL for a Fitted Optimal Binningobwoe_sql
Plot Method for obwoe Objectsplot.obwoe
Plot Gains Tableplot.obwoe_gains
Score New Data With a Fitted Scorecardpredict.obwoe_scorecard
Prepare the Optimal Binning Stepprep.step_obwoe
Print Method for obwoe Objectsprint.obwoe
Print Method for Generated SQLprint.obwoe_sql
Print Method for step_obwoeprint.step_obwoe
Required Packages for step_obwoerequired_pkgs.step_obwoe
Optimal Binning and WoE Transformation Stepstep_obwoe
Summary Method for obwoe Objectssummary.obwoe
Tidy Method for step_obwoetidy.step_obwoe
Tunable Parameters for step_obwoetunable.step_obwoe