Our goal to "fill in" the missing values in the NPM-property matrix-primarily to recommend NPMs for specific adsorption tasks-is analogous to the goal of a commercial recommendation system that recommends products to customers. For example, consider a movie recommendation system at Netflix . Movie ratings by Netflix users are stored in a movie-user ratings matrix (rows: movies, columns: users, entries: ratings) . The movie-user ratings matrix is incomplete; most entries are missing because (i) each user rated only a small proportion of the movies and (ii) each movie is rated by only a small proportion of the users. A movie recommendation system leverages the observed (movie, user) ratings (perhaps, in addition to features of the movies and users) to impute the missing ones . The machine-completed movie-user ratings matrix is then used to make user-specific recommendations of movies. Thus, the (material, property) values in our material recommendation system are analogous to (product, customer) ratings in commercial recommendation systems.