1. Home
  2. Features
  3. Data quality

High frequency checks, built in

Catch data problems while the team is still in the field.

Joripo runs high frequency checks inside the platform. Twelve checks look at each interview as it reaches the server. Sixteen more compare enumerators, test distributions and match back-checks across a whole form whenever you run them. Every finding says what was entered, what was expected and who collected it.

  • 28 check types
  • 12 on arrival
  • 16 across the dataset
  • Configured without code
A workspace's Quality page with a daily submissions chart and the form's quality tools

Joripo's console, showing a demo workspace with synthetic data.

On arrival and on demand

Some problems show in one interview. Others only show across hundreds.

A rushed interview or a broken skip pattern can be judged on its own. An enumerator who is consistently faster than colleagues, or a column of amounts that fails Benford's law, only appears when you look across the whole dataset. Joripo treats the two differently, and tells you which is which.

  • 12 checks on every interview, as it arrives

    Duration, GPS, straightlining, don't know and refused answers, skip patterns, travel speed, missing answers, fieldwork hours, late upload, contradictory answers, value ranges and repeat counts. They run on submissions from Joripo Collect, ODK Collect, web forms and imported phone files, and each runs separately, so one failing check never holds up the others or the submission.

  • 16 checks across a whole form, when you choose

    Productivity, comparisons with peers, back-checks, Benford's law, duplicates, outliers, digit heaping and sample coverage need the whole dataset. An owner or manager ticks the checks and runs them over everything a form has collected so far. They do not run on a schedule.

A check run's results: what ran, how many findings each check raised and which checks were not configured
  1. Scope on every line

    A check run lists each selected check with its tier and whether it reads one submission or the whole dataset.

  2. Nothing fails silently

    A check missing an input says "not configured" and names the question it needs. No findings only ever means checked and found nothing.

  3. A summary of the run

    Submissions scanned, new or re-opened findings, and checks that did not run. Runs never duplicate findings already on record, and download as Excel.

Every finding records the version of the rule-set and the thresholds it was raised under, so it can be explained later even if the settings have changed.

The catalogue

28 checks, from interview length to Benford's law.

The checks are grouped in three tiers. Each one is marked with when it runs: on arrival, or on demand across the form. Paid plans run every check on every submission; the Free plan runs them on its first 200 submissions a month.

Basic: 11 checks

The checks most surveys switch on first. Ten of them run on every interview as it arrives.

  • Interview duration

    Interviews far faster or slower than the survey's own median (below 0.5× or above 2× once 30 interviews exist), or outside a fixed minimum and maximum.

    On arrival

  • GPS validation

    Missing, inaccurate, outside the survey area, or within 10 m of another household's point.

    On arrival

  • Straightlining

    The same answer given down a battery of scale questions.

    On arrival

  • Don't know / refused rate

    Interviews where too much of the questionnaire went unanswered (15% by default).

    On arrival

  • Skip-pattern violations

    Questions answered that should have been skipped, or the reverse.

    On arrival

  • Missing required answers

    Interviews arriving without an answer the analysis needs.

    On arrival

  • Interviews outside fieldwork hours

    Interviews starting outside set hours, 6:00 to 20:00 workspace time by default.

    On arrival

  • Late upload

    Interviews sent long after they finished, 48 hours by default.

    On arrival

  • Value outside expected range

    Numeric answers outside the range you expect (soft bounds) or that is possible at all (hard bounds).

    On arrival

  • Repeat groups filled the wrong number of times

    A roster with too few or too many entries, or not as many as the interview said there would be.

    On arrival

  • Superseded form version

    Interviews still arriving on a form version that has been replaced.

    On demand

Findings and review

Findings a field supervisor can act on the same day.

Each finding names the check, its severity (info, warning or critical) and the enumerator, and says in plain words which question was involved, what was entered and what was expected. Analysts can unfold the technical details; supervisors do not have to.

Quality findings: each check, its severity, the enumerator and a plain-language explanation, with Resolve and Dismiss buttons
  1. Open, resolved, dismissed

    Filter the list by status. It shows 50 findings a page and refreshes every 15 seconds, pausing while you type a note.

  2. Plain words first

    What was entered, what was expected, and what to check next, beside the check, its severity and the enumerator.

  3. The other interview

    Findings about duplicates link to the matched interview. Technical details, folded away, give the variable, statistic, rule and rule-set version.

  4. A decision with a note

    Resolve means dealt with; Dismiss means not a problem. Each decision is kept with who made it, when, and the note.

Every interview, with its findings beside the answers.

Open a submission to read every answer, play its audio audit, follow a link to where it was recorded on OpenStreetMap, and settle the findings raised on it with Resolve, Dismiss or Re-open.

  • A dismissed finding re-opens only if its measure becomes at least 1.5 times worse, or it newly crosses a hard limit
  • A resolved finding about an enumerator or the form re-opens only if the problem recurs in newer interviews
  • A re-opened finding is the same finding, marked "Re-opened by the checks", with the reason and its full review history
  • When one problem appears on at least half of a form's interviews (and at least 30), a run collapses it into one finding with the count
  • Funders given quality access see a finding's status and date, never the reviewer's name or notes
Joripo reviews findings, not submissions. There is no approve or reject status, and answers are not edited in the console: clean the data in your own scripts, using the n_flags column in the export.

Field supervision

Know which enumerator to call first.

The Enumerators panel lists everyone collecting in the workspace with their submissions, number of findings, the share of interviews flagged, median interview duration and when they were last active. A share above one half is shown in red.

  • Peer checks set each enumerator's duration, don't know and refused answers, flag rate and screening-out rate against the rest of the team
  • Each enumerator is compared with colleagues, not with an average that includes their own interviews
  • Quota and stratum tracking shows achieved against target for each stratum, with progress bars
  • Owners and managers edit targets in place, choosing from strata already seen in submissions

