Data Analysis and Visualisation with R and Python Training Course

Duration 10 days 20 modules · 65 contact hours
Level Intermediate Certificate on completion
Who attends Data Analysts, Business Intelligence Analysts 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-DS-059

Before you join: Participants should be comfortable using spreadsheets, working with rows and columns of data, and interpreting basic business metrics such as counts, percentages, averages and rates.

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

Operational, customer, financial and programme data often sits across spreadsheets, databases, APIs and reporting extracts. Analysts need to clean inconsistent fields, combine sources reliably, test patterns, select appropriate visual forms and explain results without overstating certainty. R and Python offer complementary strengths for this work: R for statistical analysis and publication-quality graphics, Python for data engineering, automation and production-oriented workflows.

This course develops practical analysis and visualisation capability in both languages. Participants work with tabular, relational, time-series and geospatial data; use tidyverse and pandas workflows; apply exploratory data analysis, sampling concepts, regression and classification methods; and create charts that support operational and management decisions. They learn when to use R or Python, how to structure reproducible projects, and how to document assumptions, transformations and analytical limitations.

Instructor-led sessions combine concise technical briefings with worked cases drawn from banking, public services, NGOs, retail and corporate operations. Participants build analysis components throughout the course, review code and visual outputs with peers, and apply methods to realistic reporting questions. They leave with a documented R and Python analysis project, reusable code patterns, chart specifications, data-quality checks and a plan for applying the approach to a workplace dataset.

The course suits professionals who already work with data and need stronger analytical and visual communication skills. It is particularly relevant for analysts moving from spreadsheet reporting, technical specialists supporting decision-makers, and managers responsible for evidence-based reporting.

What you will be able to do

  • Build reproducible R and Python projects using structured folders, environments and documented dependencies
  • Import, profile and clean tabular data using tidyverse and pandas transformation methods
  • Combine relational datasets through validated joins, keys and reconciliation checks
  • Conduct exploratory data analysis using descriptive statistics, distributions and segmentation
  • Create decision-focused visualisations with ggplot2, matplotlib and seaborn
  • Apply regression, classification and time-series methods to defined analytical questions
  • Produce reproducible analytical reports using notebooks, Quarto and documented code
  • Present a complete data analysis with findings, limitations, visual evidence and recommendations

Benefits of attending

For you

  • Ability to replace repetitive spreadsheet analysis with reusable R and Python scripts
  • Portfolio-ready analytical project demonstrating data cleaning, modelling and visual communication
  • Practical judgement for choosing appropriate charts, statistical tests and model outputs
  • Confidence reviewing analytical assumptions, data-quality risks and misleading visualisations
  • Reusable reporting workflow for producing documented evidence from workplace datasets

For your organisation

  • More consistent data preparation through documented transformation and validation steps
  • Faster recurring analysis through reusable scripts rather than manual spreadsheet processes
  • Clearer management reporting using charts matched to decisions and audience needs
  • Stronger auditability through traceable code, source data references and stated assumptions
  • Better analytical governance through explicit treatment of uncertainty, bias and model limitations

Course modules

20 modules over 10 days

Participants can set up organised, repeatable analytical projects in R and Python.

  • RStudio projects, working directories, package libraries and reproducible session configuration
  • JupyterLab notebooks, kernels, virtual environments and dependency management
  • Project folder structures for raw data, scripts, outputs and documentation
  • Script execution order, relative paths and parameterised file references
  • Comments, naming conventions and readable code for peer review
  • Selecting R or Python according to analytical task requirements

Participants can write basic R code using the data structures required for analysis.

  • Vectors, matrices, lists and data frames for analytical objects
  • Factors and ordered categories for controlled categorical analysis
  • Indexing rows, columns and elements with base R syntax
  • Functions, arguments and return values for repeated analytical tasks
  • Conditional logic using if statements, comparisons and logical operators
  • Vectorised calculations replacing row-by-row spreadsheet-style processing

Participants can use Python objects, functions and control structures for data analysis.

  • Strings, numbers, lists, dictionaries and tuples for analytical processing
  • DataFrames and Series as pandas analytical data structures
  • Boolean filtering, indexing and slicing for targeted data selection
  • Functions with parameters for reusable transformation and analysis routines
  • List comprehensions for concise conditional data preparation tasks
  • Exceptions and error messages for diagnosing failed analytical code

Participants can import datasets and assess their suitability for analysis.

  • CSV, Excel, JSON and database extracts imported into R
  • pandas readers for CSV, Excel, JSON and parquet files
  • Data dictionaries defining field names, types, units and permitted values
  • Profile missingness, duplicates, ranges and unexpected category values
  • Character encoding, date parsing and decimal separator import issues
  • Source lineage recorded from original extract through analytical dataset

