Turn CSV and Excel files into interactive BI dashboards
ADA turns a CSV or Excel file into a business dashboard with anomaly detection, forecasts, and evidence-backed answers to plain-English questions.
Why it matters
Transform raw business spreadsheets into decision-ready intelligence by automatically detecting schema, calculating trends and anomalies, generating forecasts, and answering plain-English questions-all without configuration or sending raw data to external models.
Outcomes
What it gets done
Detect metric, date, and segment columns from uploaded CSV or Excel files and clean data automatically
Flag anomalous periods, project baseline forecasts with uncertainty bands, and identify material drivers
Answer natural language questions about the data with visible pandas calculations and query plans
Generate interactive Plotly dashboards with drill-down, movement waterfalls, and prioritized recommendations
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/saineshnakra-automated-data-analyst | bash Overview
Automated Data Analyst
ADA is an open-source automated data analyst that turns an uploaded CSV or Excel file into an interactive dashboard with anomaly detection, a backtested forecast, and plain-English Q&A - every calculation is deterministic and shown, with an optional AI layer that never sees raw uploaded rows. Use it when you need a decision-ready dashboard and auditable answers from a business spreadsheet without configuring a BI tool; it centers on single-file, metric/time/segment-shaped data rather than open-ended unstructured analysis.
What it does
ADA is an open-source automated data analyst for operators who need answers from a spreadsheet without configuring a BI tool. Upload a CSV, XLSX, or XLSM file and ADA cleans it, detects its business schema, builds an interactive Plotly dashboard, flags anomalous periods, projects a guarded baseline forecast, explains material changes, recommends what to investigate next, and answers plain-English questions about the data with the calculation shown behind every reply. It's designed for a simple goal analytics software often makes hard: even a first-time user should be able to upload a spreadsheet and understand what's happening in the business.
ADA keeps four layers explicit rather than collapsing everything into generated prose: a Calculation layer (deterministic, traceable detection of trends, drivers, anomalies, concentration, relationships, exceptions, and data quality issues), a Conversation layer (plain-English questions turned into auditable pandas query plans executed locally, so every answer shows its math), an Interpretation layer (calculations turned into prioritized investigations, clearly labeled and never presented as causal proof), and an Optional AI layer (plans queries the deterministic parser can't read, and writes a strategic read over already-computed evidence - opt-in, and raw uploaded rows are never sent to it). The deterministic product is fully authoritative whether or not a model is configured at all.
Schema detection automatically looks for a primary outcome metric (revenue, sales, profit, cost, amount, units), a time field (for period movement, anomaly detection, and forecasting), a useful segment (product, category, channel, region, customer, status), identifiers, missingness, outliers, concentration, and numeric relationships - and users can override the detected metric, date, or segment without rebuilding the dashboard, or drill the whole analysis into a single segment slice and watch it regroup by the next useful dimension. Product capabilities include an anomaly radar (periods outside a robust trendline band, flagged on the chart, in the evidence ledger, and in recommendations), a guarded baseline forecast with month-of-year seasonality, an uncertainty band, and its own backtested error printed alongside the chart, a movement waterfall reconciling the latest change by segment, a segment-by-period intensity heatmap, conservative cleanup with a visible cleaning audit, an executive headline with four business KPIs, and a downloadable Markdown executive brief plus cleaned CSV.
When to use - and when NOT to
Use ADA when you have a business CSV or Excel file and want a decision-ready dashboard, anomaly detection, and a forecast without modeling data in a traditional BI tool or trusting an unverifiable chatbot summary of your spreadsheet - it works fully with zero configuration and no API key, computing everything locally with pandas. It's particularly suited to operators who want every number backed by a visible calculation, and who need the analysis to stay authoritative and auditable rather than dependent on an LLM's own reasoning.
It's not built for arbitrary open-ended chat about unstructured data, and it's not a replacement for a full BI platform if you need deep custom modeling across many linked tables - ADA works from one uploaded file at a time (with multi-sheet Excel worksheet selection) and centers on business-metric-shaped data (an outcome, a time dimension, and a segment). The optional AI layer only activates when the deterministic query parser can't read a question, or for a higher-level strategic narrative, and even then it only ever sees schema and computed evidence, never uploaded rows or cell values.
Inputs and outputs
Input is a CSV (comma, semicolon, or tab delimited), XLSX, or XLSM file uploaded through the Streamlit interface, with a worksheet picker for multi-sheet workbooks. Run locally:
git clone https://github.com/saineshnakra/automated-data-analyst.git
cd automated-data-analyst
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
streamlit run app.py
Output is an interactive dashboard (charts, anomaly markers, forecast band, movement waterfall, segment heatmap), an evidence ledger showing the calculation behind every displayed signal, prioritized recommendations linked to that evidence, plain-English answers to typed questions (with their pandas calculation shown), and a downloadable Markdown executive brief plus cleaned CSV. No secret is required to run it; a visitor can supply their own OpenAI API key in a session-only sidebar field, or a trusted private deployment can set OPENAI_API_KEY via environment variable or .streamlit/secrets.toml.
Integrations
ADA's core analysis runs entirely on pandas and Plotly with no external service dependency. Its optional AI layer calls OpenAI's Responses API for two narrow, typed purposes: a query planner (invoked only when the deterministic parser can't read a question; it receives the column schema and the question, returns a typed QueryPlan, and ADA executes that plan locally, refusing unresolvable plans rather than guessing) and a strategic read (receiving only the calculated schema, summaries, evidence cards, and recommendations - never raw rows). The default model is gpt-5.6-luna at low reasoning for an efficient strategic read, with gpt-5.6-terra at medium reasoning available for more ambiguous decisions; model calls are button-triggered and cached per evidence payload to avoid accidental spend. It deploys as a standard Streamlit app to any Python host.
Who it's for
Operators, analysts, and small teams who need answers from a business spreadsheet without configuring a BI tool or trusting an opaque chatbot summary, and developers who want a working, tested example of a deterministic-first analytics engine with a narrowly-scoped, privacy-conscious optional AI layer that never sends raw data to a model. It is licensed under MIT.
Source README
Automated Data Analyst (ADA) - Open-source AI for CSV & Excel
Upload a CSV or Excel file and get automated EDA, an interactive business intelligence dashboard, anomaly detection, forecasts, and evidence-backed recommendations-without configuring a BI tool.
Try the live dashboard · Read the engineering story · See the roadmap · Contribute · Report a bug
If ADA saves you time, star the repository-it helps more analysts and open-source contributors discover the project.
ADA is a privacy-conscious, open-source AI data analyst built with Python, Streamlit, pandas, and Plotly. Upload a CSV, XLSX, or XLSM file and it automatically cleans the data, detects the business schema, creates interactive visualizations, flags anomalous periods, projects a guarded baseline forecast, explains material changes, and recommends what to investigate next.
Ask questions in natural language-effectively chat with your CSV or Excel data-and ADA returns a pandas-backed answer with the calculation behind it. The complete deterministic workflow runs without an API key; optional AI features receive computed schema and evidence, never raw rows or cell values.
See ADA in action
Ask a business question. Get the number and its calculation.
Focus on one segment. Watch the entire analysis regroup itself.
Anomalies, forecasts, drivers, and evidence stay inspectable instead of disappearing behind generated prose.
For the architecture, tradeoffs, and failure modes behind the product, read I Built an AI Data Analyst That Tells You When It Hallucinates.
Why ADA is different
Most CSV analyzers stop at charts. ADA keeps four layers explicit:
| Layer | What it does | Trust boundary |
|---|---|---|
| Calculation | Detects trends, drivers, anomalies, concentration, relationships, exceptions, and data quality | Deterministic and traceable |
| Conversation | Turns plain-English questions into auditable pandas query plans executed locally | Every answer shows its math |
| Interpretation | Turns calculations into prioritized investigations | Clearly labeled; never causal proof |
| Optional AI | Plans queries the rules cannot read and writes a strategic read over computed evidence | Opt-in; raw uploaded rows are never sent |
Every evidence card and chat answer exposes its calculation. The deterministic product remains authoritative whether or not a model is configured.
How ADA compares
| Chat-with-CSV AI tools | Traditional BI | ADA | |
|---|---|---|---|
| Setup | Upload and prompt | Data modeling, weeks | Upload only |
| Answers | Plausible prose; reasoning hidden | Exact, but you build every chart | Deterministic calculations with the math shown |
| Rows sent to a model | Usually | Depends on vendor | Never - optional AI sees schema and evidence only |
| Anomalies and forecasts | On request, unverifiable | Paid add-ons | Built in, with a backtested error you can read |
| Cost | Subscription | License | Free and MIT-licensed |
From spreadsheet to decision
flowchart TD
A["Upload CSV or Excel worksheet"] --> B["Clean and infer types"]
B --> C["Detect metric, date, segment, ID"]
C --> D["Calculate evidence, anomalies, and forecast"]
D --> E["Dashboard, executive brief, and drill-down"]
C --> G["Ask ADA: question → QueryPlan → local execution"]
G -. "schema + question only, when rules cannot parse" .-> H["Optional AI query planner"]
D -. "computed evidence only" .-> F["Optional AI strategic read"]
ADA automatically looks for:
- A primary outcome such as revenue, sales, profit, cost, amount, or units
- A time field for period movement, anomaly detection, and the baseline forecast
- A useful segment such as product, category, channel, region, customer, or status
- Identifiers, missingness, outliers, concentration, and numeric relationships
- The strongest evidence-backed next investigation, separated from observed fact
If the source schema is unusual, users can override the detected metric, date, and segment without rebuilding the dashboard - and drill the whole analysis into a single segment slice.
Product capabilities
- Zero-configuration CSV and Excel analytics with an included synthetic demo
- Ask ADA: plain-English questions (totals, rankings, breakdowns, trends, growth, counts, time and segment filters) answered locally with the calculation shown
- Anomaly radar: periods outside a robust trendline band are flagged on the chart, in the evidence ledger, and in the recommended actions
- Guarded baseline forecast with month-of-year seasonality, an uncertainty band, and its backtested error printed next to the chart
- Drill-down focus: analyze one segment value and automatically regroup by the next useful dimension
- Movement waterfall reconciling the latest change by segment, plus a segment-by-period intensity heatmap
- Worksheet picker for multi-sheet Excel workbooks
- Conservative cleanup, type inference, duplicate removal, and a visible cleaning audit
- Executive headline, four business KPIs, and plain-English briefing
- Evidence ledger with the calculation behind every displayed signal
- Prioritized recommendations linked to deterministic evidence
- Optional AI query planner and structured strategy synthesis using the OpenAI Responses API
- Downloadable Markdown executive brief and cleaned CSV
- Responsive Streamlit interface built for non-technical users
- File limit and row cap for predictable hosted performance
Common use cases
- Automated exploratory data analysis (EDA) for CSV and Excel files
- Natural-language data analysis and chat-with-data workflows
- KPI and business intelligence dashboards for operators
- Time-series anomaly detection and guarded forecasting
- Evidence-backed executive summaries and downloadable reports
- A transparent, self-hostable alternative to black-box CSV analysis tools
Architecture
| Path | Responsibility |
|---|---|
app.py |
Thin Streamlit orchestration and session state |
pipeline.py |
Bounded preparation, cleaning, schema selection, drill-down, and audit frames |
analysis.py |
Conservative cleaning and data profiling |
business_insights.py |
Schema detection, calculations, evidence, and deterministic recommendations |
nlq.py |
Natural-language questions → auditable query plans → local execution |
anomalies.py |
Robust trendline anomaly detection over period aggregates |
forecasting.py |
Guarded baseline forecast with seasonality and a visible backtest |
ai_insights.py |
Optional typed Responses API query planning and evidence synthesis |
ui.py |
Reusable presentation components and Plotly styling |
file_io.py |
Validated CSV and Excel parsing with worksheet selection |
tests/ |
Unit, privacy-contract, pipeline, business-logic, and rendering tests |
The codebase favors pure analysis functions and dependency injection at the model boundary. That keeps the business engine testable without Streamlit, network access, or API credits.
Run locally
git clone https://github.com/saineshnakra/automated-data-analyst.git
cd automated-data-analyst
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install -r requirements.txt
streamlit run app.py
No secret is required. A visitor can enter their own API key in the session-only sidebar field. A trusted private deployment can instead set OPENAI_API_KEY in the environment or in .streamlit/secrets.toml:
OPENAI_API_KEY = "your-key"
Never commit that file; it is already ignored. Avoid putting an owner-funded key on a public deployment unless you also add authentication and spending controls.
Test and develop
python -m pip install -r requirements-dev.txt
ruff check .
python -m unittest discover -s tests -v
GitHub Actions runs linting, the complete test suite, and bytecode compilation on every push and pull request.
FAQ
Does my data leave my machine?
No. Cleaning, schema detection, every chart, every evidence card, and every Ask ADA answer are computed locally with pandas. If you opt into the AI layer, only column schema and computed evidence are sent - never rows or cell values.
Do I need an OpenAI API key?
No. ADA is a complete analyst without one. A key only adds the query-planner fallback for unusual questions and the strategic narrative.
What formats can I analyze?
CSV (comma, semicolon, or tab delimited), XLSX, and XLSM - including picking a specific worksheet from a multi-sheet workbook.
How is this different from pasting a CSV into a chatbot?
A chatbot gives you fluent prose you cannot audit and your rows become part of a prompt. ADA turns questions into explicit query plans, executes them with pandas on your machine, and prints the calculation under every answer.
Is ADA a PandasAI alternative?
ADA serves a related chat-with-data use case but takes a different approach: its core uses deterministic pandas calculations rather than model-generated code, and every answer exposes its calculation. ADA is a complete Streamlit application, not a drop-in replacement for the PandasAI library.
Can I self-host it?
Yes - it is a standard Streamlit app. pip install -r requirements.txt && streamlit run app.py, or deploy it to any host that runs Python.
Contribute
Contributions are welcome, especially around new deterministic metrics, question shapes for Ask ADA, schema-detection fixtures, chart accessibility, file formats, and adversarial test datasets. Start with the good first issues, read CONTRIBUTING.md, choose an item from the roadmap, or open a focused proposal.
Good contributions make an insight more accurate, more explainable, or easier for a non-technical user to act on. Every new recommendation should include a test and the calculation that supports it.
If ADA is useful to you, a star helps other operators find it.
Deploy
Deploy app.py on Streamlit. The repository includes its app theme, dependency manifest, server upload limit, and headless configuration. Add OPENAI_API_KEY through Streamlit's secret manager only if the optional strategy layer should be available.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.