We conduct an empirical analysis of three recently proposed and widely used models for electricity spot price process. The first model, called the jump-diffusion model, was proposed by Cartea and Figueroa (2005), and is a one-factor mean-reversion jump-diffusion model, adjusted to incorporate the most important characteristics of electricity prices. The second model, called the threshold model, was proposed by Roncoroni (2002) and further developed by Geman and Roncoroni (2006), and is an exponential Ornstein–Uhlenbeck process driven by a Brownian motion and a state-dependent compound Poisson process. It is designed to capture both statistical and pathwise properties of electricity spot prices. The third model, called the factor model, was proposed by Benth et al. (2007). It is an additive linear model, where the price dynamics is a superposition of Ornstein–Uhlenbeck processes driven by subordinators to ensure positivity of the prices. It separates the modelling of spikes and base components. We calibrate all three models to German spot price data. Besides employing techniques similar to those used in the original papers we adopt the prediction-based estimating function technique (Sørensen, 2000) and the filtering technique (Meyer-Brandis and Tankov, 2008). We critically compare the properties and the estimation of the three models and discuss several shortcomings and possible improvements. Besides analysing the spot price behaviour, we compute forward prices and risk premia for all three models for various German forward data and identify the key forward price drivers.