Predicting the throughput of large TCP transfers is important for a broad class of applications. This paper focuses on the design, empirical evaluation and analysis of TCP throughput predictors. We first classify TCP throughput prediction techniques into two categories: Formula-Based and History-Based. Within each class, we develop representative prediction algorithms, which we then evaluate empirically over the RON testbed. FB prediction relies on mathematical models that express the TCP throughput as a function of the characteristics of the underlying network path. It does not rely on previous TCP transfers in the given path and it can be performed with non intrusive network measurements. We show that the FB method is accurate only if the TCP transfer is window-limited to the point that it does not saturate the underlying path, and explain the main causes of the prediction errors. HB techniques predict the throughput of TCP flows from a time series of previous TCP throughput measurements on the same path, when such a history is available. We show that even simple HB predictors,like Moving Average and Holt-Winters, using a history of few and sporadic samples can be quite accurate.