Disclosed is a computer-implemented method for generating a user interface to a data analysis engine comprising a plurality of analysis tools. The method comprises providing a methods knowledge base comprising rules which map data types and/or analysis goals to analysis tools; an inference engine; and a user interface module. The method further comprises receiving, by the user interface module, input relating to one or more user-defined analysis goals; determining, by the inference engine, one or more required data sets based on the one or more user-defined analysis goals; determining, by the inference engine using the methods knowledge base, one or more recommended analysis tools based on the one or more user-defined analysis goals and the one or more required data sets; and outputting, to the user interface module, a control component for each of the one or more recommended analysis tools, each control component being configured to, on detection of a user input event, execute the respective analysis tool on at least one of the required data sets.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method for generating a user interface to a data analysis engine comprising a plurality of analysis tools, the method comprising: providing: a methods knowledge base comprising rules which map data types and/or analysis goals to analysis tools; an inference engine; and a user interface module; receiving, by the user interface module, input relating to one or more user-defined analysis goals; determining, by the inference engine, one or more required data sets based on the one or more user-defined analysis goals; determining, by the inference engine using the methods knowledge base, one or more recommended analysis tools based on the one or more user-defined analysis goals and the one or more required data sets; and outputting, to the user interface module, a control component for each of the one or more recommended analysis tools, each control component being configured to, on detection of a user input event, execute the respective analysis tool on at least one of the required data sets. 2. The computer-implemented method according to claim 1, further comprising determining the availability of the required data sets. 3. The computer-implemented method according to claim 2, further comprising, if a required data set is unavailable, generating the required data set using an electronic survey or an electronic questionnaire. 4. The computer-implemented method according to claim 1, wherein the analysis tools are selected from the group consisting of: summarization tools; segmentation tools; concept description tools; classification tools; prediction tools; and dependency analysis tools. 5. The computer-implemented method according to claim 1, wherein the methods knowledge base relates to analytical customer relationship management. 6. The computer-implemented method according to claim 1, wherein the one or more required data sets relate to one or more of: customer feedback data, sales data, inventory data, product characteristics, demographic data, and geographic data. 7. The computer-implemented method according to claim 1, wherein at least one of the analysis tools is a segmentation model or a predictive model. 8. The computer-implemented method according to claim 7, further comprising determining, by the inference engine, whether respective analysis goals are quantitative or qualitative; and based on said determination, activating, from the methods knowledge base, rules relating to selection of models and/or data preparation tools from said analysis tools. 9. The computer-implemented method of claim 1, further comprising updating one or more of the required data sets using a real-time stream of additional data. 10. The computer-implemented method according to claim 9, further comprising recalibrating the predictive model with the updated one or more required data sets. 11. The computer-implemented method of claim 1, further comprising determining, by the inference engine, a data type of one or more of the required data sets; and based on said determination, activating, from the methods knowledge base, rules relating to selection of models and/or data preparation tools from said analysis tools. 12. The computer-implemented method according to claim 1, further comprising determining the coverage and/or quality and/or relevance of the one or more required data sets. 13. The computer-implemented method according to claim 12, further comprising generating additional data to fill missing values in a variable of the one or more data sets. 14. The computer-implemented method according to claim 13, wherein the additional data are generated by one or more of: computing an average value of the available data; determining gaps in a distribution of the available data, and interpolating to fill the gaps; and generating a predictive model using a further variable which is correlated with said variable. 15. The computer-implemented method according to claim 1, further comprising performing a goal-driven or data-driven variable selection process on the one or more required data sets. 16. A system for generating a user interface to a data analysis engine comprising a plurality of analysis tools, the system comprising: a methods knowledge base comprising rules which map data types and/or analysis goals to analysis tools; an inference engine; and a user interface module; wherein the user interface module is configured to receive input relating to one or more user-defined analysis goals; wherein the inference engine is configured to: determine one or more required data sets based on the one or more user-defined analysis goals; and determine, using the methods knowledge base, one or more recommended analysis tools based on the one or more user-defined analysis goals and the one or more required data sets; and wherein the user interface module is configured to output a control component for each of the one or more recommended analysis tools, each control component being configured to, on detection of a user input event, execute the respective analysis tool on at least one of the required data sets. 17. A customer relationships management system for a retail organization, comprising: a server; a data store in communication with the server, the data store comprising a plurality of records representing products offered for sale within the retail organization and sales outlets within the retail organization; a plurality of client devices configured to communicate with the server, the client devices including a plurality of sales force devices and at least one manager device; wherein the server is configured to: receive customer engagement data from the sales force devices, the customer engagement data indicating a product sale event and/or customer feedback on a product; and process the customer engagement data to determine one or more of: inventory status for the product; customer preferences in relation to the product; and predicted customer purchasing behavior. 18. A computer-implemented method for acquiring real-time customer feedback in a retail environment, the method comprising: retrieving product data indicative of categorized product information from a retail inventory system; generating, based on the categorized product information, a user interface configured to display user-selectable product categories and products; for each said product, configuring the user interface to display an electronically fillable feedback form, the electronically fillable feedback form being configured to receive user input relating to a plurality of feedback fields; and receiving, in the electronically fillable feedback form, user input relating to the plurality of feedback fields to generate structured customer engagement data. 19. The method according to claim 18, further comprising: receiving customer demographic data; and associating the customer demographic data with the structured customer engagement data.