Home

AnalyZ Solutions covers the full research workflow: from loading and cleaning data, through statistical analysis and visualisation, to qualitative thematic coding. This guide walks you through every feature in detail.

What's in the platform

Typical workflows

Quantitative workflow

Load data
Inspect in Data View
Clean & prepare
Describe
Test / model
Visualise & Dashboard
Sense Making
Data Canvas

Qualitative workflow

Load transcripts
View & read
Code themes
Explore themes
Analyze relationships
Sense Making
Data Canvas

Mixed-methods workflow

Load both
Quantitative analysis
Qualitative coding
Sense Making
Data Canvas
Guest mode — you can explore the platform without an account, but data is limited to 50 rows / 1 MB and sessions cannot be saved. Sign up free to remove all limits.

Creating an account

AnalyZ Solutions uses a secure, industry-standard authentication system to manage user accounts. No payment details are ever required.

1
Click Sign up free
From the landing page or from the login screen inside the app, click Sign up free. You will be asked for an email address and a password.
2
Verify your email
A verification link is sent to your email address. Click the link to activate your account. The link expires after 24 hours — request a new one from the login screen if needed.
3
Log in
Enter your email and password on the login screen. You will be taken directly into the app.

Logging in and out

To log in, visit analyz.solutions or click Login from the landing page. Your email and password are the only credentials needed.

To log out, click the Log out button in the top-left corner of the sidebar inside the app. Your session is terminated immediately and all in-memory data is cleared.

Forgotten password? Click Forgot password? on the login screen. A password reset link will be emailed to you. The link is single-use and expires after one hour.

Data security

WhatHow it works
Data in transitAll communication between your browser and AnalyZ is encrypted with TLS (HTTPS). Data is never sent over plain HTTP.
Data in sessionUploaded files and analysis results are held in browser memory only for the duration of your session. By default they're discarded the moment you close the tab or log out.
Local device save (opt-in)You can turn on Save on this device in the sidebar to keep a working copy in this browser's local storage across closes. This is off by default, stored only on your device (never our servers), and expires automatically after 24 hours.
Server storageAnalyZ does not store your uploaded data on any server. No copies are kept after your session ends.
Saved sessions (.analyz.json files)When you save a session, the file is downloaded directly to your own device. AnalyZ does not keep a copy server-side.
Account credentialsPasswords are never stored in plain text — only a secure hash is kept. AnalyZ staff cannot see your password.
Authentication tokensLogin sessions use short-lived JWT tokens that expire automatically. Logging out invalidates the token immediately.
For sensitive research data: Because uploaded data is processed entirely in your browser's memory and never leaves your device to a storage server, AnalyZ is suitable for use with personally identifiable information (PII) subject to your organisation's data governance policies. Always consult your institution's ethics and data protection officer if in doubt.

Guest mode vs. registered account

FeatureGuestRegistered
Data limit50 rows / 1 MBUnlimited
Qualitative files1 file / 1 MBUp to 10 files / 250 MB
Session saving (.analyz.json)
Download data✅ (CSV, Excel, Stata, SPSS)
All modules
Account required✅ (free)

Quantitative data

Use the sidebar on the left. Make sure the mode toggle at the top of the sidebar is set to Quantitative.

1
Click the file uploader
Drag and drop your file, or click to browse. The uploader accepts CSV, Excel (.xlsx/.xls), Stata (.dta), SPSS (.sav), JSON, and saved AnalyZ sessions (.analyz.json) — a session file only restores its matching data type here; use 📂 Restore Session to load everything at once.
2
Wait for the confirmation
A green summary strip appears at the top of the screen showing row count, column count, and labelling status. Your dataset is now loaded.
3
Select a module and begin
The Guided Analysis wizard launches automatically. Follow it, or click Modules in the top nav bar to go straight to the module grid.
Variable labels are imported automatically from Stata and SPSS file metadata, and from an Excel sheet named Labels, Codebook, or Data Dictionary. For CSV files, you can add labels manually in Data View.

Multi-sheet Excel files

If your Excel file has more than one sheet containing data, AnalyZ will detect this and show a sheet picker in the sidebar. Select the sheet you want and click Load selected sheet.

Demo datasets

If you don't have data ready, use one of the demo buttons in the sidebar:

Clearing loaded data

Click the button next to the filename in the sidebar. This removes the dataset from the session. All analysis results are cleared too.


Connecting via API

AnalyZ can pull data directly from survey platforms — no file download needed. Supported platforms include KoBo Toolbox, ODK Central, REDCap, Google Sheets, and any custom REST endpoint returning JSON or CSV.

1
Click Connect API in the sidebar
Expand the Connect API section below the Upload button. Choose your platform from the preset list — KoBo, ODK, REDCap, Google Sheets, or Custom API.
2
For KoBo — click Sign in to KoBo
Paste any URL from your KoBo form (export link, API link, or form page URL). Then choose how to sign in: either open the token page (link generated automatically), copy your API token, and paste it in — or switch to Username & Password and enter your regular KoBo login instead. AnalyZ exchanges your credentials for a token automatically, so you don't need to hunt one down. Either way, AnalyZ extracts the server and form ID automatically.
3
Select variables to load
A variable picker appears showing all fields in the form, with their labels. Search, filter, and select only the variables you need before loading. Labels, value codes, and multilingual text are imported automatically.
4
Refresh when new data comes in
Once connected, the source appears under Connected sources in the sidebar with a refresh button (↻). Click it to pull the latest submissions. Your API token or credentials are stored in browser session memory only — if your session has expired, you'll be prompted to reconnect, with the same choice of pasting a token or signing in with username and password again.
Saving API connections: When you save a session (.analyz.json file), the connection metadata (URL, platform, form name) is saved — but never your token or password. When you restore the session, the data loads from the saved file. Click ↻ to fetch fresh data from the API.

Qualitative data

Switch the mode toggle in the sidebar to Qualitative. Then use the file uploader to load transcript files.

1
Select Qualitative mode
Use the radio toggle at the top of the sidebar. If you have a quantitative dataset loaded, AnalyZ will warn you before clearing it.
2
Upload your transcript files
Accepted formats: plain text (.txt), Markdown (.md), and Word documents (.docx). You can upload up to 10 files at once (up to 250 MB total). Guest mode is limited to 1 file / 1 MB.
3
Open Qualitative Analysis
Click Open on the Qualitative Analysis card from the home screen. You will see the number of loaded transcripts confirmed at the top.
Use Try dummy transcript in the sidebar to load a sample interview about community challenges — useful for learning the coding workflow before working with your own data.

Top navigation bar

The sticky bar at the top of every page contains the main navigation controls:

ButtonWhat it does
HomeReturns to the module grid from anywhere. Also resets the onboarding wizard so it won't re-launch automatically.
ModulesOnly visible when the Guided Analysis onboarding wizard is active. Skips the wizard and goes straight to the module grid.
Guided AnalysisOpens the decision-tree assistant. Ask it what you are trying to do and it will recommend the right module and test.
BackAppears inside modules that have sub-sections (e.g. Data Management actions). Returns one level up without losing data.

Home screen

The home screen presents two mode cards: Quantitative Analysis and Qualitative Analysis. Click either to enter that mode. Once in a mode, the home screen shows the relevant module cards (five quantitative, four qualitative). Click any card to open that module. If no dataset or transcript is loaded, modules will show a prompt to upload data first.

Quantitative modules

ModuleWhat it does
Data ViewInspect your dataset, variable types, and value labels
Data ManagementCreate, recode, rename, and delete variables; merge and append datasets
Descriptive AnalysisFrequencies, summary statistics, cross-tabulations, data quality
Inferential AnalysisT-tests, ANOVA, chi-square, correlation, regression
Scale & ReliabilityCronbach's Alpha, PCA, EFA for questionnaire validation
Data VisualizationInteractive charts — 25+ chart types, multi-chart dashboard with cross-filtering
SamplingSample size estimation, power analysis, and drawing samples from a sampling frame

Qualitative modules

ModuleWhat it does
View TranscriptsRead, edit, and tag transcripts. Overview stats, word cloud, word search, and coding stripes.
Thematic CodingCreate a codebook, assign and remove codes, use keyword auto-suggest, and review segments with the query builder.
Compare CodingLoad two coders' exports and compute Cohen's Kappa for inter-rater reliability.
Explore ThemesThematic saturation, theme comparison (per transcript or by participant group), theme connectedness (co-occurrence and distinctiveness), and segment length.
Analyze RelationshipsNetwork Map, Thematic Clusters, Code Sequence, Configurational Analysis, Qualitative Comparative Analysis (QCA), and Persona Builder.

