Python Automation for Research Training Course

Duration 10 days 18 modules · 65 contact hours
Level Intermediate Certificate on completion
Who attends Research Analyst, Monitoring and Evaluation Officer and others
Fee from USD 2,200 KSh 190,000 for Kenyan organisations
Where 52 cities + online See dates by city
Next start 16 Nov 2026 Course code SD-DA-111

Before you join: Participants should be comfortable working with spreadsheets, tables, filters, formulas, and basic descriptive statistics.

Dates & prices

Two start dates a month in every city, and live online on weekdays or weekends. Fees are per participant; classroom fees include tuition, materials, lunch and refreshments, and the certificate.

Suggest a date or city

Showing the next six months. Later dates, other cities and private deliveries for your team are available on request.

Course overview

Research teams often spend substantial time collecting files, cleaning inconsistent data, repeating calculations, producing routine tables, and updating reports. Manual workflows make it difficult to reproduce findings, trace data changes, apply consistent quality checks, or rerun an analysis when new data arrives. Python offers a practical way to replace these repeated steps with documented scripts, structured data pipelines, and testable reporting processes.

This course teaches participants to design and build Python automations for common research activities. Participants work with tabular data, files, web sources, APIs, documents, and research outputs using Python, pandas, JupyterLab, regular expressions, Git, and pytest. They learn to structure scripts, validate inputs, clean and transform datasets, automate descriptive analysis, create charts and tables, generate reports, record provenance, and schedule repeatable runs. Attention is given to research reproducibility, FAIR data principles, ethical data handling, and maintainable code.

Instructor-led sessions combine short technical briefings with guided coding, research cases, peer review, debugging clinics, and application planning. Cases reflect work such as monitoring programme indicators, processing survey returns, analysing operational records, extracting policy evidence, and preparing recurring research briefs. Participants leave with a working automation project: a version-controlled Python pipeline that ingests data, applies documented transformations and checks, produces analysis outputs, and generates a reproducible report.

The course suits researchers and analysts who already work with data and need to reduce repeated manual effort. It is particularly relevant for public-sector research units, banks, NGOs, universities, development programmes, policy teams, market research functions, and corporate analytics teams that need reliable, auditable research production.

What you will be able to do

  • Build Python scripts that automate repeatable research data preparation tasks
  • Apply pandas transformations to clean, join, reshape, and validate research datasets
  • Extract structured information from files, web pages, and APIs using Python
  • Design reproducible analysis pipelines with configuration files, logging, and Git
  • Create automated statistical summaries, charts, tables, and research report outputs
  • Implement unit tests and data-quality checks using pytest and pandas
  • Document data provenance, assumptions, and processing decisions using FAIR principles
  • Present a complete automated research workflow for peer review and handover

Benefits of attending

For you

  • Reduced time spent on repeated data cleaning and recurring report preparation
  • A reusable Python project demonstrating research automation capability
  • Greater confidence diagnosing data errors and script failures
  • Practical Git and testing habits for credible analytical work
  • Stronger evidence for progression into research analytics or data roles

For your organisation

  • Faster production of recurring research tables, indicators, and briefing materials
  • More reproducible analysis through documented scripts and version-controlled workflows
  • Fewer manual copying errors in data preparation and reporting
  • Clearer audit trails for research inputs, transformations, and published outputs
  • Reusable automation patterns transferable across research projects and teams

Course modules

18 modules over 10 days

Participants can define a suitable Python automation workflow for a recurring research task.

  • Research workflow mapping from raw inputs to published evidence outputs
  • Automation candidates ranked by frequency, error risk, and analyst effort
  • Python scripts, notebooks, packages, and command-line tools compared
  • Pipeline stages defined for ingestion, transformation, analysis, and publication
  • Separation of source data, code, outputs, and documentation folders
  • Research automation risks including sensitive data and undocumented assumptions

Participants can configure and use a controlled local Python environment for research work.

  • Python interpreter versions and virtual environments for isolated project dependencies
  • JupyterLab notebooks organised for exploratory analysis and documented findings
  • Package installation with pip and requirements files for repeatable setups
  • Project folders created with predictable names and relative file paths
  • Command-line execution of Python scripts using arguments and exit codes
  • Error tracebacks read to locate failing functions, files, and data fields

Participants can write readable Python code for common research data tasks.

  • Variables, strings, numbers, booleans, and None values in Python
  • Lists, dictionaries, tuples, and sets selected for research data structures
  • Conditional logic used to classify records and handle exceptions
  • For loops and comprehensions applied to repeated file processing
  • Functions written with parameters, return values, docstrings, and type hints
  • Exceptions handled with try, except, else, and finally blocks

Participants can load, inspect, and store research datasets in appropriate formats.

  • CSV, Excel, JSON, and Parquet formats compared for research workflows
  • pandas DataFrames inspected using shape, columns, dtypes, and sample records
  • Encoding, delimiters, headers, and date formats diagnosed during file loading
  • Data dictionaries linked to fields, codes, units, and collection methods
  • File paths generated with pathlib for portable project execution
  • Clean datasets exported with controlled formats and explicit index settings

