1. A method, comprising: by a computing device, defining a multidimensional space having at least four dimensions, each dimension having a plurality of attributes characterizing the dimension, each attribute being capable of providing variable information, wherein: at least one first dimension corresponds to a user profile; at least one second dimension corresponds to products; at least one third dimension corresponds to time; and at least one fourth dimension corresponds to places; by a computing device, filling a multidimensional data structure corresponding to the multidimensional space with data in accordance with the at least four dimensions; by a computing device, retrieving data from at least each of the first, second, third, and fourth dimensions in the multidimensional data structure in response to a query request; and by a computing device, generating at least one recommendation based at least on the data retrieved from the first, second, third, and fourth dimensions.