AI and sharing modules

ModuleWhat it does
Sense MakingAI synthesis across all your analyses — quantitative and qualitative together — into one coherent narrative
DashboardAssemble charts into a shareable live dashboard with cross-filtering. Publish as a public link — no account needed to view
Data CanvasBuild a scrollable public story with charts, tables, and participant quotes. Shareable as a link with no account required

Guided Analysis wizard

Available at any time from the Guided Analysis button in the top navigation bar. It helps you identify the right analysis when you are unsure where to start — or when you want confirmation that you are using the right approach for your goal.

The wizard works in three stages:

1
Describe your goal
Type your goal in plain language — for example, "I want to find out if men and women scored differently on the satisfaction question." The AI interprets your goal, identifies the relevant analysis, and pre-selects your variables from the loaded dataset. Or skip the text box and pick from the goal list directly.
2
Confirm the interpretation and select variables
If you used the free-text option, the wizard shows how it interpreted your goal and asks you to confirm. It then shows relevant variable dropdowns populated from your actual dataset — group variable, outcome variable, etc. — pre-filled where it could infer them from your description.
3
Review the recommendation and go
The wizard shows the recommended analysis, the specific module and test, and a plain-language explanation of why it fits your goal. Click Take me there to open the module directly.

Goals covered include: describing data, comparing groups, predicting an outcome, exploring relationships, validating a scale, building a chart or dashboard, cleaning data, calculating sample size, understanding qualitative data, finding patterns across transcripts, mixed-methods analysis, and producing a data story.

The AI never sees your raw data — it only uses your column names and types to make variable suggestions. You always review and confirm before proceeding.

Sub-sample filtering

Most quantitative analysis modules have a 🔍 Filter data panel at the top. Expand it to add one or more conditions (e.g. gender == Female, age > 30). All analysis in that module will run on the filtered subset only. An info banner confirms the active filter. Remove conditions to return to the full dataset.

Guest mode does not support session saving. Create a free account to unlock this feature.

Saving a session

AnalyZ saves both quantitative and qualitative work together in a single .analyz.json file. You can switch between modes within the same session and save everything at once.

1
Load your data
Upload a dataset (quantitative) and/or one or more transcripts (qualitative). You can have both in the same session.
2
Click 💾 Save Session
The button appears near the top of the sidebar once any data is loaded. A .analyz.json file downloads containing: your dataset, all variable and value labels, all transcripts, your full codebook, every coded segment, analyst notes, connected API sources, and any saved dashboard charts.
3
Restore later
Click 📂 Restore Session in the sidebar — it's available regardless of whether you're in Quantitative or Qualitative mode — and select your .analyz.json file. Everything is restored exactly as you left it: dataset, transcripts, coding, API connections, and dashboard charts.
You can switch between Quantitative and Qualitative modes freely — your data in both modes stays loaded until you explicitly clear it, refresh isn't a problem either. By default, everything clears when you close the browser tab; if you'd like it to persist across closes on this device, turn on Save on this device in the sidebar (see below). Either way, save a .analyz.json file for anything you want to keep long-term or move to another device.

Uploading a session file into the Quant or Qual picker instead

If you drop a .analyz.json file into the regular Upload button rather than Restore Session, AnalyZ still recognizes it — but only restores the matching half of the file:

You'll see a status message noting what else is in the file and pointing you to Restore Session if you want everything at once. This is intentional — it lets you pull just the piece you need without disturbing what's already loaded elsewhere in the app.

Saving locally on this device

Separate from downloading a session file, AnalyZ can optionally keep a working copy of your session in this browser's local storage, so it's still there if you close the tab and come back. This is off by default and never sent to our servers either way.

1
You'll be asked once
The first time you have data loaded, a prompt appears asking whether to save this session on this device.
2
Change it anytime
A small Save on this device toggle stays in the sidebar afterward — click it to turn local saving on or off whenever you like. Turning it off immediately clears anything already saved.
3
It expires automatically
Even with this turned on, locally saved data clears itself after 24 hours as a safety measure — download a .analyz.json file if you need something to last longer than that.

⬇️ Downloading your data

Separate from session saving, the sidebar also has a ⬇ Download Data section that lets you export the current (possibly modified) dataset in your preferred format: CSV, Excel (.xlsx), Stata (.dta), or SPSS (.sav). Variable labels and value labels are embedded in the Stata and SPSS exports.

Data View is your first stop after loading a file. Use it to confirm everything loaded correctly and to get familiar with your variables before running any analysis.

The data table

Use the row range slider at the top of the controls bar to set which rows to display. Drag the left handle to set the start row and the right handle to set the end row — for example, drag to rows 100–300 to inspect a specific section of a large dataset. The label beside the slider shows the active range (e.g. 1–50). A missing value indicator appears automatically — a green badge if the dataset is complete, or an orange warning with a count if there are missing cells.

Showing value labels

Click Show value labels above the table. Any cell with a label mapping will display as 1 (Male) instead of just 1. Click again to return to raw values. When a dataset has value labels (e.g. imported from Stata or SPSS), this toggle is switched on automatically — so you see decoded labels by default and can turn them off to inspect raw codes.

Column details

Expand the Column details section below the table for a full inventory of every variable:

FieldWhat it shows
LabelHuman-readable variable description (if one has been added)
Value labelsMappings e.g. 1 = Male, 2 = Female
TypeData type (int64, float64, object, etc.)
Non-nullCount of rows with a value
NullsCount of missing values
UniqueNumber of distinct values
SampleThe first non-missing value in the column

Editing variable labels

Expand Edit variable labels at the bottom of the page. Select a variable, type a descriptive label (e.g. "Age of respondent in years"), and click Save label. Labels appear throughout the app wherever that variable is used. Leave the field blank and click Save to clear a label.

Good variable labels make output tables and charts far easier to read — especially when sharing results with others. Add them before running analysis.

Column Inspector

Click any column header in the data table to open the Column Inspector — a slide-in panel on the right side of the screen. It shows the full distribution of that column alongside key statistics, so you can explore your data without running a formal analysis.

Click a different column header to switch instantly. Click the same header again, or the button, to close the panel. The Inspect tab on the right edge of the screen is always visible and lets you open or hide the drawer at any time.

Categorical columns

The inspector shows a horizontal bar chart with one bar per distinct value, sorted by frequency. Each bar displays the count and percentage inline. Click any bar to filter the data grid to rows containing that value — or exclude it. Reset removes the filter; Exclude all hides every value at once. Filters applied here are view-only and do not modify your dataset.

Numeric columns

The inspector shows a binned histogram. Use the Bins slider to adjust the number of bins (5 to 40) and reshape the distribution in real time. A yellow dashed line marks the mean and a blue dashed line marks the median — when they diverge noticeably, the distribution is skewed. Key statistics are shown above the chart: valid count, missing count, unique values, range, mean, median, and standard deviation.

Changing variable type from the inspector

The inspector includes a Variable type row showing the current type — continuous or categorical — with an (auto) suffix when the type has been inferred rather than set explicitly. Click Change to expand the type editor inline. Once saved, the type badge updates immediately and the distribution chart adjusts to reflect the new classification. The change propagates to all analytical modules — Descriptive Analysis, Inferential, Visualization — for the remainder of the session.

Variable type overrides are saved as part of your session. If you have Save on this device turned on, they survive a tab refresh or navigate-away. They are also included when you download a .analyz.json session file.

Data Management gives you a full set of data preparation tools without writing any code. A live row / column / missing-value count is shown at the top of each action screen. Every action is undoable (up to 10 steps).

Variable Types

AnalyZ auto-detects variable types. Numeric columns with more than 10 unique values are treated as continuous; those with 10 or fewer unique values are treated as categorical.

Use Variable Types to override this for individual columns — for example, a Likert scale coded 1–5 has more than 10 possible values if recoded but represents categories. Getting types right is important because they control which tests and chart options appear throughout the app.

You can also change the type directly from the Column Inspector in Data View — click a column header, then click Change in the Variable type row. Both routes update the same setting.

Create Variable

Add a new column to the dataset using one of four methods:

Give the new variable a name, choose its data type, and optionally add a label and value labels before clicking Create.

Recode Variable

Map old values to new values — for example, collapse age groups or reverse-score Likert items. Select the source variable, add value mappings row by row (old value → new value), give the result a name, and click Apply. The original variable is preserved; the recoded version is added as a new column.

