BESH Stat version 0.17 released

I’m happy to announce the release of new BESH Stat version 0.17. The main change is the addition of exact p-value computation for the unordered R x C contingency tables (Fisher-Freeman-Halton Exact test). I was working on this on-and-off for several years now.¬† The new procedure implements the network algorithm developed by Mehta and Patel [1,2,3] and improved by Clarkson, Fan and Joe [4]. It is a VBA translation of the FORTRAN subroutine FEXACT. The original FORTRAN code can be obtained from [5] (Fortran 77 version) or [6] (Fortran 90 version). To my knowledge this is the only VBA implementation of this method. Generated P-values match those presented in all example tables from [4] and all are computed in a fraction of a second.

What’s new?

  • Fisher-Freeman-Halton Exact test for RxC unordered contingency table added
  • Skillings-Mack test code re-factoring and slight performance improvement
  • Residual diagnostic added to the Binary logistic regression output (Pearson, Deviance, Leverage, Standardized Pearson, and Standardized Deviance residuals)
  • Hodges-Lehman Estimate of Shift option added to the Mann-Whitney user form so that it might be unchecked. In previous version estimate of shift was always computed. Since it’s the most time consuming part of computation you get considerable performance improvement when only Mann-Whitney test is requested.
  • Asymetry, Descriptive statistics, Homogeneity of variance tests, Box and Whiskers plot, and One-way ANOVA user forms re-design and re-factoring
  • User forms for procedures allowing By ID input was redesigned.
  • By ID input for example Box and whiskers plot, the order of groups in the output is now presented by order as groups appear in the ID column (previously it was by descending alphabetical order of ID categories).
  • Auto update feature added to the BESH stat. The check for new BESH Stat version is performed on weekly bases on Excel start-up when BESH stat is loading.
  • Bug fix: Stratified Cox regression caused subscript out of range in case of large number of records within single strata.
  • Bug fix: In pair data input (eg. Wilcoxon test) data from 2nd group/column input range were considered even when they were outside of specified input in case of given row being present in the 1st group/column input range.
  • Bug fix: Fixed error when loading any of the Regression user forms (Logistic, Cox, Poisson, … ) when the first row in the active sheet contains #N/A or any error value (e.g. #VALUE!, #DIV/0!, etc.)
  • BESH stat installation by double clicking on .xlam file was removed as it was causing some issues recently. Addin can be installed only by manually adding it into the list of Excel addins see here.


  1. Mehta CR, Patel NR. A network algorithm for performing Fisher’s exact test in r c contingency tables. Journal of the American Statistical Association 1983;78:427-34.
  2. Mehta CR, Patel NR. Algorithm 643: FEXACT: A FORTRAN subroutine for Fisher’s exact test on unordered r x c contingency tables. ACM Transactions on Mathematical Software 1986;12:154-61.
  3. Mehta CR, Patel NR. A hybrid algorithm for Fisher’s exact test in unordered r x c contingency tables. Communications in Statistics, Series A 1986;15:387-404.
  4. Clarkson, D. B., Fan, Y. and Joe, H. (1993) A Remark on Algorithm 643: FEXACT: An Algorithm for Performing Fisher’s Exact Test in r x c Contingency Tables. ACM Transactions on Mathematical Software, 19, 484-488.
  5. Fortran 77 version
  6. Fortran 90 version