Silhouette-upper-bound is an open-source Python package that computes data-dependent upper bounds for the Average Silhouette Width (ASW), providing a dataset-specific ceiling for silhouette-based clustering evaluation. Unlike the generic theoretical maximum of 1, the proposed bound reflects intrinsic geometric limitations imposed by a chosen dissimilarity matrix, enabling more meaningful interpretation of achieved silhouette scores. The package offers (i) sharp pointwise upper bounds for each observation, (ii) a dataset-level ASW upper bound obtained by aggregation, (iii) restricted bounds under a minimum cluster-size constraint via parameter m , and (iv) an upper bound for the macro-averaged silhouette under fixed cluster sizes. • Introduces a data-dependent upper bound on Average Silhouette Width (ASW). • Sharp pointwise bounds enable sample-level silhouette diagnostics. • Supports minimum cluster size via m for realistic ceilings. • Upper-bounds macro-averaged silhouette under fixed cluster sizes. • Helps compare clustering results by measuring closeness to the upper bound.
Sträng et al. (Sun,) studied this question.