Rename Variable

Select a variable and type its new name. The rename is reflected everywhere in the app immediately.

Delete Variables / Delete Observations

Delete Variables removes one or more columns. A preview shows what the dataset will look like before you confirm.

Delete Observations removes rows matching a filter condition you define (e.g. age < 18).

Manage Duplicates

Identifies fully duplicated rows, or duplicates based on a key column you choose. Preview the duplicates, then remove them keeping either the first or last occurrence.

🔗 Merge Data

Join a second dataset to the current one using a common key variable. Choose a join type:

Join typeBehaviour
InnerKeep only rows that match in both datasets
LeftKeep all rows from the current dataset; add columns from the second where they match
RightKeep all rows from the second dataset; add columns from the current where they match
OuterKeep all rows from both datasets; fill gaps with missing values

📥 Append Data

Stack a second dataset on top of the current one (row-wise). Columns present in one dataset but not the other are filled with missing values. Useful for combining data collected in batches (e.g. survey wave 1 and wave 2).

🔀 Split Column

Splits a text column into multiple new columns using a delimiter you specify (comma, space, semicolon, pipe, tab, or any custom string). Each part becomes a separate column named colname_A, colname_B, colname_C, and so on, inserted immediately after the source column.

Use Preview split before applying to verify how the delimiter will divide the values. Useful for columns such as "A B C", "Yes, No, Maybe", or multi-response fields encoded as delimited strings.

Reshape Data

Converts your dataset between wide and long formats — the two fundamental data structures in analysis:

DirectionWhen to useHow it works
Wide → LongRepeated-measures or longitudinal analysis; many value columns represent the same measurement at different times or conditionsSelect ID variables (columns to keep) and value variables (columns to unpivot). Each value variable becomes a row. Uses pd.melt().
Long → WideCreating a summary matrix; pivoting category values into columnsSelect an index column (row identifier), a columns variable (whose unique values become column headers), and a values column. Uses pd.pivot_table() with an aggregation function you choose.
Variable labels and value labels are cleared after reshaping, because column names change entirely. Re-add labels in Data View after the reshape if needed.

↩ Undo

The ↩ Undo button in the sidebar rolls back the last data management action. Up to 10 steps of history are maintained. The dataset, variable labels, and value labels are all restored together.

Descriptive Analysis has five analysis types presented as clickable cards on the module home screen. Cards are ordered to match a typical analysis workflow. Click any card to open that analysis. Use the Back button to return to the card selection. Use the optional 🔍 Filter data panel to restrict any analysis to a sub-group.

🔍 Data Quality

Run a full audit of your dataset before analysis. For every variable, the check reports: missing value count and percentage, duplicate values, whether the column is constant (only one unique value), and outliers (values beyond 3 standard deviations, for numeric columns). Results are colour-coded — red for high missing (>30%), orange for moderate missing (10–30%), and green (OK) for clean columns.

Run this first, before any other analysis, to catch data quality issues that could distort your results.

Frequency

Shows how often each value appears in a variable, with counts, percentages, valid percentages, and cumulative percentages.

1
Select variables
Choose one or more variables from the multiselect. Tick Select all variables to include every column at once.
2
Set options
Include missing values adds a "Missing" row to the table. Show chart generates a Bar, Horizontal bar, or Pie chart alongside the table.
3
Click Generate
Results appear for each selected variable. Charts are editable and can be downloaded as PNG, JPG, or interactive HTML.

🔲 Cross-Tabulate

Produces a contingency table showing how two categorical variables relate to each other — counts with row and column percentages. A chi-square test of independence is included automatically.

Select a Row variable and a Column variable (both should be categorical), then click Generate.

📋 Table

Creates a professional grouped summary table — means and standard deviations for selected continuous variables, broken down by a categorical grouping variable. This is the "Table 1" (characteristics table) commonly seen in academic papers.

Summary Statistics

Produces a full numeric profile for selected continuous variables:

Inferential Analysis is organised into four groups. Select a group, then choose the specific test. Every result includes an automated plain-language interpretation.

Test groups & available tests

GroupTests available
MeansIndependent t-test, One-sample t-test, Paired t-test, One-way ANOVA, Two-way ANOVA
PercentagesChi-square test, Z-test for Proportion
CorrelationPearson Correlation, Spearman Correlation
RegressionLinear, Logistic, Probit, Multinomial, Ordinal, Hierarchical Regression
Not sure which test to use? Open Guided Analysis from the top nav — it asks about your goal and data type and recommends the right test automatically.

Means

Independent t-test

What it does: Compares the means of two independent groups to determine whether the difference is statistically significant.

What you will see: Group means, mean difference, t-statistic, degrees of freedom, p-value, 95% confidence interval, and Cohen's d effect size.

Technical note: The t-statistic measures how many standard errors separate the two group means. A significant p-value means this difference is unlikely to have occurred by chance. Cohen's d measures the practical size of the difference: d = 0.2 is small, 0.5 is medium, 0.8 is large. A result can be statistically significant but practically trivial — always check Cohen's d alongside the p-value. AnalyZ applies Levene's test for equality of variances automatically and uses Welch's correction when variances differ significantly.

One-sample t-test

Tests whether a sample mean differs significantly from a known or hypothesised value. Enter the Test value (the benchmark you want to compare against).

Paired t-test

Compares two measurements from the same subjects (e.g. pre-test and post-test scores). Select the two numeric variables representing each measurement.

One-way ANOVA

What it does: Compares means across three or more groups simultaneously, testing whether at least one group differs from the others.

What you will see: ANOVA table, F-statistic, p-value, eta-squared (η²) effect size, and Tukey HSD post-hoc pairwise comparisons when the overall test is significant.

Technical note: ANOVA partitions variance into between-group variance (differences explained by the grouping) and within-group variance (unexplained differences). The F-statistic is the ratio of these two — a large F means between-group differences are large relative to within-group noise. Eta-squared (η²) is the proportion of total variance explained by the group factor: η² = 0.01 is small, 0.06 is medium, 0.14 is large. A significant overall F tells you that groups differ but not which pairs — Tukey HSD post-hoc tests identify the specific pairs.

Two-way ANOVA

Tests the effect of two categorical factors on a numeric outcome, including their interaction. Select a dependent variable and two grouping variables.

Percentages

Chi-square test

What it does: Tests whether two categorical variables are independent — i.e. whether the distribution of one variable differs across categories of the other.

What you will see: A contingency table showing observed and expected counts, the chi-square statistic (χ²), degrees of freedom, p-value, and Cramér's V effect size.

Technical note: The chi-square statistic measures how far observed cell counts deviate from what would be expected if the two variables were completely unrelated. A significant p-value (typically < 0.05) means the association is unlikely to be due to chance. Cramér's V measures the strength of the association on a scale of 0 (no association) to 1 (perfect association) — it is comparable across tables of different sizes. As a rule of thumb: V < 0.1 = negligible, 0.1–0.3 = small, 0.3–0.5 = moderate, > 0.5 = strong.

Z-test for Proportion

Tests whether an observed proportion differs significantly from a benchmark (e.g. is the approval rate significantly different from 50%?). Enter the variable, the value to count as a "success," and the benchmark proportion.

Correlation

Pearson Correlation

What it does: Measures the strength and direction of the linear relationship between two or more numeric variables.

What you will see: A correlation matrix with r values, significance stars, and p-values for each pair.

Technical note: Pearson's r ranges from -1 (perfect negative relationship) to +1 (perfect positive relationship). 0 means no linear relationship. As a rule of thumb: |r| < 0.1 = negligible, 0.1–0.3 = small, 0.3–0.5 = moderate, > 0.5 = strong. Pearson assumes both variables are continuous and approximately normally distributed. If your data is ordinal or skewed, use Spearman instead.

Spearman Correlation

What it does: Rank-based correlation suitable for ordinal data or when the normality assumption cannot be met.

What you will see: Spearman's rho (ρ) correlation matrix with significance indicators.

Technical note: Spearman's ρ works by ranking the data values first, then computing correlation on the ranks. It is more robust to outliers and non-normal distributions. Interpretation of ρ follows the same scale as Pearson's r. Use it when your variables are measured on Likert scales, when data is heavily skewed, or when you have clear outliers that would distort Pearson.

Regression

Linear Regression

What it does: Models the relationship between one or more predictor variables and a continuous numeric outcome, showing which predictors have a significant effect and by how much.

