The most powerful market research platform you've ever used. Upload your survey data and the AI delivers a publication-ready insights dashboard in minutes. Run cross-tabs, key driver analysis, segmentation and TURF in plain English. Transcribe focus groups with speaker ID and translation. Auto-code open-end responses. Run AI desk research on any topic. Embed everything in client portals.
Answers questions from a script. No data access. No reasoning. Cannot analyze or compute.
Executes a single task. Runs one query. Returns one result. No multi-step reasoning or tool chaining.
Reasons across your data. Selects statistical functions. Runs multi-step analysis. Interprets results with domain context. Learns from your project structure.
From uploading raw SPSS files to getting publication-ready tables — an end-to-end research analytics platform powered by Agentic AI.
Ask questions in plain English. The AI agent identifies variables, selects statistical functions, and returns results with significance testing — no code required.
Z-test for proportions, letter notation, effective base (Kish), weighted samples. Publication-ready tables with confidence intervals.
Upload ZIP-compressed SPSS files. Automatic variable detection, value labels, measurement types. Fair round-robin queue across tenants.
White-label analytics widget for your website. Custom branding, domain whitelisting, dark/light themes. Embed research insights anywhere.
Columnar OLAP database for sub-second queries on millions of rows. Resource-protected with query validation and tenant isolation.
7-signal deterministic algorithm detects multi-response sets, grids, and question structures with 99.9% accuracy. Zero manual mapping.
Generate a complete insights dashboard in under 5 minutes. Upload your SPSS data, and the AI builds interactive charts, summary tables, and key findings — ready to present or share.
Drop a chatbot on any website that answers questions from your research data. Domain whitelisting, dark/light themes, and full branding control. Your clients ask questions in plain English — the AI answers with data.
Upload survey questionnaires as DOCX files. The parser extracts every section, question, response option and scale, then a 5-signal mapping engine auto-matches each questionnaire question to the right SPSS variable group — confirmed, suggested, or unmatched, with per-signal scores you can review.
Upload your final survey data, click one button, and the AI builds a complete insights dashboard — interactive charts, key findings, summary tables — while you watch progress live. Share the result with a public link your stakeholders can open in a browser. Generation time is typically under ten minutes for a full study.
"What drives NPS?" → run a multiple linear regression and get ranked drivers with coefficients. "Show me 3 customer segments" → run k-means clustering and auto-profile each segment by demographics. No SPSS syntax, no R script — just ask.
"Which 5 SKUs maximize reach?" or "What's the optimal 3-channel media plan?" — TURF (Total Unduplicated Reach & Frequency) finds the smallest combination of items that reaches the most respondents. Perfect for product portfolio decisions and channel selection.
Frequency tables with weighting and top-N filters. Custom tables with boolean nets and sub-nets — everything SPSS Custom Tables does, in seconds. Descriptive statistics (mean, median, std dev, min, max) with grouping and filters. Pearson correlation matrices with multicollinearity checks.
Upload audio recordings up to 500 MB and get a fully diarized transcript — the system identifies who said what across the entire session. Built-in source-language to target-language translation means you can capture insights from groups in any market. Live progress while it processes.
Auto-detect open-end variables in your dataset. Generate a codeframe from a sample of responses with one click — specify how many codes you want and the AI builds the categorization schema for you. A background coding job classifies every response with progress tracking, full audit log and a cost meter. Review or override per row, then export the coded results to Excel.
Tell the system "research this topic" in plain English and it builds a full secondary research dashboard in the background — sources, summaries, charts, key findings. Share publicly with a single link, view regeneration history, replace dashboard JSON manually if you need editorial control. Perfect for quick market scans and competitive intelligence.
Every insights dashboard has a public share token — send your client a link and they can view the report without an account. Built-in view tracking and visitor analytics so you know who looked at what, when. The same dashboard can be embedded as a chatbot widget on your website with one line of code.
Upload the .sav your field agency already delivers — variable labels, value labels and measurement types all survive the trip. Behind it sits an engine built for tracker scale, so a 50-question study with a few hundred thousand respondents still tabs in seconds.
Native .sav ingestion up to 2 GB per file, with the full data map — labels, value labels, variable types — preserved end to end.
A built-in converter turns raw CSV into a proper labelled SPSS file for teams whose panel exports don't come as .sav.
Stack tracker waves onto one dataset. A dry-run compatibility check classifies schema differences before commit — no corrupted trackers.
Variables are auto-grouped into logical survey questions — grids, multi-punch sets, singles, numerics — so every downstream tool thinks in questions, not columns.
If your validation spec talks about routing compliance, exclusive-choice breaches, allocation totals and fraud triage — every line of it maps onto a named, catalogued check below. Nothing lives in an analyst's head.
Routing and masking compliance, checked against the master questionnaire — the pass you run the moment the soft-launch dataset lands.
vc_skipAnswered when not asked, blank when asked — full skip-logic compliance per routed variable.vc_gateItem-by-item gating across matched batteries (each statement asked only when its base item qualifies).vc_funnelBrand-funnel integrity: no usage without awareness, no consideration without salience.vc_multiMulti-punch hygiene including exclusive-option breaches — "None of the above" ticked alongside a real answer.vc_single · vc_gridSingle-punch and grid punches validated against the code frame; out-of-range and missing flagged per cell.vc_codesUndefined codes — any punch with no matching value label anywhere in the file.vc_rank · vc_rotationTied or incomplete rankings, corrupted rotation orders, multi-punch slots that skip positions.Every numeric entry held inside the bounds the questionnaire promised — including the allocation grids where respondents type a zero across the whole row.
vc_rangeFloor / ceiling on any numeric write-in — age, spend, percentages, 0–100 ratings — single variables or whole blocks.vc_sumConstant-sum / auto-sum compliance: allocations must hit the target total, with a configurable tolerance. Blanks count as zero, so incomplete allocations surface too.vc_flatlineThe all-zero allocation grid — a respondent entering 0 in every numeric field of a matrix — caught as its own named flag.vc_outlierStatistical outliers by z-score or IQR — the ₹8,00,000 monthly grocery spend in a sample that tops out at ₹50,000.vc_datesInterview timestamps that end before they start; any start / end pair sanity-checked.vc_emptyQuestions that are blank for the entire base — the pipe that never fired, the punch that never landed.The quality-triage layer: who is real, who is rushing, who is on autopilot. Each flag carries the evidence, so triage decisions are defensible.
vc_dupeDuplicate respondent IDs within the file — plus identity collision against prior waves via a known-ID baseline you carry forward run to run.vc_speedSpeeders by median-fraction (adapts to actual survey length) or an absolute cut-off — with the option to freeze the baseline on soft-launch completes so the cut-off never drifts mid-field.vc_flatlineStraightliners: the same punch down an entire grid, with a minimum-items threshold for partly-filled batteries.vc_patternAlternating responders (1-2-1-2 down the grid) — the inattentive pattern plain straightlining checks miss.vc_textdupCopy-paste verbatims — one respondent reusing an answer across questions, and identical answers appearing across different respondents.Verbatim hygiene before a single response reaches coding — and a compliance pass your DPO will actually like.
vc_texteffortLow-effort filler ("na", "dk", "nothing", "-") counted across a respondent's open-ends, with configurable phrase lists and thresholds.vc_textformatType confusion: "many" typed into an income box, "1234" typed into a name field.vc_piiEmails and phone numbers left inside verbatims — the report shows only the PII type found, never the contact detail itself.vc_ruleFree-form cross-question logic: write any condition that should never be true for a clean interview ("under 18 yet marked complete") and label it for the QA report.csharpAnd when the mandate doesn't fit any template — a sandboxed scripting block. See the escape hatch below.Every check accepts a filter expression, so bases are honoured: respondents never asked a question aren't flagged for skipping it.
Flags land per respondent, per variable, with the offending value and rule attached — a QA report you can hand straight to the panel provider.
The validation script is an artifact. Soft launch, main field, top-up sample, next wave — same rules, zero drift, one click.
This is the live spec — the same catalogue the platform exposes to analysts and to the AI copilot. If a mandate names a check, you can point at the exact function that runs it.
| Function | Kind | What it does |
|---|---|---|
compute_variable | Data-prep | New coded variable from ordered IF / ELSE-IF / ELSE conditions — segments, nets, age and value bands |
rim_weighting | Data-prep | RIM / rake weights to hit interlocking quota targets; reports per-cell fit and weighting efficiency |
vc_any | Data-prep | 0/1 any-punch net across a battery (e.g. used any premium brand) |
vc_calc | Data-prep | New numeric variable from an arithmetic formula across existing variables |
vc_count | Data-prep | Per-respondent count of punched cells across a set (brands aware, items owned) |
vc_numvert | Data-prep | Text-to-numeric conversion so a text-typed field can be tabbed and range-checked |
vc_recode | Data-prep | In-place old→new code mapping with keep / blank / catch-all handling for unlisted codes |
vc_reverse | Data-prep | Reverse-code scale items around their endpoints before averaging reverse-worded batteries |
vc_rowstat | Data-prep | Per-respondent sum / mean / min / max across numeric variables |
csharp | Check + script | Bespoke scripted check for any rule or derivation the built-ins don't cover |
vc_codes | Check | Undefined codes — data values with no matching value label in the code frame |
vc_dates | Check | End-before-start on any date / timestamp pair (interview timing sanity) |
vc_dupe | Check | Duplicate respondent IDs in-file, plus cross-wave repeats against a known-ID baseline |
vc_empty | Check | Variables completely blank for the base — pipes that never fired |
vc_fillorder | Check | Multi-punch slots that skip positions; punches outside the allowed codes |
vc_flatline | Check | Straightliners on grids — including the all-zero allocation matrix as a targeted flag |
vc_funnel | Check | Funnel integrity across matched batteries — no downstream pick without its upstream pick |
vc_gate | Check | Item-level ask / skip gating across matched batteries, with optional range enforcement |
vc_grid | Check | Grid / battery punches out of range or missing, per statement, per respondent |
vc_multi | Check | Multi-punch hygiene: bad punches, missing, nothing ticked, exclusive-option breaches |
vc_outlier | Check | Unrealistic numeric answers by z-score or IQR, with segment-scoped baselines |
vc_pattern | Check | Alternating response patterns (1-2-1-2) down a grid — inattention that flatline checks miss |
vc_pii | Check | Emails / phone numbers inside open-ends; reports the PII type only, never the detail |
vc_range | Check | Numeric floor / ceiling violations on write-ins, single variables or whole blocks |
vc_rank | Check | Ranking questions: out-of-range ranks, ties, incomplete forced rankings |
vc_rotation | Check | Rotation-order records: duplicate items in the sequence, invalid item IDs |
vc_rule | Check | Any cross-question logic rule, written as a condition that must never be true, with a report label |
vc_single | Check | Single-punch questions validated against the allowed code list; missing flagged |
vc_skip | Check | Skip-logic compliance per routed variable: leaked past the skip, or missing in universe |
vc_speed | Check | Speeders by median-fraction or absolute threshold, with freezable soft-launch baselines |
vc_sum | Check | Constant-sum / allocation totals with tolerance; incomplete allocations surface as misses |
vc_textdup | Check | Duplicate verbatims — within one respondent's answers and across different respondents |
vc_texteffort | Check | Low-effort open-ends: filler-answer counting with custom phrase lists and thresholds |
vc_textformat | Check | Type confusion in typed fields — text in number boxes, digits in name boxes |
Every function is documented with parameters, defaults and worked examples — and the same catalogue drives the AI copilot, so an analyst can ask for a check in plain English and get the exact validated call.
Every real validation spec has that one clause the standard checks don't cover. Research has a scripting layer for exactly that: the rule from your mandate document becomes a bespoke check that flags respondents, or a dataset script that builds helper variables — and then behaves like any other check in the run.
The first kind flags respondents; the second builds variables that later checks and tables can use. Either way it reads close enough to plain English that a QC lead can review the rule line by line before sign-off.
The unglamorous middle of every project — done with named, repeatable operations instead of one-off syntax nobody can re-run.
Ordered IF / ELSE-IF logic builds segments and bands with value labels attached, ready to tab immediately. Any-punch nets, counts, row statistics and formula variables cover the rest.
Scale collapses with explicit handling for unlisted codes, reverse-coded battery items fixed before averaging, text fields converted to clean numerics. All in place, all filter-aware, all logged.
Multi-factor rim weighting to gender, age, region or any quota set — per wave or whole sample. Output includes achieved-vs-target per cell and the weighting-efficiency figure your QA sign-off needs.
Aspect-based coding, not bucket-sorting: a single answer decomposes into atomic claims, each assigned its own code, sentiment and confidence. The hardest text task in market research, treated like one.
Significance letters, weighted bases, effective bases, nets and sub-nets — the conventions research directors actually check for, computed the way they expect.
Driver models, segmentation, portfolio reach — computed in-platform on the full respondent file, with the diagnostics that tell you whether to trust them.
Key-driver analysis with up to 30 attributes: which drivers genuinely move satisfaction or NPS, how much confidence each one deserves, warnings when drivers overlap too much to separate, and an importance-vs-performance quadrant that turns the model into priorities. Run it per wave or per segment and compare.
2–10 segments from up to 30 inputs, profiled across the entire respondent file. Per-segment index scores with high/low flags, diagnostics that show how cleanly the segments separate, warnings when a segment is too small to trust — and re-runs reproduce the same segments exactly, wave after wave.
Total unduplicated reach & frequency across up to 30 SKUs, flavours or messages — a fast stepwise build, or an every-combination search for the guaranteed best line-up — with binary / top-box / top-2-box reach definitions and step-by-step incremental reach.
Pairwise correlations across up to 50 variables, with automatic warnings when variables overlap too heavily — the sanity pass before any driver model or segmentation goes to the client.
"Why did NPS drop this wave?" — decomposes the change in an outcome between two periods into per-driver contributions, so the trend slide comes with an explanation instead of a shrug.
Weighted holecounts and one-way frequencies with top answers and value labels in place; means, medians, spreads and percentiles by any break variable. The basics, instant and correct.
Point the AI at a cleaned dataset and it runs the actual research functions — tabs, drivers, frequencies — then assembles an interactive dashboard: executive summary, KPI cards, charts with written insights. Your brief travels with the project, injected as mandatory requirements the AI must honour.
Gauge, pie, donut, bar, column, stacked bar, line, area, radar, heatmap, scatter, bubble, treemap, radial bar, polar area, box plot — each one checked and tidied automatically, so a broken chart never reaches a client.
Every analysis step behind the dashboard is captured as a recipe. When the next wave lands, replay reproduces the same dashboard on the new data — pure computation, no AI variance, no regeneration lottery. Need something new this wave? Regenerate-replay keeps every existing chart and adds new ones.
Read-only share links for clients, with owner-side view analytics — visits, unique visitors, referrers — so you know the deck actually got opened.
Upload the recording; get back a structured, quote-backed discussion report — the kind a research director can defend in front of a client, because every claim traces to a real utterance.
Audio up to 500 MB per session. Speaker-separated transcripts with timestamps, source-to-target translation for multilingual fieldwork, and progress tracking through the whole pipeline.
A Net → Theme → Sub-theme codeframe built from the sessions, with prevalence counted by distinct speakers, sentiment breakdowns, consensus levels (universal / majority / split), and the tensions where the room disagreed.
The AI can only reference quotes by ID — quote text is re-rendered from the actual transcript, so a fabricated quote is structurally impossible. Every report also carries its own cost audit.
Talk-time share, turn counts, a dominance index, and "silent voices" flagged under 5% talk time — moderator excluded — plus moderator-gap analysis: themes that surfaced but never got a follow-up question.
Run one report across multiple sessions: universal findings, per-session divergences, and session-by-session narratives — the structure of a proper qual debrief, generated in minutes.
Finished reports ship on unguessable read-only links, and the coded utterances export to SPSS .sav — one row per statement, themes as binary flags — so qual findings can sit next to the quant in the same tables.
| Age Group | Mean | Std Dev | N |
|---|---|---|---|
| 18-24 | 3.6 | 0.82 | 234 |
| 25-34 | 4.2 | 0.71 | 412 |
| 35-54 | 3.8 | 0.89 | 356 |
| 55+ | 3.1 | 0.95 | 198 |
Upload your SPSS data. Ask questions. Get answers. Free to start.