The problem of imputing missing entries of a data matrix is easy to state: Some entries of the matrix are unknown and we want to assign "appropriate values" to these entries. The need for solving such problems arises in several applications, ranging from traditional ields to modern ones. Typical examples of traditional ields are statistical analysis of incomplete survey data, business reports, operations management, psychometrika, meteorology and hydrology. Modern applications arise in machine learning, data mining, DNA microarrays data, chemometrics, computer vision, recommender systems and collaborative iltering. The problem is highly interesting and challenging. Many ingenious algorithms have been proposed, and there is vast literature on imputing techniques. Yet, most of the papers consider the imputing problem within the context of a speci ic application or a speci ic approach. The current survey provides a broad view of the problem, one that exposes the large variety of imputing methods. Old and new methods are examined with focus on the ideas behind the methods. It is illustrated how simple ideas evolve into highly sophisticated algorithms. The review enables us to identify a number of basic concepts and tools which are shared by several imputing methods. Equivalence theorems that we prove reveal surprising relations between apparently different methods.