What you will see: Coefficient table (β, standard error, t-statistic, p-value, 95% CI), R², adjusted R², F-test, and plain-language interpretation per predictor.

Technical note: Each β coefficient represents the expected change in the outcome for a one-unit increase in that predictor, holding all other predictors constant. is the proportion of variance in the outcome explained by the model (0 = none, 1 = perfect). Adjusted R² penalises for adding predictors that do not improve the model — use this when comparing models with different numbers of variables. Categorical predictors are dummy-coded automatically by AnalyZ — you select the reference category.

Logistic Regression

What it does: Predicts the probability of a binary outcome (yes/no, pass/fail, dropout/retained) from one or more predictors.

What you will see: Odds ratios, coefficient table, model fit statistics (log-likelihood, AIC, pseudo-R²), and classification accuracy.

Technical note: Logistic regression does not produce β coefficients directly interpretable as changes in the outcome. Instead, it produces log-odds, which AnalyZ converts to odds ratios for easier interpretation. An odds ratio of 2.0 means the odds of the outcome are twice as high for each one-unit increase in that predictor. An odds ratio < 1 means higher values of the predictor are associated with lower odds of the outcome.

Ordinal Regression

For ordinal outcomes (e.g. a 5-point satisfaction scale used as a dependent variable). Uses a proportional odds model.

Multinomial Regression

For nominal outcomes with three or more categories. Compares each category to a reference category you select.

Hierarchical Regression

Build a regression model in sequential blocks to test how much each additional set of predictors improves explanatory power (ΔR²).

1
Select your dependent variable
Choose the numeric outcome you are trying to predict.
2
Add Block 1 (control variables)
Add the variables you want to control for (demographic controls, covariates).
3
Click + Add Block, add Block 2
Add your variables of interest. Repeat for additional blocks.
4
Click Run
Output shows each block's model, the change statistics table (ΔR², ΔF), and a combined interpretation.

Multilevel Regression

What it does: Models outcomes for observations that are nested within groups — for example, patients within clinics, students within schools, or households within villages. Accounts for the fact that observations in the same group tend to be more similar to each other than to observations in other groups, which standard regression ignores.

Outcome types supported: Continuous (EM-REML), Binary/logistic (PQL, reports odds ratios or log-odds), Count/Poisson (PQL, reports incidence rate ratios). Toggle between odds ratios and coefficients for binary outcomes using the pill button above the results table.

What you will see: Fixed effects table (coefficients, SE, z or t statistic, p-value, 95% CI), variance components (σ²_u, σ²_e, ICC at each level), model fit statistics (AIC, BIC, log-likelihood), group-level random intercept BLUPs, and an ICC verification panel.

Technical note: The Intraclass Correlation (ICC) is the proportion of total variance attributable to between-group differences: ICC = σ²_u / (σ²_u + σ²_e). An ICC above 0.05 justifies the multilevel model; below 0.05 a standard regression is likely sufficient. For binary outcomes, the level-1 variance uses the logistic latent variable assumption (π²/3 ≈ 3.29). Fixed effects are interpreted like standard regression coefficients — they represent the average relationship between predictor and outcome across all groups. Random intercept BLUPs show how much each group's baseline deviates from the grand intercept after accounting for the fixed effects.
1
Choose outcome type and model type
Select Continuous, Binary, or Count. Then choose Random Intercept (groups have different baselines, same slopes — right for most surveys) or Random Slope (one predictor also varies across groups).
2
Set the number of levels and grouping variables
Select 2-, 3-, or 4-level nesting and assign a grouping variable for each level. A hierarchy check panel appears automatically when two or more group variables are selected — it confirms whether units are truly nested or crossed and shows group sizes.
3
Select your outcome and predictors
Choose the dependent variable (and for binary outcomes, which value counts as the event). Add fixed-effect predictors — these can be individual-level or group-level variables. For categorical predictors, select the reference category.
4
Click Run and read the output
Review fixed effects, variance components, and the ICC. Open the ICC Verification panel to compare the model-based ICC against a naive ICC computed from raw group means — if both agree, the estimate is reliable. Export to Word, Excel, or CSV, or use Add to AnalyZense / Add to Canvas.
Tip: With very few groups (fewer than 5), variance component estimates are unreliable regardless of sample size. The ICC verification panel will tell you if group means differ substantially — if they do but the ICC is still near zero, treat it with caution. With 20 or more groups, PQL estimates of the ICC are generally reliable.
Method note: Multilevel models for binary and count outcomes use Penalised Quasi-Likelihood (PQL), which is a widely used approximation. PQL can underestimate random effect variance in small samples or when the ICC is high. If precision is critical, consider fitting the model in R (lme4) or Stata (melogit / mepoisson) and using the AnalyZ results as a preliminary estimate.

📖 Reading the output

All tests use standard significance thresholds: *** p < .001, ** p < .01, * p < .05, ns p ≥ .05. Each result section ends with a plain-language interpretation paragraph suitable for direct use in a report.

The Visualization module opens with a card selection screen. Choose Single Chart to build and explore one chart at a time, or Multi-chart Dashboard to build multiple charts side by side and view them together. After selecting a mode, a tab bar at the top allows switching between the two modes without going back to the card screen. Use the Back link beside the tabs to return to the card selection.

Available chart types

Comparisons

ChartBest forVariables needed
BarFrequency or value of a category1 category (+ optional split)
Stacked BarPart-of-whole comparison across groups1 category + 1 group variable
ScatterRelationship between two numeric variables2 numeric
BubbleThree-variable relationships (size encodes a third variable)3 numeric
QuadrantTwo-axis positioning with centre reference lines2 numeric + 1 label
Range chartMin–max or CI ranges across categories1 label + 2 numeric (lo/hi)

Trends

ChartBest forVariables needed
LineChange over time or ordered categories1 X column + 1 numeric
AreaCumulative trends over time1 X column + 1 numeric
StreamgraphStacked proportional flow over time by categoryX + numeric + 1 category

Part-of-whole

ChartBest forVariables needed
PieProportions of a whole1 category variable
DonutSame as pie, modern hollow style1 category variable
Semi-circle donutKPI / single-proportion display1 category variable
SunburstHierarchical part-of-whole with nested rings1 label + optional parent column

Relationships & Patterns

ChartBest forVariables needed
HeatmapCorrelation matrix across multiple variables2+ numeric
ContourDensity surface over two numeric variables2 numeric
RadarMultivariate comparison on radial axes1 category + 1 numeric
Radial BarCircular bar chart for part-of-whole comparisons1 category + 1 numeric
SankeyFlow between two sets of categories2 category columns

Distributions

ChartBest forVariables needed
HistogramDistribution of a single numeric variable1 numeric
BoxplotSpread and outliers across groups1 numeric (+ optional group)
ViolinFull distribution shape across groups1 numeric (+ optional group)
Density plotSmooth probability density curve2 numeric
Radial histogramCircular frequency distribution (e.g. directional data)1 numeric
Forest plotEffect sizes with confidence intervals (meta-analysis)Label + effect + CI lo/hi columns
Circular gaugeSingle KPI against a target value1 numeric

Building a chart

1
Choose chart type
A hint below the selector tells you exactly which variable types are needed.
2
Assign variables
Select X variable, Y variable, and optionally a Color by variable to split the chart by groups.
3
Click Generate
The interactive chart renders below. Hover over data points for exact values. Zoom with scroll, pan by dragging.

Editing a chart

Expand the 🎨 Edit chart panel below any chart to customise:

Click Apply changes to update the chart. Changes persist for the session.

Multi-chart dashboard

Build a first chart and click + Add to dashboard. Build a second chart and add it. AnalyZ switches automatically to dashboard mode, laying charts out in a responsive grid. You can continue adding charts.

Cross-filtering

In the dashboard view, clicking a bar, pie slice, or data point cross-filters all other charts simultaneously — the selected value is highlighted and other values are dimmed. This lets stakeholders explore patterns across charts interactively. Hold Ctrl / Cmd and click to select multiple values across multiple charts at once. Click the same point again to clear the filter.

AI-assisted chart interpretation

Each chart in the dashboard has an AnalyZense button that generates a plain-language interpretation of that specific chart — what the pattern means, what stands out, and what it might imply. The AI works from the chart's summary data, never your raw dataset.

Quota: Dashboard AI interpretations share the same monthly pool as Sense Making — 1 interpretation per calendar month on the free plan.

Sharing the dashboard

