Analyses
An analysis is a guided run powered by the Ufinq symbolic regression technology. The resulting report is a living notebook inside a Diafunc project — editable, rerunnable, and shareable.
Starting an analysis

1. Project and data

Supported file formats
See the full supported file formats reference for the per-format matrix, the inner-table picker behaviour for multi-table sources, and the known limitations of every importer. For dialect quirks (encodings, decimal separators, missing-value conventions, flattening nested JSON / YAML / XML) see preparing your data.
CSV files
File extension:
Use ".csv" as file extension to make it clear that it's a CSV file.Headers:
Include clear and consistent headers for each column into the first row to describe the data, but keep them simple.Encoding:
Save the CSV file with UTF-8 encoding to ensure compatibility with different systems and to support all characters.Avoid special characters:
Do not use special characters to avoid problems and to make the data readable.
CSV Example File
Excel files
File extension:
Use ".xlsx" as file extension to make it clear that it's an Excel file.Headers:
Include clear and consistent headers for each column into the first row to describe the data, but keep them simple.No formatting:
Avoid using cell formatting options like colors, borders, or conditional formatting. Keep the text plain and simple.Single sheet:
Use only one sheet per file to keep things simple and organized.No macros or pivot tables:
Do not use any macros, pivot tables, charts or any other advanced Excel features. The data should be as raw and uncomplicated as possible.Data types:
Ensure that each column contains data of the same type (e.g., all numbers, all text). Use only text and number types. It's perfectly fine to provide numbers using the text data type.
Excel Example File
2. Targets and questions
Target variables — pick one or more columns you want to explain or predict. Most analyses focus on a single target; two or three is the realistic upper end. The last column of your data is pre-selected by convention.
Questions — optionally add natural-language questions about your data (for example "Which factors drive customer churn?"). The assistant answers each question in a dedicated Questions & Answers chapter of the report, grounded in what the analysis actually found.
3. Depth preset
| Preset | Time | Credits | Best for |
|---|---|---|---|
| Express | 1 hour | 500 | Quick sanity check on a small dataset |
| Quick | 2 hours | 2 000 | First-pass exploration |
| Standard (default) | 4 hours | 10 000 | Most analyses of everyday datasets |
| Thorough | 8 hours | 40 000 | Datasets with many columns or subtle relations |
| Deep | 24 hours | 150 000 | Maximum-quality discovery on important problems |
While it runs

You can open the report notebook while the analysis is still running to peek at the chapters that have already landed. Cancelling an analysis really stops it — no credits are charged for work that hasn't completed.
The report
| Chapter | Description |
|---|---|
| Analysis | Everything the analysis found, layered from data to conclusions. |
| Headline | The strongest findings at a glance — the first thing a reader sees. |
| Concerns | Every issue the built-in detectors raised about the data or the models, collected in one place. Read this before trusting anything else. |
| Discovered Relations | The headline formulas Diafunc found for your targets. |
| Questions & Answers | An answer to each of the questions you asked in the wizard. Only present if you asked any. |
| Data | What is in your table — read this to judge how far to trust the models. |
| Variable | A chapter per analyzed variable with Description, Correlation, and Visualization sub-chapters, Class Balance for non-numeric variables, and an Over Time view when the data has a date column. |
| Column Profiles | A compact profile of every column in one overview. |
| Column · name | Per-column detail. Free-text columns add token statistics and an embedding view; coordinate pairs add a Geospatial · lat × lng map. |
| Duplicate Rows | Duplicated rows in the dataset and how much of it they make up. |
| Leakage Suspicion | Predictors that track a target suspiciously closely — often leaked or derived columns. |
| General | Dataset-wide description: Missing Values, Outlier Ranges, Correlation with Potential Data Leaks, and Clusters. A Segments chapter (Segment Distribution, Segment Profile, Target by Segment) is added when you picked a segment-by column. |
| Model | One chapter per target, plus cross-target chapters when you picked several. |
| Target | The discovered model: the formula, its metric gauges, a Prediction chapter that applies the model to held-out rows with a scatter chart of actual vs. predicted values, and the diagnostic chapters described below. |
| Composite Model | Several targets only: the per-target models assembled into one multi-output model, with the per-target chapters nested under it. |
| Leaderboard | Several targets only: all targets side by side against simple baselines. |
| Multi-Output | Several targets only: cross-output quality and how the outputs' errors relate. |
| Implications | What the results mean and what to do next. |
| Stakeholder Summary | A plain-language summary for readers who won't open the technical chapters. |
| Recommended Next Data | Which data would improve the models most if you collected it next. |
| Per-Segment Quality / Performance | Model quality broken down by segments of the data — automatically chosen feature segments, and your segment-by column if you picked one. |
| Fairness | Per target, how the model behaves across different groups of rows. |
| Out-of-Distribution | How to recognise future rows that lie outside what the model was trained on. |
| Causal Honesty | What the formulas do and do not say about cause and effect. |
| Deployment Readiness | A checklist of what has — and hasn't — been verified before you rely on the model. |
| Provenance & Audit | What produced this report: the data, configuration, and models behind every finding. |
| Foundation | The data and the function that underlie the analysis. |
| Raw Data | The dataset exactly as you uploaded it. |
| Analysis Function | The function that produced this report — rerunnable on new data. |
| Processed Data | The cleaned, typed, and normalised dataset used for modelling. |
Target kinds
| Kind | The target looks like |
|---|---|
| Regression | A continuous number — the classical case. |
| Count | Non-negative whole-number counts. |
| Ordinal | A small set of ordered levels, such as ratings from 1 to 5. |
| Binary classification | A yes/no outcome. |
| Multiclass classification | A category with several possible values. |
| Time series | A number paired with a date column, judged in temporal order. |
| Multi-output | Several targets modelled together as one composite model. |
| Structured output | A tuple-shaped target with meaningful internal structure. |
| Dense output | A matrix or tensor target. |
Several targets, one composite model
Formula explanations

