We provide a simple, yet general and accurate framework for analyzing zero-forcing (ZF) precoding performance for a full-dimensional massive multiple-input multiple-output system. Exploiting an order two Neumann series, our framework approximates the expected (average) ZF signal-to-noise ratio and ergodic sum spectral efficiency, while catering for a finite multipath propagation model, as well as correlated and uncorrelated user equipment (UE) positions in both azimuth and elevation domains. The analysis provides clear insights on the influence of propagation and system parameters on ZF performance. We identify how far UEs must lie in azimuth and elevation for the ZF precoder to approach uncorrelated channels. Our framework is useful for predicting the ZF performance degradation arising from channel correlation. For optimal performance, UEs could be separated by around 30$^\circ$ in azimuth and 15$^\circ$ in elevation - conditions which are difficult to meet in reality.