Overview
Survey platforms, lab instruments, administrative records and spreadsheets all export data in their own ways: text instead of numbers, several codes for 'missing', duplicated respondents, dates in mixed formats and variable names like Q14_3_TEXT. Cleaning is not cosmetic. How you define missing values, treat extreme scores, score scales and join files affects every later result, so these decisions need to be deliberate and reported.
We clean data with code (in SPSS syntax, Stata, R or Python, matching your analysis software), never by editing cells by hand. The raw file stays untouched, a script produces the clean file, and a cleaning log explains each decision in plain language. You also get a codebook that describes every variable, which your supervisor, coauthors and future self will thank you for.
Visualization is part of the same work. Exploratory plots expose problems — impossible values, ceiling effects, odd distributions — before they reach a model, and well-designed final figures make results easier to understand. We apply established design principles to both.
Who it’s for and the problems it solves
This is for you if you are…
- Students and researchers with raw exports from Qualtrics, Google Forms, SurveyMonkey or KoboToolbox
- Research teams combining data from several sites, waves or instruments
- Researchers preparing data for deposit in a repository or for a data-sharing requirement
- Anyone who needs clearer figures for a thesis, paper, poster or report
Common problems we help with
- Responses are stored as text labels, with inconsistent spellings and several codes for missing
- Some questionnaire items are reverse-worded and you are not sure whether they have been rescored
- Participants appear twice, or IDs do not match between baseline and follow-up files
- You do not know whether to remove outliers or incomplete responses, or how to justify the decision
- There is no codebook, and variable names do not reveal what they measure
- Charts are cluttered, use misleading scales or rely on color alone to show differences
What’s included — and what isn’t
Included
- Data audit: structure, variable types, ranges, duplicates, impossible values and completion patterns
- Coding scheme design: consistent numeric codes, value labels, naming conventions and coding of open-text 'other' responses
- Missing data handling: distinguishing not applicable, refused and system-missing; describing patterns; and agreeing an approach (complete-case, FIML or multiple imputation) with its rationale
- Outlier and data quality screening: range checks, standardized scores, Mahalanobis distance, attention checks, straightlining and speeding in online surveys
- Reverse coding and scale scoring, with checks that recoding worked
- Merging and reshaping: joining waves or sources on reliable IDs, appending sites, wide-to-long conversion, with row-count checks
- Derived variables: categories, indices, dates and durations, with formulas documented
- A codebook and a cleaning log describing every change and its reason
- Exploratory graphics and finished figures for your chosen outputs
Not included
- Deleting inconvenient cases, inventing responses or altering values to change results
- Imputation beyond accepted methods, or imputation not reported as such
- Collecting or re-identifying personal data; we work with anonymized or pseudonymized files
- Running the main hypothesis tests (available through our analysis services if you need them)
What you receive
- Clean analysis dataset
- An analysis-ready file in your format (.sav, .dta, .csv, .rds, .parquet or .xlsx), produced by code from the raw data.
- Cleaning script
- Commented code in SPSS, Stata, R or Python that rebuilds the clean file from the raw export in one run.
- Codebook
- Variable name, label, type, allowed values and labels, missing codes, source question and derivation formula for every variable.
- Cleaning log
- A dated list of decisions — exclusions, recodes, outlier handling — with counts affected and reasons, ready to summarize in your methods section.
- Figures
- Exploratory plots for your review and publication-ready figures exported at the size and resolution you need.
How it works
Receive raw data and instruments
You send raw exports, questionnaires or data dictionaries, and any existing cleaning rules.
Audit and decision list
We profile the data and list the decisions that need your input, with options and consequences for each.
Scripted cleaning
Agreed rules are coded, with checks after each step so that counts and ranges are verified.
Codebook and visual checks
We build the codebook and exploratory plots, and review anything surprising with you.
Final figures and handover
Finished figures, clean files, script and documentation are delivered with a short walkthrough.
Cleaning and visualization techniques
- Naming and labeling conventions
- Short, consistent variable names (for example anx_1 to anx_6), full labels, and value labels stored with the data where the format allows.
- Missing data diagnostics
- Missingness by variable and case, pattern plots, Little's MCAR test where informative, and comparison of completers and non-completers.
- Outlier assessment
- Distinguishing errors (impossible values) from genuine extremes, using boxplots, z-scores, Mahalanobis distance and influence measures, with sensitivity analysis rather than automatic deletion.
- Survey quality checks
- Attention-check items, completion time thresholds, straightlining detection and duplicate-response screening for online samples.
- Safe merging
- Key uniqueness checks, anti-joins to list unmatched records, and before-and-after row counts reported in the log.
- Visualization principles
- Chart type matched to the question, zero baselines for bars, direct labeling, colorblind-safe palettes, uncertainty shown with intervals, and minimal non-data ink.
Coding schemes that make analysis easier
A good coding scheme is predictable. Likert items run in the same direction with the same numeric range, yes/no items are coded 0/1 so means become proportions, and each missing reason has its own code (for example −8 'not applicable', −9 'refused') so you can tell them apart before setting them to missing. Open-text 'other' answers are read and either back-coded into existing categories or given new ones, with the rule written down.
Reverse-worded items are recoded into new variables (never overwriting the original) using the scale's range, so on a 1–5 scale a response x becomes 6 − x. We then check that recoded items correlate positively with the rest of the scale before computing scores, which catches the most common scale-scoring mistake.
Missing values and outliers: decide, then document
There is rarely one correct answer for missing data or extreme values, but there are indefensible ones: deleting cases without saying so, or replacing missing values with the mean. We describe how much is missing and whether it looks related to other variables, then agree an approach suited to your analysis — often full information maximum likelihood or multiple imputation for model-based work, or complete-case analysis with a clear justification when missingness is minimal.
For outliers, we first ask whether a value is possible. A reaction time of 3 ms or an age of 212 is an error to correct or remove. A genuinely extreme but valid value is kept unless there is a pre-stated rule, and results are checked with and without it. The cleaning log records the number of cases affected at each step, which lets you write a clear participant-flow description.
Codebooks worth keeping
A codebook is the dictionary of your dataset. Ours list every variable's name, label, type, valid values and labels, missing codes, the source question, and — for derived variables — the exact formula. It is useful immediately, when you write your methods section, and later, when you deposit data or return to the project after months away.
Where you plan to share data, we align the codebook with repository expectations and your data management plan, and flag variables that could identify participants in combination, such as detailed dates, postcodes or rare job titles.
Charts that inform rather than decorate
We choose charts by the question: distributions with histograms, density or box-and-dot plots; comparisons with dot plots or bars that start at zero; change over time with lines; relationships with scatterplots and a fitted line; and uncertainty with confidence intervals rather than bare means. Showing the raw data points alongside summaries, when sample size allows, helps readers judge the result themselves.
Finished figures use readable fonts at print size, direct labels instead of distant legends, colorblind-safe palettes that also work in grayscale, and consistent axes across panels that will be compared. We avoid 3D effects, truncated bar axes and dual y-axes that exaggerate or obscure patterns.
What the work can look like
Illustrative example — fictional data
Sample cleaning log excerpt: online survey
A researcher exported 1,146 responses from an online survey on workplace wellbeing. The counts below are invented to show the format of our cleaning log.
Exclusions
1,146 records exported → 38 test or preview responses removed → 1,108 → 21 duplicate respondent IDs resolved by keeping the most complete record → 1,087 → 64 failing both attention checks removed per the preregistered rule → 1,023 analyzed.
Recoding
Items wb_3, wb_5 and wb_8 were reverse-scored (6 − x) into wb_3r, wb_5r and wb_8r. Corrected item-total correlations for these items changed from −0.31 to −0.22 before recoding to 0.46 to 0.58 after, confirming the direction.
Missing data
Item-level missingness ranged from 0.4% to 6.8%, highest for income. Scale scores were computed when at least 80% of items were answered; income missingness is handled by multiple imputation in the main analysis, as agreed.
Illustrative example with invented counts. Real logs follow your data, protocol and preregistered rules.
What you’ll need to provide
- Raw data exports, unedited, with direct identifiers removed or pseudonymized
- The questionnaire, instrument or protocol showing how each variable was collected
- Scoring manuals for published scales, including reverse-keyed items
- Any preregistered or proposal-stated rules for exclusions and missing data
- Your analysis software and figure requirements (journal, poster, thesis template)
You don’t need everything ready to ask for a quote — tell us what you have and we’ll say what’s missing.
What affects price and turnaround
Price depends on
- Number of variables, files and waves to process
- Amount of open-text coding required
- Complexity of merges and identifier problems
- Whether a full codebook and data-sharing preparation are needed
- Number and complexity of finished figures
Turnaround depends on
- Availability of instruments, scoring manuals and ID documentation
- How quickly decisions on exclusions and missing data can be agreed
- Volume of open-text responses to code
Every project is quoted individually. How we price our work.
Questions people ask before starting
Can you clean my data without changing my results?
Cleaning can change results, and that is the point when errors are fixed. What we do not do is make choices in order to get a particular result. Every decision is written down with its reason, and where a choice is debatable we show you how the results look under each option.
Which software do you clean data in?
Whichever you will analyze in: SPSS syntax, Stata, R or Python. The clean file can also be exported to other formats if your coauthors use different tools.
Should I remove participants with missing answers?
Not automatically. It depends on how much is missing, whether it seems random and what your analysis can handle. We describe the pattern and recommend an approach you can justify in your methods section.
Do you need identifiable data?
No. Please remove names, emails and other direct identifiers before sending. If you need to link files, a pseudonymous ID in each file is enough.
Can you make my charts match a journal's figure guidelines?
Yes. Send the author guidelines and we will set dimensions, resolution, fonts and file formats accordingly, and provide the plotting code so you can regenerate figures after revisions.