Robust and scalable methods for the dynamic mode decomposition. The dynamic mode decomposition (DMD) is a broadly applicable dimensionality reduction algorithm that decomposes a matrix of time-series data into a product of a matrix of exponentials, representing Fourier-like time dynamics, and a matrix of coefficients, representing spatial structures. This interpretable spatio-temporal decomposition is classically formulated as a nonlinear least squares problem and solved within the variable projection framework. When the data contains outliers, or other features that are not well represented by exponentials in time, the standard Frobenius norm misfit penalty creates significant biases in the recovered time dynamics. As a result, practitioners are left to clean such defects from the data manually or to use a black-box cleaning approach like robust principal component analysis (PCA). As an alternative, we propose a robust statistical framework for the optimization used to compute the DMD itself. We also develop variable projection algorithms for these new formulations, which allow for regularizers and constraints on the decomposition parameters. Finally, we develop a scalable version of the algorithm by combining the structure of the variable projection framework with the stochastic variance reduction (SVRG) paradigm. The approach is tested on a range of synthetic examples, and the methods are implemented in an open source software package RobustDMD.