Click Share dashboard to publish the dashboard as a live link. Anyone with the link can view and interact with the dashboard in their browser — including cross-filtering — with no AnalyZ account required. The link can be revoked at any time from the dashboard view.

Downloading the dashboard

Click Download as HTML to save the entire dashboard as a single interactive HTML file. This file can be opened in any browser, shared as an email attachment, or embedded in a website. Cross-filtering works in the downloaded file without any internet connection.

Add to Data Canvas

Any chart in the builder or dashboard can be sent to a Data Canvas story using the Add to Canvas button. A modal opens where you write the slide headline and choose the destination canvas. The slide is added in the background — you continue working in the dashboard without losing your place. See the Data Canvas guide for how to build and publish a narrative story.

Workflow tip: Build your dashboard first, then use Add to Canvas to send the most important charts to a Data Canvas story. This way your interactive dashboard and your narrative story share the same charts without duplicating work.

Downloading charts

Three export formats are available below every chart: PNG (high-resolution static image), JPG (compressed static image), and HTML (fully interactive — zoom, hover, pan).

This module is for researchers using multi-item scales. The module opens to three clickable cards — choose your analysis and click the card to open it. Use Back to return to the card selection. Results can be exported to Excel or Word.

AnalysisWhen to use
Cronbach's AlphaCheck if your scale items reliably measure the same construct
🔷 PCAReduce many variables into a smaller number of components
🔬 EFAUncover hidden latent factors behind your item correlations

Cronbach's Alpha

What it does: Measures internal consistency — whether a set of scale items all reliably measure the same underlying construct.

What you will see: The overall alpha coefficient, an inter-item correlation matrix, and item-total statistics including alpha if item deleted for each item.

Technical note: Cronbach's alpha ranges from 0 to 1 — higher values indicate stronger internal consistency. An alpha above 0.7 is generally considered acceptable for research purposes. The alpha if item deleted column shows what the overall alpha would be if each item were removed — if deleting an item would increase alpha substantially, consider removing it from the scale. Items that correlate negatively with the total score are likely reverse-coded and should be flagged before running.
1
Select scale items
Choose the numeric variables (scale items) from the multiselect. All should measure the same construct.
2
Check for reverse-coded items
Click Check items for reverse coding. AnalyZ inspects inter-item correlations and flags any item that correlates negatively with the majority — these are likely reverse-coded and should be ticked before running.
3
Click Run
Output includes the overall alpha, inter-item correlation matrix, and item-total statistics — including alpha if item deleted, which shows how reliability would change if each item were removed.
Alpha valueInterpretation
≥ 0.90Excellent
0.80 – 0.89Good
0.70 – 0.79Acceptable
0.60 – 0.69Questionable
< 0.60Poor — consider revising the scale

Principal Component Analysis (PCA)

What it does: Reduces a large set of variables into a smaller number of uncorrelated components that capture the most variance. Use when your goal is to simplify your data, remove multicollinearity, or create composite scores for use in regression or other analyses.

What you will see: A scree plot, component loadings table, and total variance explained per component.

Technical note: Each component is a weighted linear combination of the original variables. The first component captures the most variance, the second captures the most remaining variance, and so on. Eigenvalues measure how much variance each component explains — the Kaiser criterion (eigenvalue > 1) is the default rule for deciding how many to retain, but examining the scree plot is often more informative. A component is worth retaining if it explains more variance than a single original variable would. Component loadings show how strongly each original variable relates to each component — loadings above 0.4 or below -0.4 are generally considered meaningful. Unlike EFA, PCA makes no assumptions about underlying latent constructs — it is a mathematical data reduction technique, not a theoretical model.

Exploratory Factor Analysis (EFA)

What it does: Uncovers the latent factors underlying a set of observed variables. Unlike PCA, EFA assumes that your observed variables (e.g. questionnaire items) are caused by a smaller number of unobserved constructs (factors). Use it when you want to understand the theoretical structure beneath your items.

What you will see: Factor loadings table, eigenvalues, variance explained, a scree plot, and a factor correlation matrix (for oblique rotations).

Technical note: Factor loadings show how strongly each item relates to each factor — loadings above 0.4 suggest the item is a good indicator of that factor. Items that load strongly on more than one factor (cross-loadings) may need rewording or removal. The number of factors to retain can be guided by eigenvalues > 1, the scree plot elbow, or parallel analysis. Rotation improves interpretability by making the factor structure cleaner — use Varimax (orthogonal) if factors are theoretically independent, or Oblimin (oblique) if factors are expected to correlate. If the factor correlation matrix shows all correlations below 0.32, Varimax is equally appropriate.
Rotation methods: Use Varimax if your factors are theoretically independent (orthogonal). Use Oblimin if your factors are expected to correlate — e.g. "stress" and "burnout." If unsure, run Oblimin and check the factor correlation matrix: if all correlations are below 0.32, Varimax is equally appropriate.

Sampling brings together three planning tools used before or independently of any loaded dataset: Sample Size Estimation, Power Analysis, and Draw a Sample. Start on the landing screen by choosing the tool you need, then select the specific calculator or design.

Why this matters: An underpowered study will miss real effects and produce unreliable results. An over-powered study wastes resources. Sample size and power justification is required by most ethics boards and journals.

📐 Sample Size Estimation — organised by study design

Calculators are grouped by what your study is actually doing, not by sampling technique. Choose the group, then the specific design, enter your parameters, and click Calculate sample size.

Cross-sectional

A single round of data collection — one flexible calculator that adapts to your needs rather than several separate ones. Choose what you're estimating and how you'll select participants; everything else adjusts automatically.

ChoiceOptions
What are you measuring?Proportion (%) — a rate or share (e.g. % vaccinated). Defaults to p=50% if you have no prior estimate.
Mean (numeric) — a numeric average (e.g. income, age, score) — requires an expected standard deviation.
How will you select participants?Simple random — equal chance for everyone.
Stratified — subgroups (e.g. urban/rural) sampled separately; add strata with names and population sizes, or check "I need this precision within each stratum" if you'll report by subgroup.
Cluster / multi-stage — whole groups (villages, schools) selected first; also covers PPS designs, which use the same sample-size math.
Design effect (DEFF)Defaults to 1 (no clustering effect) and is always editable. When "Cluster / multi-stage" is selected, you can instead calculate it from the intraclass correlation (ICC): DEFF = 1 + (m−1)ρ, where m is average cluster size.

Also included: optional population size (finite population correction) and expected non-response rate, which inflates the final recruitment target.

Click Compare confidence levels after calculating to see the required n at 80/90/95/99% side by side — useful for weighing precision against cost before committing to one figure.

Measuring change

Study designs built around detecting a difference — before vs. after, or one group vs. another. Because they exist to detect an effect, these calculators already incorporate statistical power as part of their formula.

CalculatorUse whenKey inputs
📅 Longitudinal StudyFollowing the same participants over multiple time points. Accounts for dropout between rounds.Confidence level, margin of error, number of waves, attrition per wave, optional population size
📈 Change in ProportionDetecting whether a proportion changed — either between two independent groups, or the same group measured before/after.Confidence level, power, baseline and endline proportion; for the paired design, also the expected correlation between the two measurements
🔬 Randomized Controlled Trial (RCT)Random assignment to treatment vs. control. Gold standard for impact evaluation.Confidence level, power, outcome rate in control group, outcome rate in treatment group, expected attrition

Change in Proportion offers two designs: two independent groups (the classic formula) or same group, before/after (a paired design, which typically needs a smaller sample because each participant acts as their own comparison — the higher the correlation between the two measurements, the greater the saving).

Other study designs

CalculatorUse whenKey inputs
⚖️ Case-ControlComparing people who experienced an outcome (cases) with those who did not (controls). Common in health research.Confidence level, power, exposure rate in controls, odds ratio to detect, controls-per-case ratio
✅ LQASClassifying whether a coverage indicator meets or falls below a threshold, rather than estimating a precise rate. Common in humanitarian and health programme monitoring.Coverage threshold, upper (acceptable) and lower (unacceptable) bounds

⚙️ Common parameters

ParameterWhat it meansTypical value
Confidence levelProbability that the true value falls within your margin of error. Enter any value — not limited to preset options.95% (α = 0.05)
Margin of errorAcceptable range of error around the estimate (±)5%
Statistical powerProbability of detecting a true effect if it exists (1 − β). Enter any value.80% or 90%
Design effect (DEFF)Inflation factor for cluster designs due to within-cluster similarity. Default 1; editable everywhere.1.5–2.0 (typical field surveys)