Participants can clean and reshape analytical data using tidyverse functions.

  • dplyr verbs filter, select, mutate, summarise and arrange
  • Grouped summaries using group_by and summarise for performance analysis
  • tidyr pivot_longer and pivot_wider for reshaping reporting extracts
  • String cleaning with stringr patterns, replacement and standardisation
  • Date calculations using lubridate periods, intervals and reporting periods
  • Missing value treatment using explicit rules and documented assumptions

Participants can transform, aggregate and reshape datasets using pandas.

  • DataFrame filtering with loc, query and boolean conditions
  • Column creation using assign, arithmetic operations and conditional logic
  • Groupby aggregations for counts, totals, rates and averages
  • Reshaping data through melt, pivot and pivot_table methods
  • Text standardisation using pandas string methods and regular expressions
  • Datetime conversion, period extraction and elapsed-time calculations

Participants can combine related datasets while identifying join and reconciliation risks.

  • Primary keys, foreign keys and grain in relational datasets
  • Inner, left, right and full joins matched to business questions
  • Join cardinality checks for one-to-one, one-to-many and many-to-many relationships
  • Duplicate keys diagnosed before merging customer, transaction and reference datasets
  • Reconciliation totals comparing source records before and after integration
  • Lookup tables applied for standardised categories, regions and codes

Participants can identify patterns, anomalies and meaningful segments in analytical data.

  • Frequency tables and cross-tabulations for categorical data inspection
  • Mean, median, percentiles and dispersion measures for numeric variables
  • Distribution shape assessed through histograms, density plots and boxplots
  • Outliers investigated using interquartile range and domain thresholds
  • Segmentation by customer, product, region, channel and reporting period
  • Correlation matrices interpreted without confusing association with causation

Participants can select chart forms and visual encodings for specific analytical questions.

  • Question-first chart selection for comparison, composition, distribution and relationship analysis
  • Visual encodings using position, length, colour, size and shape
  • Axis scaling, baseline choices and log transformations handled transparently
  • Colour palettes designed for accessibility, contrast and categorical distinction
  • Annotations, reference lines and labels supporting decision interpretation
  • Misleading charts identified through distorted scales, aggregation and omitted context

Participants can create polished static charts in R using ggplot2.

  • Grammar of graphics layers: data, aesthetics, geoms and scales
  • Bar, line, scatter and box plots built with ggplot2
  • Faceting comparisons across regions, customer segments and reporting periods
  • Statistical annotations using smoothing, confidence intervals and summary layers
  • Themes, labels and legends formatted for business reporting standards
  • Export settings for presentations, reports and high-resolution publication graphics

Participants can produce analytical visualisations in Python using matplotlib and seaborn.

  • matplotlib figure objects, axes and layout controls for reporting charts
  • seaborn categorical, distributional and relational plot functions
  • Subplots arranged for comparative operational performance reporting
  • Confidence intervals and uncertainty bands displayed with suitable chart forms
  • Titles, annotations and data labels written for managerial audiences
  • Reusable plotting functions created for recurring reporting requirements

Participants can produce interactive and static outputs suited to different audiences.

  • Plotly charts with hover information, filters and interactive selection
  • Interactive graphics compared with static charts for controlled reporting
  • Quarto documents combining narrative, code, tables and visual outputs
  • Notebook outputs structured for review, rerunning and audit trails
  • Parameters used to generate recurring reports for defined periods
  • Output formats selected for HTML, PDF, Word and presentation use

Participants can assess uncertainty and apply basic statistical inference appropriately.

  • Population, sample, sampling frame and selection bias distinctions
  • Confidence intervals interpreted as ranges around estimated population parameters
  • Hypothesis tests framed through null hypotheses, alternatives and significance levels
  • T-tests comparing means between independent groups and paired observations
  • Chi-square tests examining association between categorical variables
  • P-values, effect sizes and practical significance reported together

Participants can build, interpret and assess regression models for numerical outcomes.

  • Linear regression links predictors with continuous target variables
  • Model formulas specified using business drivers and measurable assumptions
  • Coefficient interpretation distinguishes direction, magnitude and reference categories
  • Residual plots assess linearity, variance and influential observations
  • Multicollinearity checked using correlation patterns and variance inflation factors
  • Train-test splits assess out-of-sample predictive performance

Participants can create and evaluate classification models for categorical decisions.

  • Logistic regression estimates probabilities for binary outcome classification
  • Classification thresholds selected according to decision costs and risk tolerance
  • Confusion matrices summarise true positives, false positives and errors
  • Precision, recall, specificity and F1 score compared for model evaluation
  • ROC curves and area under curve assess ranking performance
  • Class imbalance treated through weighting, resampling and threshold adjustment

Participants can analyse temporal patterns and prepare basic forecasts.

  • Time indexes, frequency and missing periods validated before forecasting
  • Trend, seasonality and irregular variation separated through decomposition
  • Rolling averages smooth volatile operational and financial series
  • Lagged variables compare current outcomes with prior-period behaviour
  • Forecast accuracy measured using MAE, RMSE and MAPE
  • Prediction intervals communicate uncertainty around forecast values

