This document describes an approach to building a package recommendation engine for R packages. It uses a modified k-nearest neighbors algorithm that incorporates package relationships, user and package averages, and user-maintainer affinity. It then uses matrix factorization to model residuals from the initial model. The final model achieves a public AUC of 0.984914 and final AUC of 0.979565, demonstrating an effective approach for recommending related R packages.