Methodology
On this page
1 · The analytics workflow 2 · Dataset understanding 3 · Data quality & cleaning 4 · Statistical analysis 5 · Machine learning & AutoML 6 · Explainability 7 · Forecasting 8 · Querying, SQL & combining 9 · Business analytics 10 · Verifying every number 11 · What the AI analyst is taught 12 · How the calculations are checked 13 · Assumptions & limits1 · The analytics workflow
Every dataset moves through the same transparent pipeline so results are reproducible and auditable: understand → audit → clean → explore → model → explain → forecast → simulate → report. You can branch or export at any step; nothing is a black box.
2 · Dataset understanding
On load, ATARS profiles every column — type, cardinality, missingness, distribution — and resolves common semantic aliases (e.g. rev→revenue, qty→quantity). It infers the likely problem type (classification, regression, forecasting or clustering), candidate target and feature columns, and recommends a workflow and models.
3 · Data quality & cleaning
A quality auditor produces a readiness score from completeness, consistency, duplication, outliers and class balance, and flags potential data leakage and bias. Cleaning operations — imputation, de-duplication, outlier handling, type conversion, encoding and scaling — are applied transparently and recorded in an audit log so every transformation is traceable.
Number parsing handles currency symbols, Indian crore and lakh, European decimals (1.234,56) and accounting negatives ((500)), and duplicate category spellings such as "Male", "male" and "MALE" are merged into one level. By default, missing numbers are filled with the median and missing categories with the most common value, and each fill is counted in the log. From version 5.5, ATARS will not impute a column that is more than half empty — filling it would make a mostly unknown column look fully measured — and never fills free-text columns with a repeated value; the log names every column it left untouched and why.
4 · Statistical analysis
Hypothesis testing and inference use standard, peer-reviewed methods from statsmodels and scipy: t-tests, z-tests, ANOVA, chi-square, correlation and normality tests, non-parametric tests (e.g. Mann-Whitney, Kruskal-Wallis), variance analysis, confidence intervals and assumption diagnostics. Test choice and assumptions are surfaced alongside results, and when you combine datasets ATARS checks whether branches differ significantly (ANOVA, Kruskal-Wallis and pairwise t-tests) rather than by chance.
5 · Machine learning & AutoML
Models cover regression, classification and clustering, built with scikit-learn — Random Forest, Gradient Boosting, SVM and linear families among them. ATARS uses train/validation splits and leakage-safe cross-validation, reports the appropriate metrics (R², MAE, RMSE for regression; accuracy, precision, recall, F1 for classification), and the AutoML engine trains several candidates, tunes them and ranks a leaderboard to select the best — with a Fast mode that samples large data for a quick ranking and a Full-accuracy mode that trains on every row, plus a live progress view. Trained models support single and batch prediction.
6 · Explainability
Predictions are explained with SHAP (SHapley Additive exPlanations), giving both global feature importance and local, per-prediction contribution breakdowns. This is what lets you see why a model produced a result, not just what it produced.
7 · Forecasting
Time-series forecasting uses classical, well-understood methods (e.g. ARIMA and Holt-Winters exponential smoothing) to capture trend and seasonality, and reports confidence intervals so uncertainty is explicit rather than hidden.
8 · Querying, SQL & combining
SQL Lab runs full SQL against your data with DuckDB — joins, window functions, CTEs and aggregations — so you can reshape, filter and aggregate exactly how you want, then promote a query result back into the working dataset. Multiple files can be combined by stacking rows or joining on a detected key, and every branch can be compared side by side.
9 · Business analytics
Beyond generic charts, ATARS includes the metrics teams report on: cohort & retention analysis, RFM (Recency, Frequency, Monetary) customer segmentation, and time-series decomposition into trend, seasonality and residual components — each computed transparently from your own columns.
10 · Verifying every number
An analysis is only defensible if its figures can be re-derived. ATARS keeps the working behind the numbers it reports:
- Receipts. Each tracked figure records what was asked, the source column and filter, the rows that were used, what was left out — blanks, dropped rows and values that were not numbers, with a count of each — the operation performed, and the rows that contributed most. When a report is exported, every receipt is re-derived from the data and marked as holding, moved or needing a check, and the report prints that working in full.
- Metrics. A business term is defined once — a column, an aggregation and an optional filter — and the same definition is used by charts, reports and receipts, so a term such as "revenue" always means one calculation.
- Grounded AI answers. Written answers are narrated from the figures ATARS computed, and the computation behind an answer — including any code it ran — is shown alongside it.
- Text columns. Themes in free-text columns are found on your computer across every row; a language model is only ever asked to put a name to a theme.
11 · What the AI analyst is taught
Aryabhata does not improvise its method. Every written answer is assembled from three things, in this order: method — how a careful analyst works and what they refuse to claim; practice — the passages from ATARS's knowledge base that bear on this particular question; and facts — the numbers ATARS computed from your data. The facts are the only source of numbers: the model writes the explanation, it does not do the arithmetic.
The knowledge base is 18 short notes on statistical method, written for ATARS and drawing on the published works cited below. For each question, the notes that apply are found by a search that runs on your own computer, with no internet needed.
What these notes are, and are not. They are ATARS's own summaries of established method, each naming the work it draws on so you can follow the citation to the source. The authors listed wrote those works; they are not affiliated with ATARS and have not reviewed or endorsed it. The notes guide how the AI reasons — they do not make it infallible, so check any answer that a decision depends on.
- How a good analyst actually works — Tukey, Exploratory Data Analysis (1977); Tukey, "We need both exploratory and confirmatory" (1980).
- Why the same data can support many wrong answers — Gelman & Loken, "The Garden of Forking Paths" (2013); Simmons, Nelson & Simonsohn, "False-Positive Psychology" (2011); Ioannidis, "Why Most Published Research Findings Are False" (2005).
- The shape data has to be in — Wickham, "Tidy Data", Journal of Statistical Software 59(10), 2014.
- Explaining versus predicting — Breiman, "Statistical Modeling: The Two Cultures", Statistical Science 16(3), 2001; Shmueli, "To Explain or to Predict?", Statistical Science 25(3), 2010.
- Leakage: the reason a model looks too good — Kaufman, Rosset & Perlich, "Leakage in Data Mining", KDD 2011 / TKDD 2012; Kapoor & Narayanan, "Leakage and the Reproducibility Crisis in ML-based Science" (2023).
- Judging a model honestly — Hastie, Tibshirani & Friedman, Elements of Statistical Learning (2009), ch. 7; Varma & Simon, "Bias in error estimation when using cross-validation for model selection" (2006); Cawley & Talbot (2010) on overfitting in model selection.
- When you may say "causes" — Pearl, Causality (2009) and The Book of Why (2018); Hernán & Robins, What If (2020); Angrist & Pischke, Mostly Harmless Econometrics (2009).
- Saying how sure you are — Spiegelhalter, The Art of Statistics (2019); Gelman & Hill, Data Analysis Using Regression and Multilevel/Hierarchical Models (2007); Wasserstein & Lazar, ASA statement on p-values (2016).
- Choosing a chart that does not mislead — Cleveland & McGill, "Graphical Perception" (JASA 1984); Cleveland, Visualizing Data (1993); Tufte, The Visual Display of Quantitative Information (1983); Few, Show Me the Numbers (2004).
- Missing values are data — Rubin, "Inference and Missing Data" (Biometrika 1976); Little & Rubin, Statistical Analysis with Missing Data (2019); van Buuren, Flexible Imputation of Missing Data (2018).
- Forecasting without fooling yourself — Hyndman & Athanasopoulos, Forecasting: Principles and Practice, 3rd ed.; Makridakis et al., the M4 and M5 competitions (2018, 2022).
- Reading an experiment — A/B tests and controlled trials — Kohavi, Tang & Xu, Trustworthy Online Controlled Experiments (2020); Deng, Xu, Kohavi & Walker on variance reduction (2013).
- Reporting so a decision can be made — Few, Show Me the Numbers (2004); Spiegelhalter, The Art of Statistics (2019); Deming, Out of the Crisis (1986) on the distinction between signal and noise in routine reporting.
- Text is data, and it is not a number yet — Grimmer & Stewart, "Text as Data: The Promise and Pitfalls of Automatic Content Analysis Methods for Political Texts", Political Analysis 21(3), 2013; Denny & Spirling, "Text Preprocessing for Unsupervised Learning", Political Analysis 26(2), 2018; Grimmer, Roberts & Stewart, Text as Data (2022).
- Who is in the data decides what it can say — Kish, Survey Sampling (1965); Groves et al., Survey Methodology (2009); Meng, "Statistical Paradises and Paradoxes in Big Data", Annals of Applied Statistics 12(2), 2018; Bethlehem, "Selection Bias in Web Surveys", International Statistical Review 78(2), 2010.
- Averages hide the people the answer is worst for — Barocas, Hardt & Narayanan, Fairness and Machine Learning (2019); Hardt, Price & Srebro, "Equality of Opportunity in Supervised Learning" (NeurIPS 2016); Buolamwini & Gebru, "Gender Shades", PMLR 81, 2018; Kleinberg, Mullainathan & Raghavan, "Inherent Trade-Offs in the Fair Determination of Risk Scores" (2017); Bickel, Hammel & O'Connell, "Sex Bias in Graduate Admissions", Science 187, 1975.
- A study too small to find the effect cannot rule it out either — Cohen, Statistical Power Analysis for the Behavioral Sciences (1988); Button et al., "Power Failure: Why Small Sample Size Undermines the Reliability of Neuroscience", Nature Reviews Neuroscience 14, 2013; Gelman & Carlin, "Beyond Power Calculations: Assessing Type S and Type M Errors", Perspectives on Psychological Science 9(6), 2014.
- Time makes ordinary methods wrong — Granger & Newbold, "Spurious Regressions in Econometrics", Journal of Econometrics 2(2), 1974; Hyndman & Athanasopoulos, Forecasting: Principles and Practice (3rd ed., 2021); Bergmeir & Benítez, "On the Use of Cross-Validation for Time Series Predictor Evaluation", Information Sciences 191, 2012; Vigen, Spurious Correlations (2015).
12 · How the calculations are checked
A method is only as good as its arithmetic. ATARS runs a correctness benchmark that compares its own results with the standard scientific libraries — pandas, NumPy, scikit-learn and SciPy — on data built with properties that are known in advance. 14 of 14 checks pass on the current code.
Exact agreement with a reference library
These compare a number ATARS computes with the same number from an established library. The only differences are floating-point rounding.
| Check | Result | |
|---|---|---|
| ✅ | The data-quality score equals its published formulaquality_score == reference formula | atars=96.666667 ref=96.666667 |
| ✅ | Mean equals pandasstats.mean == pandas.mean | atars=995.1849 ref=995.1849 |
| ✅ | Median equals pandasstats.median == pandas.median | atars=995.095 ref=995.095 |
| ✅ | Grouped totals equal a pandas group-by sumaggregate(Sum) == pandas groupby-sum | max_abs_err=2.33e-10 |
| ✅ | The DuckDB engine agrees with pandas across six aggregationsDuckDB aggregate == pandas aggregate (6 aggs) | max_abs_err=1.02e-08 |
Correct behaviour where the answer is known
These build data with a known answer — duplicates, clusters, outliers, a leaking column, a learnable pattern — and check that ATARS finds it. They show the method behaves correctly; they are not a comparison of every digit.
| Check | Result | |
|---|---|---|
| ✅ | Cleaning removes exact duplicate rowsclean_data removes exact duplicates | before=5100 after=4978 |
| ✅ | Cleaning never increases the number of missing valuesclean_data reduces/holds null count | nulls before=201 after=0 |
| ✅ | Cleaning records every step it tookclean_data emits an audit trail | steps=11 |
| ✅ | PCA reports valid explained variancePCA explained-variance in [0,1] and sums<=1 | ratios=[0.951, 0.049] |
| ✅ | K-means finds two clusters that were built into the dataKMeans recovers 2 separated clusters (silhouette>0.6) | silhouette=0.791 |
| ✅ | Anomaly detection flags outliers that were planted in the dataIsolationForest flags injected outliers | — |
| ✅ | Feature importance ranks a real signal above random noisefeature_importance ranks signal above noise | — |
| ✅ | The leakage check catches a column that copies the answerleakage detector catches identical-to-target column | — |
| ✅ | AutoML reaches over 90% accuracy where the answer is learnableAutoML best model >0.9 accuracy on separable data | best=GradientBoosting acc=1.0 |
Beyond the benchmark. More than 900 automated tests run against the engine, including parity tests that fail if a core calculation silently changes its result. Separately, every tracked figure in your own analysis keeps a receipt and is re-derived from your data when you export (section 10).
What this proves, and what it does not. These checks cover ATARS's core calculations, not every result the app can produce. They are run by the developer, not by an independent auditor. Agreement with pandas, NumPy, scikit-learn and SciPy shows ATARS computes what those libraries compute; it does not guarantee that a method was the right one for your data. That judgement stays with you.
13 · Assumptions & limits
ATARS automates analysis but does not replace domain judgement. Results depend entirely on the quality and representativeness of your data. Statistical tests carry assumptions (normality, independence, sample size); forecasts assume past patterns continue; correlation is not causation. Always review outputs in context before making decisions.
⬇ Download ATARS — Free🛍️ Microsoft Store
Prefer the command line? pip install atars installs the free terminal edition on Windows, macOS and Linux — same engine, but a smaller, limited version of the app. Read the terminal-edition guide →