Participants can create maps that analyse geographically referenced data responsibly.

  • Latitude, longitude and coordinate reference systems for spatial datasets
  • Choropleth maps use normalised rates rather than raw counts
  • Point maps display service locations, incidents and customer concentrations
  • Spatial joins connect observations with administrative boundary datasets
  • Map classifications compared using quantiles, equal intervals and natural breaks
  • Privacy risks assessed before publishing small-area location data

Participants can document, test and review analytical work for reliable reuse.

  • Analytical assumptions documented alongside source data and transformation decisions
  • Assertions test row counts, key uniqueness and expected value ranges
  • Unit tests verify functions performing recurring calculations correctly
  • Peer code review checks readability, logic, dependencies and documentation
  • Version control concepts support traceable changes to analytical files
  • Publication checklists confirm chart accuracy, disclosure risks and source attribution

Participants can present analytical findings with clear recommendations and limitations.

  • Executive summaries state decision question, evidence, recommendation and caveats
  • Findings prioritised by materiality, confidence and operational relevance
  • Chart narratives explain observed patterns without claiming unsupported causality
  • Limitations address data coverage, assumptions, uncertainty and potential bias
  • Recommendations link analytical evidence with owners, actions and measures
  • Stakeholder questions anticipated through traceable calculations and appendix materials

Participants can build, review and present a complete R or Python analytical report addressing a defined business or public-sector question.

  • Capstone question framed with decision owner, scope and success measures
  • Raw data profiled, cleaned and integrated through documented transformation steps
  • Exploratory analysis identifies patterns, anomalies and priority segments
  • Statistical or predictive method selected against the stated question
  • Decision-focused visualisations produced with transparent labels and supporting context
  • Peer review tests code quality, analytical claims and chart interpretation
  • Final presentation communicates recommendations, limitations and next analytical actions

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

What you take back to work

  1. R and Python analytical project template
  2. Data-quality profiling checklist
  3. Reusable tidyverse and pandas transformation patterns
  4. Chart selection and annotation guide
  5. Regression and classification evaluation framework
  6. Documented capstone analytical report

Who should attend

  • Data Analysts — need stronger R and Python workflows for repeatable analysis
  • Business Intelligence Analysts — need to validate data and communicate findings clearly
  • Financial Analysts — need to analyse performance, forecast drivers and reporting trends
  • Monitoring and Evaluation Officers — need defensible analysis of programme and survey data
  • Operations Managers — need to interpret data and commission better analytical work
  • Research Officers — need reproducible statistical analysis and publication-ready graphics

Skills and tools covered

Data wranglingStatistical analysisData visualisationPredictive modellingReproducible reportingAnalytical storytelling

Tools and standards

R, Python, JupyterLab, Quarto

How the course runs

Training methodology

The course uses short instructor briefings followed by guided analysis of realistic datasets. Participants alternate between R and Python to compare equivalent workflows for importing, cleaning, joining, analysing and charting data. Case work includes operational performance, customer behaviour, financial reporting and programme monitoring scenarios. Group reviews focus on code readability, chart selection, assumptions and evidence quality. Individual application planning helps participants identify a suitable workplace dataset, reporting problem and implementation path after the course.

Requirements and prerequisites

Participants should be comfortable using spreadsheets, working with rows and columns of data, and interpreting basic business metrics such as counts, percentages, averages and rates. Some experience writing simple formulas or SQL queries is useful but not essential. The course assumes confidence installing software, managing files and using a desktop operating system. Prior R or Python programming experience is not required, although participants who have encountered variables, functions or scripts will progress faster. Advanced mathematics, machine learning experience, database administration and software engineering experience 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 working with spreadsheet data and interpreting basic metrics such as averages, percentages and rates. No prior R or Python programming is required, but familiarity with formulas, SQL or basic scripting will help.

Bring a laptop capable of running RStudio, Python and JupyterLab; installation guidance can be provided before the course. You may also bring a non-sensitive workplace dataset or reporting problem for application planning.

It is designed for analysts, researchers, business intelligence professionals, financial analysts and monitoring and evaluation staff. Managers who commission, review or use analytical reporting will also benefit from the focus on assumptions, visual evidence and limitations.

The course centres on the full analytical workflow: data quality, transformation, exploratory analysis, visual communication, inference and reproducible reporting. Machine learning is included where it supports classification and prediction, but software engineering and advanced model deployment are not the main focus.

Participants can use the methods to automate recurring reports, investigate performance changes, analyse customer or programme data, validate datasets and create evidence for management decisions. The project structure, code patterns and quality checks are intended for reuse with workplace data.

The first week establishes R and Python foundations, data import, cleaning, joining, descriptive analysis and chart design. The second week covers statistical methods, predictive models, time series, mapping, reproducibility, communication and an end-to-end capstone presentation.

Questions about this course?

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