📖 Reading the output

Each calculator shows:

For cluster designs, the DEFF typically ranges from 1.5 to 3.0 depending on how similar people within the same cluster are. If unsure, start with DEFF = 1.5 and consult a sampling statistician for high-stakes surveys.

⚡ Power Analysis — eight statistical tests

Choose the test matching your planned analysis, then switch between two modes: enter a sample size to see the achieved power, or enter a target power to find the required sample size.

TestUse whenEffect size measure
↔️ Two-sample t-testComparing means between two independent groups (e.g. treatment vs. control)Cohen's d
🧪 One-sample t-testTesting whether a group mean differs from a known reference valueCohen's d
📅 Paired t-testComparing two measurements on the same individuals (e.g. pre/post scores)Cohen's dz
🔲 Chi-square testDetecting association between two categorical variablesCohen's w
🔁 McNemar's testDetecting a change in a binary outcome measured twice on the same subjectsDiscordant pair proportions
📊 One-way ANOVAComparing means across three or more independent groupsCohen's f
📈 Linear regressionDetecting a given R² with multiple predictorsCohen's f²
🔀 Logistic regressionBinary outcome model with multiple predictorsOdds ratio + Events Per Variable (EPV)

Use Power Analysis when you want to test a specific statistical test not covered by the Sample Size Estimation calculators above, or when you want to explore power across a range of sample sizes rather than get a single figure.

Paired vs. independent designs: use the paired t-test or McNemar's test when the same participants are measured twice (pre/post). Use the two-sample t-test or chi-square test when comparing two separate, independent groups. Paired designs generally need fewer participants for the same effect.

After calculating, click Show power curve to see a chart of power vs. sample size for small, medium, and large effects — helpful for understanding the trade-off between sample size and detection sensitivity.

🎯 Draw a Sample

Upload your sampling frame — a CSV or Excel file listing every unit in your population — and have AnalyZ select your sample directly.

  1. Upload your frame (CSV, XLS, or XLSX). AnalyZ shows the row and column count once loaded.
  2. Choose a design: Simple Random, Systematic, Stratified, Cluster, or Probability Proportional to Size (PPS).
  3. Set your sample size and any design-specific parameters — a strata column and allocation method for stratified; a cluster column and number of clusters for cluster or PPS; a size measure column for PPS.
  4. Optionally set a random seed to make the draw reproducible.
  5. Click Draw sample. Review the preview table, then download as CSV or Excel — either the selected rows alone, or the full frame with a _selected flag column added.
DesignUse when
🎲 Simple RandomEach unit has an equal chance of selection — the default choice with no additional structure
🔢 SystematicSelecting every kth unit after a random start — requires a randomly ordered frame
🗂 StratifiedEnsuring representation across subgroups (e.g. region, gender)
🏘 ClusterSelecting whole groups (villages, schools) rather than individuals
⚖️ PPSMulti-stage designs where clusters vary in size — larger clusters get proportionally higher selection probability
Your sampling frame is processed entirely in your browser and is never uploaded to or stored on AnalyZ's servers.
Record the random seed used in your protocol so the exact same sample can be reproduced later — for example if the enumeration list needs to be regenerated, or for audit purposes. Note a seed is specific to AnalyZ and will not reproduce identically in R, Stata, or other software.

The Qualitative module is organised into four sub-modules. Load your transcripts first (see Loading Data → Qualitative data), then open Qualitative Analysis from the home screen. Use the buttons below to jump directly to any sub-module's guide.

View Transcripts
Read, edit, and tag transcripts. Overview stats, word cloud, word search, and coding stripes.
Thematic Coding
Build a codebook, assign and remove codes, auto-suggest with keywords, and query coded segments.
Compare Coding
Load two coders' exports and compute Cohen's Kappa for inter-rater reliability.
Explore Themes
Thematic saturation, theme comparison across groups, theme connectedness, and segment length.
Analyze Relationships
Network Map, Thematic Clusters, Code Sequence, Configurational Analysis, QCA, and Persona Builder.

🔄 Recommended workflow

Upload transcripts
View & clean
Build codebook
Assign codes
Compare coding
Explore themes
Analyze relationships
Save session
Closing the browser without saving will lose all coded segments, unless you've turned on Save on this device (and even then, it expires after 24 hours and is only restored on page refresh — not after fully closing the browser). Refreshing the same tab is safe. Save your session using the Save Session button in the sidebar for anything you want to keep — this saves all transcripts, your full codebook (codes, memos, keywords, colours), and every coded segment.

View Transcripts

Opens with a card selection screen. Four tabs are available: Transcripts, Word Cloud, Word Search, and Transcript Settings. Use the Back button to return to the card selection at any time.

Transcripts — overview and detail

The Transcripts tab opens in overview mode: all loaded transcripts displayed as cards showing word count, sentence count, average sentence length, and coded segments. Click any card to open that transcript's detail view.

In detail view: read the transcript in full, with coding stripes shown in a thin column on the right margin — coloured bars indicating which codes are applied at each point in the text. A "What the stripes mean" key below maps each colour to its code. Click Edit to make corrections, Save to commit, or Cancel to discard. Inline tag dropdowns let you assign participant attributes without leaving the transcript view. Click All transcripts to return to the overview.

The coding stripes give you a quick visual sense of coding coverage — long dark stretches with no stripes may indicate uncoded passages worth revisiting in Thematic Coding.

Word Cloud

Shows word frequency across all transcripts, a single transcript, or coded segments only. Adjust the max words slider, exclude specific words using the exclusion list with autocomplete suggestions, and filter by a specific code when in coded segments mode. The frequency table below lets you exclude words individually. Export as CSV.

Word Search

Search for any word or phrase across all transcripts or a single transcript. Each result shows the matching sentence in context with the search term highlighted. Toggle case sensitivity as needed. Export all matches as CSV.

Transcript Settings — tagging transcripts

Define tag categories to classify each transcript by participant attributes. This enables grouped comparisons in Explore Themes.

1
Add a tag category
Click Add new category. Enter a name (e.g. Gender) and comma-separated values (e.g. Male, Female, Non-binary). Click Add category.
2
Assign values to each transcript
In the Assign Tags to Transcripts panel, use the dropdowns to select the appropriate value for each transcript in each category. Tags can also be assigned from within the transcript detail view.
3
Review the tag summary
A summary table shows all transcripts and their assigned tags. Categories can be deleted — this removes them from all transcript tags too.

Thematic Coding

What it does: Assigns meaning to sections of your transcripts by tagging them with codes — labels that capture what is happening in that passage. Over time, a pattern of codes builds into themes that describe recurring ideas, experiences, or perspectives in your data.

What you will see: A card selection screen with three cards: Manage Codes, Assign Codes, and Review Codes. Each card opens its own sub-view; the Back button in the header always returns you to the card selection.

Technical note: AnalyZ supports inductive coding (codes emerge from the data — you read first and define codes as you go) and deductive coding (codes are defined in advance from a framework or theory). Most qualitative researchers use a mix of both. The codebook approach in AnalyZ is consistent with Braun and Clarke (2006) thematic analysis and framework analysis. A single text passage can be assigned multiple codes, and the same code can appear across different transcripts — both are intentional features that support nuanced, overlapping themes.

Thematic Coding opens with a card selection screen — Manage Codes (your codebook), Assign Codes (the coding workspace), and Review Codes (audit all coded segments). Click a card to enter that section. Use the Back button to return to the card selection at any time.

Manage Codes — building your codebook

Click ➕ Add new code. Enter a code name (e.g. Housing Insecurity), choose a colour, and optionally add a description. Click Add code. Each code shows a usage count (how many segments it has been assigned to). Codes can be edited (✏️ button — opens an inline form) or deleted (🗑 button — also removes the code from all segments).

Start with broad codes and refine them as you read more transcripts. This inductive approach is standard in thematic analysis (Braun & Clarke, 2006) and grounded theory. You can also add new codes on-the-fly from within the Assign Codes screen.

Manage Codes — building the codebook

Create, edit, colour, and delete codes. Each code can have a name, description, analytical memo (a working note on when and how to apply it), and keywords for auto-suggest. The colour picker shows 15 preset swatches; click + for a custom colour.

Assign Codes — the coding workflow

The screen is split: transcript on the left, Coding Panel on the right.

