Ara was awarded a $50K Launch Grant from VIPC. Read the announcement →
← All posts

4 min read

Why analytics needs version control

Mari Soonsoo Bae

Founder & CEO, Ara

Final_v7_REVISED_USE_THIS_ONE.ipynb is not version control.

It tells you that something changed. It does not tell you what changed, why it changed, who asked for it, or whether the conclusion is still valid.

Analytics does not just need file versioning. It needs a way to understand how the question, methodology, assumptions, evidence, and conclusion evolved together.

File history tells you something changed. Decision history tells you why it mattered.

Before Git, code was difficult to build on

Software used to have a compounding problem. Teams could write code, but it was hard to understand how that code changed over time, who changed it, why the change happened, or how to safely collaborate without breaking everything.

Git did not make software simple. It made change traceable.

It gave engineering teams clearer history, collaboration, reversibility, and accountability. A developer can inspect a commit, review the diff, understand the surrounding discussion, and decide whether a change should be trusted or reverted.

That changed how software compounds. Teams no longer have to rebuild every product from scratch because the history of the system is part of the system.

Analytics has the same problem, with more context

Analytical work changes constantly. A question becomes more precise. A metric definition shifts. A stakeholder asks for a different segment. A notebook gets copied. A SQL query changes. A conclusion becomes weaker, stronger, or irrelevant.

Those changes happen across multiple layers:

  • Data
  • Code
  • Definitions
  • Assumptions
  • Segments
  • Time periods
  • Stakeholder requests
  • Interpretations
  • Recommendations

Git can show that a SQL query changed. It cannot necessarily explain that the query changed because Finance redefined an active customer, or because the original segment included a population the business no longer considers comparable.

That missing context is where analytical version control has to go beyond file history.

File history is not decision history

A useful analytical version should answer more than “what changed in the file?”

It should answer:

  • What changed?
  • Who requested the change?
  • Why was it changed?
  • Which evidence was affected?
  • Did the conclusion change?
  • Which version was ultimately used for the decision?

This is the difference between tracking artifacts and tracking analytical reasoning.

A notebook diff can show that a filter was added. It may not show that the filter was added because recently acquired customers distorted the pricing model. A dashboard history can show that a chart changed. It may not show that the change invalidated a recommendation made two weeks earlier.

For analytics, the decision context is not a nice-to-have. It is the thing that makes reuse safe.

A realistic iteration

Consider a pricing analysis.

Version 1 studies all customers and estimates the revenue impact of a price increase. The initial result looks promising.

Version 2 separates enterprise accounts because their contract behavior is different from self-serve customers.

Version 3 removes recently acquired customers because they have not had enough time to show stable renewal behavior.

Version 4 models a lower price increase after Sales warns that the original scenario could create negotiation risk.

Version 5 incorporates churn sensitivity using historical reactions to past pricing changes.

Version 6 becomes the executive recommendation: a smaller increase for one segment, delayed rollout for another, and no change for customers with renewal risk.

The value is not merely retaining six files. The value is preserving the relationship between each change and the decision.

Without that relationship, a future analyst can find the final model but not understand which assumptions were fragile, which debates were settled, or which customers were intentionally excluded.

What analytical version control should include

Analytical version control needs three kinds of history.

Artifact history

The files, queries, notebooks, dashboards, spreadsheets, charts, and reports. Teams need to know what changed in the materials used to produce the answer.

Reasoning history

The assumptions, methodology, interpretation, and evidence behind the work. Teams need to know why the analysis moved from one version to the next.

Decision history

The feedback, approvals, changes, and final outcome. Teams need to know which version informed the business decision and what decision was actually made.

Artifact history without reasoning history is incomplete. Reasoning history without decision history is hard to operationalize. The three pieces belong together.

Analytics should compound like software

Software teams do not rebuild every product from scratch. They build on systems with history.

Analytical teams should not have to rebuild organizational understanding from scratch either. Every analysis should make the next analysis easier to trust, faster to evaluate, and safer to reuse.

That is what version control for data analysis should make possible: not just old files, but durable analytical memory.

Explore analytical version history in Ara

Book a demo

Organizations stop starting over.

Knowledge compounds.

Request access →