Sensory neurons encode information probabilistically: repeated stimulus presentations elicit variable firing. This variability is often described using a cascade model, in which spikes arise from a Poisson process whose rate is a deterministic function of the stimulus. However, it has recently been shown that time-dependent rate variability is a wide-spread phenomenon in cortex (Churchland et al 2010, 2011). Consequently, the Poisson noise model commonly underestimates the variability of visual cortical recordings, which can lead to systematic errors in inferring neuronal characteristics. We measured responses to a variety of stimuli in visual cortex in anesthetized and alert monkeys. The fluctuations in neural responsiveness that typically occur over the timescale of these experiments are significantly greater than predicted by a Poisson model - estimated Fano factors as high as 10 occur in the acute preparation. We propose a doubly stochastic model, in which the stimulus-driven firing rate is modulated according to a stimulus-independent gamma-distributed random variable. This fluctuating rate generates spikes according to a Poisson process. Fitting the resulting mixture of Poisson processes to neural data reveals that the model is statistically superior for all neurons, and therefore provides an improved framework for analyzing neuronal tuning. The framework offers two further advantages over existing methods. First, it provides a natural means of estimating and tracking fluctuations in responsiveness (state changes) that occur during the course of an experiment. Second, it offers an efficient and accurate estimate of the upper bound on discrimination performance that can be supported by each neuron. Application of this new method can substantially improve the analysis of neuronal data, both in fitting explicit models and in assessing the limits of neuronal performance.