
Reviews
Part of Data analysis in six steps, from the request to the answer with limits
Best data analysis tools by job, not brand
How to choose the best data analysis tools by the four jobs they do, the properties that matter, and when a spreadsheet is the wrong tool.
There is no universal winner among the best data analysis tools. The practical picks depend on the job and the environment already in place: use the warehouse your data lives in, choose a transformation tool that makes repeat work reviewable, and match exploration and communication tools to the people using them.
What follows is about the analyst's working environment: the four jobs it has to do, the properties that decide whether it holds up under pressure, and the signals that tell you it is time to change something.
What to take away
- A toolchain is judged on whether you can rerun last quarter's work today and get the same answer.
- Spreadsheets are not a failure state. They are the correct tool for a real class of problem and the wrong one for everything above it.
- Change one part at a time. Replacing the whole environment at once means you cannot tell what helped.
The four jobs
What it has to do
- Query
- Reach the data where it lives, at full size, without a manual export
- Transform
- Turn raw rows into the shape the question needs, repeatably
- Explore
- Let you look at distributions, tails, and time series quickly
- Communicate
- Produce something a reader can act on, with the caveats attached
The usual failure
- Query
- Working from a downloaded extract that quietly ages
- Transform
- The transformation exists only as a sequence of manual steps
- Explore
- Exploration happens in the presentation tool, so only summaries are visible
- Communicate
- The output is a screenshot, and the context is lost on the first forward
Most environments do two of these well and force the other two into whatever is nearest. Find which two are weak before you evaluate anything.
Job-based tool recommendations
Query: Start with SQL in the warehouse where the data already lives: Snowflake for teams on Snowflake, BigQuery for teams on Google Cloud, or Redshift for teams on AWS. That context is a better reason to choose among them than switching warehouses just to use a different query interface.
Transform: For recurring SQL models that need shared review and tests, dbt is the practical default. Use Python or R scripts when the transformation needs general-purpose code, and keep SQL models when the logic is clear in SQL. For scheduled dependencies, Airflow suits teams that can operate a broad orchestration tool; Dagster or Prefect may fit better when asset-oriented or Python-centered workflows are a priority.
Explore: Use Jupyter notebooks for Python-centered exploration, RStudio for R-centered work, and a SQL worksheet for short, ad hoc questions. When the work calls for established statistical procedures, SPSS, SAS, or Stata may fit better than a general notebook; favor the package your team can review and maintain.
Communicate: Power BI is a practical pick for Microsoft-centered teams, Tableau for teams that need interactive visual analysis, and Looker when governed metrics modeled in LookML are central. For lighter BI needs, consider Metabase for self-service exploration, Looker Studio for Google-centered reporting, or Mode for SQL-led analysis. A notebook report can work well when the audience is technical and the result is not a shared dashboard.
Four jobs and their failures
Job
- Query
- Reach data at full size
- Transform
- Shape raw rows repeatably
- Explore
- See distributions and tails
- Communicate
- Produce actionable output
What it does
- Query
- Aging downloaded extract
- Transform
- Manual steps only
- Explore
- Only summaries visible
- Communicate
- Screenshot loses context
Usual failure
- Query
- Transform
- Explore
- Communicate
The properties that decide it
Reproducibility. Can the whole thing run start to finish from nothing, and produce the same answer? This is the property that everything else depends on, and it is the one most easily lost.
Five properties that decide it
- Reproducibilityrun start to finish, same answer
- Reviewabilityreadable as text, diffable changes
- Escape hatchdrop to raw query or code
- Last milecorrect answer to readable output
- Credentialsroute access through identity system
Reviewability. Can somebody else read what you did, as text, and see the change you made since last time? Work that cannot be diffed cannot be reviewed, which means it cannot be checked before it goes out.
An escape hatch. When the tool cannot express something, can you drop to raw query or raw code without leaving the environment? Tools with no escape hatch are pleasant until the first awkward question, then they are an obstacle.
The last mile. Getting from a correct answer to something a person can read is where a surprising share of analyst time goes. An environment that makes this painful pushes people to paste results into a document by hand, which breaks reproducibility at the final step.
Where the credentials live. Any setup that requires an analyst to hold a database password on their laptop is a security decision made by accident. Route access through your identity system, such as Okta or Microsoft Entra ID, and make sure the chosen tools support the access controls your team requires.
When the spreadsheet is right
A spreadsheet is the correct tool when the data fits comfortably, the logic is short, the audience is one or two people, and the question is not coming back. It is fast, everyone can read it, and its transparency is genuinely a feature.
It becomes the wrong tool at three specific moments: when more than one person edits or depends on the same file; when refreshing it requires a manual export or copy-paste; and when you need to rerun last quarter's logic unchanged and get the same answer. Those are the migration triggers, much clearer than a size threshold.
When to leave the spreadsheet
Is a business rule written only in the file?
Migrate: rule is trapped
Stay: logic is short
Notebooks, and the trap in them
Notebooks are excellent for exploration and dangerous as deliverables. The trap is execution order: cells run out of sequence produce a document whose output does not match its code, and this is invisible on screen.
Two rules for safe notebooks
- Restart and run everything before showing anyone
- Move depended-on logic into a top-to-bottom file
- Keep the notebook for looking, not delivering
Two rules make them safe. Restart and run everything before you show anyone the result. And when a notebook becomes something people depend on, move the logic into a file that runs top to bottom and keep the notebook for looking.
Signs you have outgrown what you have
- The same transformation is written more than once, by more than one person, slightly differently.
- Answering a repeat question means redoing work rather than rerunning it.
- Somebody has to be at their desk for a number to exist.
- You cannot tell whether a figure changed because the data moved or because the logic did, which is what version control exists to answer.
- New analysts take weeks to produce anything, because the knowledge is in people rather than in files.
Any two of those together mean the constraint is the environment. One on its own usually means a single habit needs changing.
Signs you have outgrown it
- Same transformation written more than once
- Repeat questions mean redoing, not rerunning
- Somebody must be at their desk for a number
- Cannot tell if data or logic changed
- New analysts take weeks to produce anything
Dashboards and metric definitions
Dashboards are the communicate job. A dashboard earns its place when metric definitions live in a shared semantic layer, so the same active user or churn number means the same thing in every chart. Examples include LookML in Looker, Cube, and the dbt Semantic Layer. Choose the layer that fits the modeling tools and governance approach the team already uses; if a dashboard needs an analyst in chat to explain it, it is not finished.
Choosing for a team rather than for yourself
The best environment for one skilled analyst is often the worst for a team, because it optimizes for speed of thought over legibility. Team choices should favor text over interface, shared definitions over private cleverness, and boring, widely known tools over the ideal one.
Also weigh what your team already knows. A tool that half the team can use today beats a better one they would all have to learn, unless the gap is very large. Retraining is real work and it lands on the same people who are already the constraint.
Related reading on this site
For work this environment has to support, see The analysis sequence: from question to answer, and for the review that reproducibility makes possible, also see The twelve point analysis checklist. The wider category, including the pieces upstream of the analyst, is covered in Analytics tools: the full category.
For evaluating the shared delivery layer rather than the individual workbench, see Running a tool evaluation. For access and ownership rules any setup must respect, see Data governance for analytics.
Common questions
Should analysts all use the same environment?
For anything shared, yes. For exploration, no, and enforcing it costs more than it saves. The line is whether the output will be read by someone else.
Is a warehouse a prerequisite?
For a small company, no. The prerequisite is that the data an analyst needs is reachable without a manual export. A warehouse is the usual way to get there, not the only one.
How much should we automate?
Automate what has been asked three times. Automating on the first request builds machinery for questions that turn out not to recur, which is the most common way analyst time disappears.
What about assistants that write queries?
Treat generated queries as a draft from a capable colleague who has not read your data dictionary. They are useful for speed and they do not know which of your two similar tables is the one people actually mean.