Participants can clean and transform messy tabular research data using pandas.

  • Missing values profiled with isna, counts, and documented treatment rules
  • Text fields standardised using strip, case conversion, and replacements
  • Dates parsed, validated, and derived into reporting periods
  • Numeric fields converted with coercion and invalid-value inspection
  • Duplicate records identified using keys, timestamps, and business rules
  • Transformation steps chained with readable pandas method sequences

Participants can join, reshape, and aggregate datasets while protecting analytical integrity.

  • Join keys assessed for uniqueness, completeness, and inconsistent coding
  • pandas merge operations selected for one-to-one and one-to-many relationships
  • Concatenation used to combine monthly extracts with consistent schemas
  • Wide and long data structures converted with melt and pivot
  • Groupby aggregations built for indicators, respondent segments, and periods
  • Post-join row counts checked against expected source and output totals

Participants can implement explicit checks that identify unreliable research data before analysis.

  • Validation rules specified for ranges, categories, formats, and required fields
  • Assertions used to stop pipelines when critical assumptions fail
  • Frequency tables inspected for impossible values and coding drift
  • Cross-field checks detect inconsistent dates, totals, and respondent attributes
  • Quality exceptions written to review files with record identifiers
  • Data quality logs distinguish warnings, failures, corrections, and exclusions

Participants can automate routine descriptive analysis for research datasets.

  • Descriptive statistics generated for numeric measures and grouped populations
  • Categorical distributions calculated with counts, proportions, and missing categories
  • Survey indicators computed with denominators, filters, and suppression rules
  • Time series summaries created by month, quarter, and reporting cycle
  • Reusable analysis functions accept datasets, variables, and grouping parameters
  • Results tables formatted with labels, rounding, and consistent ordering

Participants can produce consistent charts that communicate research findings accurately.

  • Matplotlib chart selection matched to comparisons, distributions, and trends
  • Figure dimensions, titles, labels, legends, and annotations standardised
  • Accessible colour choices applied to categorical and sequential data
  • Small multiples used to compare locations, groups, and time periods
  • Chart functions parameterised for repeated indicator reporting
  • Publication-ready images exported with controlled resolution and file names

Participants can extract, clean, and classify structured information from unstructured text.

  • Regular expression syntax applied to identifiers, dates, codes, and citations
  • Capture groups extract named components from inconsistent text fields
  • Text cleaning sequences remove whitespace, punctuation, and markup artifacts
  • Keyword dictionaries classify records using transparent rule-based methods
  • Pattern matching results reviewed for false positives and omissions
  • Extraction rules stored externally for maintenance and peer review

Participants can collect permitted public web data responsibly and reproducibly.

  • HTTP requests sent with headers, parameters, timeouts, and status checks
  • HTML parsed with Beautiful Soup to extract tables and page elements
  • Pagination handled through predictable URLs, links, and page counters
  • robots.txt, terms of use, and rate limits assessed before collection
  • Retries and delays implemented for temporary request failures
  • Raw web responses stored with retrieval dates and source URLs

Participants can retrieve and structure research data from documented APIs.

  • API documentation interpreted for endpoints, parameters, authentication, and limits
  • JSON responses normalised into pandas tables with nested fields
  • Query parameters constructed for dates, geographies, indicators, and filters
  • Pagination tokens processed to retrieve complete result sets
  • API credentials stored outside source code using environment variables
  • Response metadata retained for provenance, updates, and reproducibility

Participants can automate routine processing of spreadsheets and research document outputs.

  • Excel workbooks read and written with pandas and openpyxl
  • Multiple worksheet extracts processed using controlled sheet-name rules
  • Cell formats, formulas, and summary tables applied programmatically
  • Word report sections generated from validated tables and chart files
  • Template placeholders populated with research periods, findings, and caveats
  • Output folders structured for draft, reviewed, and approved publications

Participants can organise research automation projects for repeatable and reviewable results.

  • FAIR principles applied to findability, access, interoperability, and reuse
  • Configuration files separate changing parameters from Python source code
  • README files document setup, inputs, outputs, assumptions, and run instructions
  • Data provenance recorded from source acquisition through published outputs
  • Random seeds fixed for reproducible sampling and simulation procedures
  • Research decisions documented with dates, owners, and approval status

Participants can use Git to manage changes and review research automation code.

  • Git repositories initialised with meaningful project structure and ignore rules
  • Commits written to describe discrete analytical or automation changes
  • Branches used to isolate new features and revised methods
  • Diffs inspected before merging changes into the main branch
  • Merge conflicts resolved in scripts, notebooks, and documentation files
  • Sensitive files excluded using .gitignore and secure credential practices