The explanations are produced by our Ufinq symbolic regression technology — the same technology that powers standalone modeling in Diafunc projects.
Each model chapter also shows five gauges summarising its key metrics:
| Metric | Description |
|---|---|
| Quality | Overall quality of the solution, derived from a combination of complexity and error. |
| Complexity | Complexity of the formula — simpler is better, all else being equal. |
| Error | Error of the formula against the training dataset. |
| Time | Time spent finding this solution. |
| Budget | How much of the compute budget was used to find this solution. |
Model diagnostics
| Chapter | Description |
|---|---|
| Feature Importance | Which features drive the model, ranked. |
| Baselines | The model against cheap reference predictors (mean, median, linear regression) — a formula is only interesting if it beats them. |
| Generalization | Training vs. held-out quality — does the formula hold on rows it never saw? |
| Per-Term Partial Dependence | How each term of the formula responds to its inputs. |
| Per-Row Contribution Waterfall | For a single row, how the terms add up to the prediction. |
| Term Ablation | How much quality each term contributes — what would be lost by dropping it. |
| What-If | Move the inputs and watch the prediction respond. |
| Sensitivity | How strongly the prediction reacts to each input. |
| 2-Feature Interactions | Pairs of features whose combined effect differs from their individual effects. |
| Worst Predictions | The held-out rows the model gets most wrong — usually worth inspecting by hand. |
| Search Progress | How solution quality improved over the course of the search — did it converge, or did the budget run out first? |
| Model Constraints | Mathematical-hygiene checks on the held-out predictions: finite outputs, within-domain values, no runaway predictions. |
Reading the honest-data chapters
Missing Values — shows each variable's row count against the dataset total. If a column is missing more than about 30% of its values, treat any formula that relies on it with caution: the model learned from whatever rows happened to have a value, which may not be representative.
Outlier Ranges — for every numeric variable, shows the 25th, 50th, and 75th percentiles alongside the full range. A variable whose range extends far beyond the 75th percentile usually has a few extreme rows pulling formulas around. Consider whether those rows are data errors, rare-but-real events, or a signal worth modelling separately.
Class Balance (for non-numeric targets) — shows the row count per target class. If one class holds more than ~90% of the rows, a model can look accurate just by always predicting the majority class. The analysis flags this so you can judge quality correctly.
Potential Data Leaks — when a predictor correlates suspiciously strongly with a target (Pearson > 0.95), the report flags it. Very high correlations usually mean the predictor is either a direct transformation of the target, was computed from the target, or is a near-duplicate column. If a leaked variable stays in the analysis, the discovered formula will look great but fail on new data.
Segments (only if you selected a segment-by column) — the Segment Profile shows descriptive statistics grouped by segment, and the per-target Target by Segment chapters show how target values differ between groups. Look for variables whose mean, spread, or missing-value rate changes substantially between segments — those shifts are often more actionable than the aggregate formulas.
Reading the prediction chart
Points on the diagonal are accurate predictions. Vertical offsets reveal bias (the model systematically over- or under-predicts), vertical spread reveals noise (how much individual predictions vary), and points far from the diagonal are cases the model handles poorly — often the rows worth inspecting by hand.
After it runs
Ask About It — the Ask About It button opens a chat session scoped to the analysis. The assistant has the findings in context, so follow-up questions land against the specific results of your run.