1. A method for updating a spreadsheet based on user inputs, the method comprising: receiving a first user input specifying an analytic function to be applied to data of the spreadsheet; receiving a second user input specifying a data edit operation to be performed on the spreadsheet; processing the first user input in a calculation thread, the processing comprising applying the analytic function to the data of the spreadsheet to produce first mutation results; while processing the first user input in the calculation thread, processing the second user input in a UI thread to produce second mutation results, and applying the second mutation results to the spreadsheet to update the spreadsheet; and in response to a determination that the processing of the first user input is complete, performing an operational transform on the first mutation results based on the second mutation results to obtain modified first mutation results; and applying the modified first mutation results to the spreadsheet.