Flowco: Rethinking Data Analysis in the Age of LLMs
Stephen N. Freund, Brooke Simon, Emery D. Berger, Eunice Jun
TL;DR
Flowco presents a mixed-initiative system that uses a visual dataflow graph model to organize data analyses and integrate LLMs throughout the workflow. By enforcing modular, multi-layer abstractions, explicit dependencies, and robust validation (assertions and unit tests), Flowco aims to improve reliability, reproducibility, and accessibility compared to traditional notebooks and vanilla LLM usage. The authors demonstrate Flowco on clustering, multiverse analyses, and logistic regression, and validate its usability with a user study of 12 data-science students, who report benefits in organization, trust, and ease of use, despite latency concerns. The study and system design point to Flowco as a practical path toward robust, transparent, and scalable AI-assisted data analysis, with future work including hierarchical graphs, statistical correctness enhancements, and notebook integration.
Abstract
Conducting data analysis typically involves authoring code to transform, visualize, analyze, and interpret data. Large language models (LLMs) are now capable of generating such code for simple, routine analyses. LLMs promise to democratize data science by enabling those with limited programming expertise to conduct data analyses, including in scientific research, business, and policymaking. However, analysts in many real-world settings must often exercise fine-grained control over specific analysis steps, verify intermediate results explicitly, and iteratively refine their analytical approaches. Such tasks present barriers to building robust and reproducible analyses using LLMs alone or even in conjunction with existing authoring tools (e.g., computational notebooks). This paper introduces Flowco, a new mixed-initiative system to address these challenges. Flowco leverages a visual dataflow programming model and integrates LLMs into every phase of the authoring process. A user study suggests that Flowco supports analysts, particularly those with less programming experience, in quickly authoring, debugging, and refining data analyses.
