Building small populations mortality tables has great practical importance in actuarial applications. In recent years, several works in literature explored different methodologies to quantify and assess longevity and mortality risk, especially within the context of small populations: many models dealing with this problem usually use a two-population approach, modelling a mortality spread between a larger reference population and the population of interest, via likelihood-based techniques. To broaden the tools at actuaries’ disposal to build small population mortality tables, a general structure for a two-step two-populations model is proposed, its main element of novelty residing in a machine-learning based approach to mortality spread estimation. In order to obtain this, Contrast Trees and related Estimation Contrast Boosting techniques have been applied. A quite general machine learning-based model has then been adapted in order to generalize Italian actuarial practice in company tables estimation and implemented using data from Human Mortality Database. Finally, results from the ML-based model have been compared to those obtained from the traditional model.