1
Select a transcript
Use the dropdown at the top of the screen to choose which transcript to code.
2
Select a text passage
Click and drag in the transcript panel to highlight the passage you want to code.
3
Click a code to assign it
With text selected, click any code button in the Coding Panel. The excerpt is saved immediately. Coded passages are marked with a coloured underline.
4
Assign multiple codes or remove one
Click additional codes to assign them to the same passage. Already-assigned codes show a ✓ prefix and a small ✕ badge at the top-right corner — click the badge to remove just that code from the segment without affecting others.
5
Use keyword auto-suggest
Click Auto-assign codes in the toolbar. AnalyZ scans the transcript for keywords defined in each code's codebook entry and proposes assignments. Review each suggestion with Accept or Skip, or use Accept all.
6
Save your session
After coding, a reminder nudge appears suggesting you save from the sidebar. Use Save Session to download a .analyz.json file preserving all transcripts, codes, and coded segments.

Review Codes — auditing and querying segments

Review Codes opens with three cards. Click any card to enter that view. Use the Back button in the top header to return to the card selection.

  • Coded Segments — browse, filter, sort, and export all coded segments. Two filter modes: Simple filter (transcript and code dropdowns) and Query builder (Boolean AND/OR/NOT conditions across codes). Export as CSV, Excel, or JSON (for inter-rater reliability).
  • Code Frequency — frequency table, bar chart, and Code × Transcript heatmap showing how often each code appears across transcripts. Includes a plain-language interpretation panel.
  • Coding Map — heatmap showing where each code appears within a single transcript, by paragraph or by interview quarter. Coverage bars show what proportion of the transcript each code covers. Use this to spot uncoded stretches and check coding coverage across the interview.

Compare Coding

A standalone module for inter-rater reliability analysis. Use it when two researchers have independently coded the same transcripts and want to measure agreement.

1
Export from both coders
Each coder uses the JSON (IRR) button in Review Codes to download their coding as a JSON file. This must be done before opening Compare Coding.
2
Load both exports
In Compare Coding, load each coder's JSON file and give them a label (e.g. Coder A, Coder B). Click Compute agreement score.
3
Read the results
The overall Cohen's Kappa (macro average) is shown alongside per-code Kappa values and percentage agreement. The interpretation panel categorises each code as strong (κ ≥ 0.8), acceptable (0.6–0.8), or below threshold (<0.6), with specific next steps for low-agreement codes.
Cohen's Kappa corrects for chance agreement — it is a more conservative measure than simple percentage agreement. κ ≥ 0.6 is the widely accepted minimum for qualitative research. For codes below threshold: compare segment lists side by side, revisit the code definition and memo, run a calibration session, then re-export and recompute.

Explore Themes

Requires coded segments to be present. Opens with four cards in a 2×2 grid. Each card opens its own analysis view with a plain-language interpretation panel. Use the Back button to return to the card selection.

CardWhat it showsBest for
SaturationBar and line chart showing new codes introduced per transcript (cumulative codebook growth)Assessing whether coding has reached thematic saturation — a flat line means no new themes are emerging
Theme ComparisonTwo modes: Per transcript (code share heatmap and raw counts table) and By participant group (normalised frequency by tag category, bar chart and heatmap)Per transcript: seeing which themes dominated each interview. By group: comparing theme prevalence across subgroups (e.g. gender, location, domain)
Theme ConnectednessTwo views toggled within the card: Co-occurrence (heatmap and ranked table of how often code pairs appear together) and Distinctiveness (exclusivity scores for code pairs that rarely or never appear together)Co-occurrence: finding theme clusters and candidates for higher-level labels. Distinctiveness: identifying themes that occupy separate conceptual territory
Segment LengthAverage word count per coded segment for each code, sorted by elaboration depthIdentifying which themes participants elaborate on at length — a proxy for depth of engagement or emotional significance
By participant group in Theme Comparison requires tag categories set up in View Transcripts → Transcript Settings first. Values are normalised as a percentage of total code assignments per group, so comparisons are fair regardless of interview length. Add to Canvas and Add to AnalyZense buttons are available on the heatmap and summary table sections of each view.
Technical note — Saturation: Theoretical saturation is the point at which adding more transcripts no longer introduces new codes. The saturation curve plots cumulative unique codes as transcripts are added in the order they appear in your file list. A flattening curve suggests saturation — though this depends on the richness and diversity of your data, not just transcript count. Homogeneous samples often saturate at 12–15 interviews; heterogeneous samples may require 20–30 or more.

Analyze Relationships

Explores structural and configurational relationships between codes and participants across your corpus. Requires at least 2 codes and 2 coded transcripts. Opens with four cards in a 2×2 grid. Each card includes an automated plain-language interpretation panel and Add to AnalyZense / Add to Canvas buttons.

CardWhat it showsHow to read it
Network MapDraggable SVG network where codes are nodes (sized by frequency) and edges represent co-occurrence counts. Toggle connection count labels and adjust edge colour. Export as image for Canvas.Hub codes connected to many others are likely core themes. Isolated codes may be peripheral or under-coded. Drag nodes to explore the structure.
Thematic ClustersJaccard similarity matrix and presence heatmap — codes that appear in the same transcripts are grouped togetherTight clusters of co-occurring codes are candidates for higher-level theme labels. Codes that cluster together across transcripts form the backbone of your thematic structure.
Code SequenceSankey diagram of code-to-code transitions — the order themes follow one another within transcripts. Self-transitions (same code consecutive) are filtered out.Dominant transitions reveal narrative structure and causal reasoning. A theme that consistently precedes another may be a precondition or trigger for it.
Configurational AnalysisPresence/absence matrix of codes per transcript, sorted so transcripts with identical thematic profiles appear together. Identifies participant types (configurations) and classifies codes as Universal, Differentiating, or Rare.Transcripts sharing the same configuration form a participant type. Universal codes are present in every transcript. Differentiating codes are what distinguish one type from another. Rare codes appear in only one transcript and should be treated as individual cases rather than group patterns.
Qualitative Comparative AnalysisCrisp-set QCA in four steps: select conditions (codes), assign a binary outcome per transcript, build a truth table with consistency scores, and compute the minimised Boolean solution. Consistency threshold is adjustable (default 0.75). Add to AnalyZense sends the full truth table and solution. Add to Canvas sends the truth table as a slide.Use when you want to explain why some transcripts achieve an outcome and others do not. Identifies the minimal combinations of coded themes sufficient for the outcome. Requires at least 2 coded transcripts with outcomes assigned and at least 2 conditions selected. Outcome assignments are session-only and do not affect other analyses.
Persona BuilderIdentifies thematic personas from the co-occurrence patterns in coded segments in three steps. Step 1: select which codes define the thematic space. Step 2: review the silhouette-scored suggestion — the analysis tests cluster solutions from 2 to 8 personas and recommends the most analytically distinct solution; click any row to select a different number. Step 3: persona cards appear in a grid with auto-generated descriptive names, thematic frequency profiles, participant characteristics from transcript tags, and sample segments. Expand a card to see frequency bars and click a theme to view all segments. Use Merge into to combine similar personas. Add to AnalyZense sends all personas with frequency data and interpretation. Add to Canvas sends a frequency profile table.Suitable for both IDIs and FGDs. Personas represent thematic positions, not individual participants or transcripts. A silhouette score above 0.7 indicates strong separation between personas; below 0.5 suggests the code selection should be reconsidered. Participant characteristics (Predominantly female, Mostly rural) are computed from transcript tags counted per unique source file.
Use the Min codes per transcript slider in Configurational Analysis to filter out lightly coded transcripts. Set it to 2 or higher to focus the typology on transcripts where coding is substantive. The code role legend (Universal / Differentiating / Rare) updates as you adjust the slider. For QCA, select conditions before assigning outcomes and set the consistency threshold before viewing the truth table. For Persona Builder, select codes that vary meaningfully across participants — universal codes (present everywhere) and very rare codes add little discriminating power.
Technical note — Code clustering: AnalyZ clusters codes using hierarchical clustering on a co-occurrence distance matrix. Codes that frequently appear together are grouped first.

Technical note — Configurational Analysis: Each unique combination of present/absent codes across transcripts constitutes a configuration. Configurations shared by 2 or more transcripts are analytically robust; singleton configurations (unique cases) may represent outliers.

Technical note — Persona Builder: Personas are derived from hierarchical clustering of coded segments using Jaccard similarity on code co-occurrence patterns. The silhouette score measures how well-separated the clusters are (above 0.7 is strong, 0.5 to 0.7 is reasonable, below 0.5 suggests overlap). Personas represent thematic positions in the data, not individual participants, and are suitable for both IDI and FGD transcripts without requiring speaker attribution.