Participants can test Python automation components and diagnose failures systematically.

  • pytest tests written for transformations, validation rules, and helper functions
  • Test fixtures provide small controlled datasets for repeatable checks
  • Boundary cases tested for empty files, null values, and duplicate keys
  • Python logging records processing stages, counts, warnings, and failures
  • Debugging uses breakpoints, print inspection, and minimal reproducible examples
  • Failure messages designed to identify affected files, fields, and corrective actions

Participants can prepare an automation workflow for routine execution and team handover.

  • Scheduled runs planned around source availability, review points, and deadlines
  • Task Scheduler and cron concepts compared for routine script execution
  • Runbooks specify prerequisites, commands, expected outputs, and escalation routes
  • Parameter changes controlled through dated configuration files and approvals
  • Output checks assigned before publication or distribution of research findings
  • Handover packs identify code owners, data custodians, and review responsibilities

Participants can build, review, and present a complete version-controlled Python research automation pipeline.

  • Research question translated into pipeline inputs, transformations, outputs, and controls
  • Raw data ingested from files, web sources, or documented APIs
  • Cleaning, validation, and analysis functions assembled into reusable scripts
  • Automated tables, charts, and report outputs generated from validated data
  • Git history, tests, logs, and provenance documentation reviewed by peers
  • Pipeline presentation explains design choices, limitations, handover, and maintenance

Exercises and examples are adapted to each cohort's sectors and roles.

What you take back to work

  1. Python research automation project template
  2. Data cleaning and validation rule library
  3. Reproducible analysis pipeline design
  4. Research data provenance checklist
  5. Automated reporting workflow plan
  6. Code review and handover checklist

Who should attend

  • Research Analyst — needs repeatable methods for preparing and analysing research data
  • Monitoring and Evaluation Officer — needs reliable processing of indicator and survey datasets
  • Policy Researcher — needs automated evidence collection and recurring briefing outputs
  • Data Analyst — needs stronger Python methods for research-oriented automation
  • Market Research Specialist — needs faster processing of fieldwork and respondent data
  • Programme Officer — needs traceable reporting workflows for operational research evidence

Skills and tools covered

Python workflow automationResearch data preparationReproducible analysis pipelinesAPI data extractionAutomated reportingData quality testing

Tools and standards

Python, pandas, JupyterLab, pytest

How the course runs

Training methodology

The course uses short instructor briefings followed by guided coding and structured case work. Participants develop scripts against realistic research datasets, including surveys, administrative records, web data, and recurring reporting files. Group exercises focus on diagnosing failures, reviewing code, defining quality checks, and comparing automation designs. Trainers demonstrate techniques in JupyterLab, then participants adapt them to their own research contexts. Peer review, debugging clinics, and application planning prepare participants to introduce a controlled automation workflow after the course.

Requirements and prerequisites

Participants should be comfortable working with spreadsheets, tables, filters, formulas, and basic descriptive statistics. They should understand rows, columns, identifiers, dates, missing values, and common research data formats such as CSV or Excel. Prior exposure to any programming language is helpful, but participants do not need to be professional software developers. The course assumes confidence using a computer, installing approved software where permitted, and reading simple error messages. Advanced mathematics, machine learning, database administration, and prior experience with Python libraries are not required.

A typical training day

08:30 – 10:30First session
10:30 – 10:45Refreshment break
10:45 – 12:30Second session
12:30 – 13:30Lunch and networking
13:30 – 15:00Third session
15:00 – 15:15Refreshment break
15:15 – 16:30Workshop and daily review

Live online deliveries follow the same structure in East Africa Time, with shorter screen blocks and longer breaks.

What the fee includes

  • Instruction by a practitioner facilitator
  • Full course workbook and materials
  • Exercise files, templates and case studies
  • Refreshments and lunch on classroom deliveries
  • Certificate of completion
  • Post-course application plan

Frequently asked questions

You should be comfortable with spreadsheets, structured data, and basic research analysis. Previous Python experience is helpful but not required; the course establishes the programming patterns needed for automation before applying them to data work.

Bring a laptop if your delivery arrangement permits, plus examples of recurring research tasks or non-sensitive sample files you would like to automate. Trainers provide course datasets and setup instructions for the required software.

It is designed for researchers, analysts, monitoring and evaluation staff, policy teams, and reporting specialists who repeatedly prepare data or research outputs. It is not primarily a course in advanced statistics, machine learning, or software engineering.

The course focuses on research production tasks: cleaning datasets, gathering evidence, validating data, generating analysis outputs, documenting provenance, and producing recurring reports. Programming concepts are taught through these tasks rather than through abstract coding examples.

Participants can automate a recurring spreadsheet consolidation, survey processing routine, indicator report, evidence collection task, or research briefing workflow. The application planning and capstone help translate a current work process into a controlled Python pipeline.

Each training day runs from 08:30 to 16:30 and provides about 6.5 contact hours. The first part establishes Python, pandas, data preparation, analysis, and visual outputs; the later part covers collection methods, reproducibility, testing, operational handover, and the capstone.

Questions about this course?

Ask about dates, fees, group bookings or running it for your team. Our training team replies by email.