1. A computer-implemented method of preparing data for modeling, comprising: storing data from customer sales transactions in a database; retrieving a dataset of the data from the database; cleansing, by a computer, the dataset to remove erroneous and anomalous entries; aggregating the dataset over a plurality of dimensions of the transactional space including store, product, and time dimensions; and analyzing the dataset following the cleansing and aggregating steps within a model to predict attributes of subsequent sales transactions; wherein the cleansing the dataset includes determining an out-of-stock status of a product from the dataset; wherein the determining an out-of-stock status of a product from the dataset includes: determining a probable number of sales of a product from the dataset; determining an actual number of sales of a product from the dataset; and comparing the actual number of sales of a product to the probable number of sales of a product; and wherein the aggregating the dataset over a plurality of dimensions of the transactional space including store, product, and time dimensions includes calculating, for each store and each time period, a number of customers or customer categories of each type who had a transaction in that store.