Quotas follow one stratum question and count every form in the workspace together. They are a progress view, not a limit enforced on phones.

Enumerator scorecards: submissions, flags, share of interviews flagged, median duration and last activity for each enumerator
Quota and stratum tracking: interviews achieved against targets in four districts, with progress bars

Configuration

Set up the checks without writing code.

Each form has its own rule-set, with a workspace default to fall back on. The settings screen is built from what each check needs: question pickers filtered by type, thresholds with defaults filled in, a form picker for back-checks and column pickers for sample lists.

Tell Joripo which question holds what.

Joripo reads the deployed form and works out which questions hold the enumerator ID, the start and end time, the GPS location and the stratum. It shows what it inferred and a manager corrects it. A reporting time zone decides when a working day starts and ends. Scorecards, duration, GPS and quota tracking all rely on this mapping.

  • Defaults follow common high frequency check practice, and every threshold can be changed
  • Sample lists upload as CSV, TSV, Excel or Stata .dta
  • Saving creates a new version of the rule-set, so old findings stay explainable
Quality check settings: which question holds the enumerator, start and end times, GPS and stratum

Choose the checks, then run them over the form.

On Run quality checks, tick any of the 28 checks and run them over everything the form has collected so far. Each check shows whether it is ready or still needs a question mapped, and recent runs stay listed with their results.

Structured rules are typed as JSON. Straightlining batteries, skip and consistency rules, value ranges, repeat counts and back-check fields are entered in an editor with an example beside it, for instance [{"field": "hh_size", "soft_min": 1, "soft_max": 15, "hard_min": 1, "hard_max": 40}]. There is no visual rule builder yet.

Read the monitoring guide

Run quality checks: checks grouped by tier with tick boxes, ready to run over a form's data

Verification and paradata

Back-checks, sample coverage, text audits and audio audits.

The evidence a supervisor needs to confirm a suspicion, and the reports an analyst needs to document what was found.

Back-checks and sample coverage

Back-check comparison matches a separate back-check form to the original interviews on a shared household or respondent ID. Choose which questions to compare: exactly, as categories, within a numeric tolerance or within a number of days.

  • Flags interviews whose back-check disagrees on too many questions
  • Flags any question, enumerator or back-checker whose disagreement rate passes the limit, once enough households are back-checked
  • Sample coverage lists sampled units with no interview, and interviews not on your list, by cluster or ward if you choose
  • Your team still selects the households to back-check and assigns the visits; Joripo does the comparison

Text audits and audio audits

Joripo Collect and web forms write text audits in the SurveyCTO-compatible format. The server turns them into one readable workbook with a summary per submission, time per field and the event log, or a zip of the raw files.

  • Audio audits record in the background while the interview runs, for every interview or a sampled share
  • Recordings play on the submission page and in the Data Explorer, and download in the attachments zip
  • Time per section appears in the quality report when a form has a text audit
  • Audio is captured and played back only: there is no transcription or automatic analysis
  • Quality report (.xlsx)

    Per form: every finding with its status, reviewer, note and technical details; indicators with numerators and denominators; enumerator by day; and time per section.

  • n_flags in exports

    The Joripo export layout carries a count of findings for each submission, so keep if n_flags == 0 in Stata sets flagged interviews aside.

  • Findings for the whole workspace

    Download every finding in a workspace as CSV or Excel, to share with the field team or file with the data.

Exports and Joripo Desktop

Sensitive questions

Garbling for sensitive yes/no questions.

For a randomly chosen share of respondents, a No is recorded as Yes, so a recorded Yes never proves what one person said. Joripo then estimates the share answering Yes for the sample and for subgroups, with standard errors.

  • IID garbling needs no roster; Block garbling assigns an exact share within each block, from a roster or in interview order
  • With direct capture the enumerator records the plain answer and Joripo garbles it on arrival, so nothing about garbling is on the phone
  • The secret seed, roster and keys are kept in an AES-256-GCM vault that only named key custodians can open
  • A form check stops you freezing a scheme that would leak answers through relevance, calculations, labels or audio audits
  • Simulations with up to 20,000 synthetic respondents before fieldwork

Garbling covers yes/no questions only. Its result is an estimated share answering Yes, not a true prevalence, and assumes nobody falsely reports Yes.

How garbling works

Common questions

Before you rely on the checks

Does Joripo send alerts when a critical finding appears?

Not today. Joripo does not send email, SMS or any other notification about findings. The findings list on each workspace's Quality page refreshes every 15 seconds, and the organisation's Monitor page has a Needs attention feed of critical and open findings.

Do all 28 checks run on every interview?

No. Twelve run on each interview as it arrives. The other sixteen compare across the whole dataset and run when an owner or manager clicks Run; there are no scheduled runs.

Do the checks work with ODK Collect and web forms?

Yes. The checks on arrival run on submissions from Joripo Collect, ODK Collect and web forms alike, and the on-demand checks run over everything a form has collected.

Can we write our own checks?

You configure the 28 built-in checks: their questions, thresholds and rules. A new kind of check needs a change in Joripo itself, so tell us what your team checks today.

Can reviewers correct answers in Joripo?

No. Reviewers resolve, dismiss and re-open findings; answers are not edited in the console. Export the data with its n_flags column and make corrections in Stata, R or Python.

Are some checks only on higher plans?

No. Every paid plan has all 28 checks on every submission. The Free plan has all 28 too, on its first 200 submissions a month. See Pricing.

Bring the checks your team runs today.

Show us the high frequency checks you run in Stata or R and a recent questionnaire, and we will walk through how Joripo would check it while fieldwork is under way.

Already using Joripo? Log in to your server.