1. A system, comprising: a processor; and a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to: receive one or more user interactions, selected from a plurality of user interactions, and one or more visualization types, selected from a plurality of visualization types, including by: displaying one or more recommended user interactions and one or more recommended visualization types, including by: analyzing historic usage information associated with an interactive data analysis document, supported using predetermined visualization data, in order to determine utilization metrics associated with a most unpopular user interaction and a most unpopular visualization type; determining if the utilization metric associated with the most unpopular user interaction is less than a first threshold; in the event it is determined that the utilization metric associated with the most unpopular user interaction is less than the first threshold, excluding the most unpopular user interaction from the recommended user interactions; in the event it is determined that the utilization metric associated with the most unpopular user interaction is greater than the first threshold, keeping the most unpopular user interaction in the recommended user interactions; determining if the utilization metric associated with the most unpopular visualization type is less than a second threshold; in the event it is determined that the utilization metric associated with the most unpopular visualization type is less than the second threshold, excluding the most unpopular visualization type from the recommended visualization types; and in the event it is determined that the utilization metric associated with the most unpopular visualization type is greater than the second threshold, keeping the most unpopular visualization type in the recommended visualization types; and receiving zero or more changes to the recommended user interactions and recommended visualization types in order to obtain the selected user interactions and the selected visualization types; determine, based at least in part on the selected user interactions and the selected visualization types, the predetermined visualization data associated with displaying the interactive data analysis document, wherein the determination of the predetermined visualization data is performed on a data analysis server; store the predetermined visualization data determined by the data analysis server on a computing device; and display the interactive data analysis document on the computing device, including by accessing the predetermined visualization data stored on the computing device such that the computing device is able to display the interactive data analysis document without communicating with the data analysis server in response to a decision that a connection to the data analysis server is too slow or is unavailable.