The high data rates at the LHC necessitate the use of biasing selections already at the trigger level. Consequently, the correction of the biases induced by these selections becomes one of the main challenges for analyses. This paper presents the LHCb implementation of a data driven method for extracting such biases which entirely avoids uncertainties associated with detector simulation. Its novelty lies in the LHCb trigger which is implemented entirely in software, allowing its decisions to be reproduced in an exact manner offline. It is demonstrated that this method allows the control of selection biases to better than 0.1%, and that it greatly enhances the range of physics which can be performed by the LHCb experiment. The implications of trigger and software architectures on the long term viability of this method, in particular with respect to the reproducibility of trigger decisions when running the same code on different underlying hardware or compilers, is discussed.