Technical note — QCA: AnalyZ implements crisp-set QCA (csQCA) using the Quine-McCluskey algorithm for Boolean minimisation. The conservative solution approach is used — logical remainders (unobserved configurations) are excluded from minimisation. Outcome assignments are stored in session state only and are not written to transcript data, so the same transcripts can be used for multiple QCA runs with different outcome variables.

Sense Making brings together the analyses you have run across any module — quantitative tests, qualitative codes, visualisations — and uses AI to synthesise them into a single coherent interpretation. Instead of describing each result individually, the AI identifies patterns, connections, and contradictions across your full body of evidence.

Free plan limit: 1 interpretation per calendar month (each refinement also counts as one). Starter plan: 10/month. Pro plan: 50/month. Your remaining allowance is shown in the project workspace.

How it works

1
Run your analyses
Work normally across any modules — Descriptive, Inferential, Qualitative, Visualization, Scale & Reliability. There is no special mode to activate.
2
Add results to a project
When you see a result worth keeping, click ➕ Add to AnalyZense below the export buttons. A dialog opens: choose an existing project from the dropdown, or click + Create a new project to create one inline — no need to navigate to Sense Making first. Edit the title and confirm. If you have no projects yet, the create form opens automatically.
3
Open Sense Making
Click Sense Making in the sidebar. Your projects are listed with their analysis count and conversation history.
4
Set up your project
Open a project. Add context (optional but recommended), choose an interpretation mode, and review the list of analyses. You can remove any analysis before interpreting.
5
Interpret
Click Interpret project. The AI synthesis streams in, appearing word by word. When it finishes, a Refine interpretation panel appears where you can instruct the AI to amend the output — the revised version replaces the original.
6
Export
Click ⬇ Export to Word to download the interpretation as a formatted Word document — including context and the full synthesis.

Projects

A project is a named collection of analyses grouped for a specific synthesis. Key facts:

Curate, don't collect. The 20-analysis limit is intentional. The AI produces better interpretations when given a focused, curated set of findings rather than everything you ran. Only add results that are genuinely relevant to the research question.

Interpretation modes

Choose a mode in the project workspace before interpreting. The mode persists and can be changed at any time — switching mode and re-interpreting is one click.

ModeBest forStyle
Plain languageNon-specialist audiences, internal readsSimple words, short sentences, jargon-free
AcademicResearch reports, papers, dissertationsFormal tone, statistical terminology, methodology references
Executive summaryLeadership briefings, decision-makersConcise, action-oriented, implications-first
NarrativeDonor reports, public summariesFlowing prose, story-driven, accessible

Context field

The context field (in the project workspace) tells the AI what this project is about. It is optional but significantly improves interpretation quality. Good context includes:

Context is saved to the project automatically when you click 💾 Save context.

Refining the interpretation

After the initial interpretation, a Refine interpretation panel appears below the synthesis. Type a plain-language instruction and the AI rewrites the interpretation incorporating it — the refined version replaces the original. Examples:

The AI rewrites the full interpretation incorporating your instruction, drawing on the original analyses and any context you provided. The revised version replaces the previous one in the project.

Each refinement counts as one interpretation from your monthly allowance — the same as a new interpretation. Refine as many times as your allowance allows.

Exporting the interpretation

Click ⬇ Export to Word in the synthesis view. The downloaded .docx file includes:

Privacy and the AI

The AI receives no raw data. It only sees what you explicitly added to the project: aggregated statistics, auto-generated interpretation text from each module, and any notes you wrote. Your dataset stays in your browser session and is never transmitted to the AI.

Data Canvas — turns your analysis outputs into a scrollable, shareable narrative. Where the dashboard lets people explore data interactively, Data Canvas tells the story of what the data means for a non-technical audience — donors, community members, board members, or anyone who needs to understand findings without doing the analysis themselves.

Open Data Canvas from the home page card or the sidebar navigation.

Best workflow: Add slides to your canvas as you work through your analysis — click Add to Canvas on any result you want to include. Then come to Data Canvas at the end to write headlines, add context, and publish. This is much easier than trying to remember which results to include after the fact.

Slide types

TypeSourceBest for
ChartVisualization module, or AI-converted from a tableVisual findings — bar charts, pie charts, trend lines
TableAny analysis module (descriptive, inferential, qualitative)Frequency tables, crosstabs, test statistics
QuoteThematic Coding — coded segmentsParticipant voices and verbatim evidence
InfographicAI-generated from a table or chartVisual summary for non-technical audiences
TextWritten directly in the builderBridging narrative between sections

Adding slides from analysis modules from analysis modules

Every analysis output across all modules has an Add to Canvas button below the export buttons. Clicking it opens a modal where you:

For participant quotes: in the Thematic Coding module, each coded segment has an Add Quote to Canvas button. The quote text, speaker label, and code are carried across automatically.

Building in the canvas

1
Open Data Canvas
Your canvases are listed at the top. Select one or click + New canvas and give it a title and optional description.
2
Review your slides
Slides you added from analysis modules appear in order. Use the ↑ ↓ arrow buttons to reorder slides. Click the delete button to remove a slide. The slide type badge (Chart / Table / Quote / Text) is shown on each card.
3
Write or AI-draft headlines
Click the headline field on any slide to type directly. Or use AnalyZense — Draft all headlines in the AI action bar — one call drafts plain-language insight headlines for every slide at once. You can edit any headline after drafting.
4
Add context paragraphs
Click the Context field on any slide to write a plain-language explanation. Or use Draft all context to AI-draft paragraphs for every slide simultaneously.
5
Use per-slide AI actions
Each slide has its own AI action row. Convert a table to a chart, generate an infographic, improve chart formatting, or refine with a plain-language instruction. An Undo (↺) button appears after any AI transformation — click it to revert to the previous state.
6
Publish
Go to Settings, toggle the canvas to Public, and copy the shareable link. You can also set a custom slug — a short memorable word that appears in the URL instead of a random ID. Anyone with the link can read the story in their browser with no account required.

AnalyZense AI features

ActionWhereWhat it doesMonthly limit (free)
Draft all headlinesAI bar (above slide list)Generates plain-language insight headlines for every slide in one call5
Draft all contextAI bar (above slide list)Writes audience-facing context paragraphs for every slide5
Convert to chartPer slide — table slidesAI converts a table into the most appropriate chart10 combined
Improve formattingPer slide — chart slidesRefines chart colours, labels, margins, and layout
Generate infographicPer slide — table or chart slidesCreates a self-contained visual infographic from the data3
RefinePer slide — chart or infographic slidesApply a plain-language instruction (e.g. "use horizontal bars", "highlight the highest value")10
Undo: Every AI action on a slide is reversible. Click the ↺ Undo button in the slide header to restore the previous state. Only the most recent action per slide is stored.

Public viewer

The public story is available at /story-building/story/[slug]. Readers see:

No account, no login, no software required to view. The link works on mobile and desktop.

Canvas settings

Privacy and the AI

All Data Canvas AI features work from the slide content you have built — headlines, context text, chart summaries, and table data visible in the canvas. Your raw dataset is never sent to the AI. Participant quotes are sent as written text only — no metadata from your dataset accompanies them.

Use Data Canvas to replace static report attachments. Share the link before a meeting so stakeholders arrive familiar with the findings — they can scroll through on their phones without any software. For donor reports, a Data Canvas story with 6 to 8 slides is often more readable than a 20-page PDF.

Tables

Every analysis module that produces a results table includes export buttons below the output. Tables can be downloaded as:

Charts

All charts in the Visualization module and frequency charts in Descriptive Analysis can be downloaded as:

💾 Dataset

Use ⬇ Download Data in the sidebar to export your current (possibly modified) dataset. Available formats:

FormatBest for
CSVUniversal compatibility; no labels embedded
Excel (.xlsx)Easy to open and share; no labels embedded
Stata (.dta)Variable labels and value labels are fully preserved
SPSS (.sav)Variable labels and value labels are fully preserved

💼 Sessions

Use 💾 Save Session in the sidebar to download a complete snapshot of your work as a .analyz.json file — dataset, labels, variable type overrides, connected API sources, dashboard charts, and (for qualitative sessions) all transcripts and coded segments. Click 📂 Restore Session at any time to load that file back in and resume your exact session.