A lot of analysis and modeling methods of Markov processes, including TICA, DMD, EDMD and MSM, can be interpreted as finite-rank approximation method of Koopman operators. So it is important to ask what is the "optimal" approximation for a given rank and how to obtain it from data. In this talk, I will review the related theory and methods (including deep learning based methods). Moreover, some open problems and challenges (from my personal perspective) will be discussed.