This report will no longer be produced after 29 July 2022. It appears some of the data sources continue to be updated and this report will continue if the case data continues to be updated.
This paper contains estimates for the effective reproduction number
\(R_{t,m}\) over time \(t\) in various provinces \(m\) of South Africa. This is done using the
methodology as described in [1]. These
have been implemented in R using EpiEstim
package [2] which is what is used here. The methodology
and assumptions are described in more detail here.
This paper and it’s results should be updated roughly daily and is available online.
As this paper is updated over time this section will summarise significant changes. The code producing this paper is tracked using Git. The Git commit hash for this project at the time of generating this paper was 6cab0e089bd06c9688728ab585072be9bce67169.
The following major updates have been made:
Case data is extracted from the NICD National COVID-19 Daily Report [4]. This contains the daily cases reported by the NICD for South Africa by province. Data is shown by specimen reported date. Most recent data is excluded due to incomplete reporting of tests in last number of days.
Further data with regard to cases by report date are extracted from [3].
This report contains data as released at 2023-04-02 19:04:34 and contains cases up to specimen received date 2023-03-30.
Hospital admissions and death data is extracted from [3] which captures the NICD Daily Hospital Surveillance (DATCOV) [5]. These contains reported cumulative admissions and cumulative reported hospital deaths on each day. This report contains data as reported up to 2022-12-23.
Excess deaths are extracted from [6] and later reports. This report contains data up until the week ending 2022-12-10.
The following fixes are applied to case data:
The daily cumulative admissions and hospital deaths reported in the daily PDFs were captured. There are some inconsistencies in that data though. To correct for this the following adjustments were made:
Excess deaths is transformed as follows:
Late reported cases play a role as the data we are using are by specimen received date. Cases are being added to dates in the past as the data gets updated. By keeping data released on a daily basis comparisons can be made to analyse reporting delays. In most cases those are only a couple of days later, but in some cases these are further out.
Late reported claims are estimated using a model that models the reporting of claims as a function of:
Only data that were reported in last 21 days are used, to ensure data reflects recent reporting delay patterns.
No allowance for late reported hopsital admissions and deaths is possible as data is only available by date reported.
Public holidays tend to have lower number of cases received and results in distortions of the estimation of the reproduction number over time. Below we attempt to adjust for these discrepancies.
Public holiday dates are obtained from [7]
For each province counts of cases is then modelled as a function of:
The impact of public holidays are then removed by observing the impact of public holidays in the model and reversing that out in the data. This has the effect of increasing the observed cases on public holidays and reducing them slightly on all other days. This effect is dependent on the province and day of the week.
No adjustments for pulbic holidays are made for admissions and deaths. Data is by date reported which makes this difficult.
The methodology is described in detail here. Here we estimate the effective reproduction number on cases and admissions but not hospital deaths as the quality of reporting of hospital deaths is not of sufficient quality.
Below raw numbers of test by date reported are plotted. Note this is not by specimen received date, so, for example, no adjustment is made for old cases/tests that were loaded on 23 November 2021. A 7-day moving average is also plotted. No adjustment is made for public holidays for this data.
Below the percentage testing positive is plotted by reported date, so, for example, no adjustment is made for old cases/tests that were loaded on 23 November 2021. A 7-day sliding window percentage is also plotted. No adjustment is made for public holidays or delays for this data as the assumption is that the numerator and denominator should be similarly impacted (both are by date reported).
Below the estimations for daily cases are plotted against the cases reported to date for the last 14 days. More recent dates are not fully reported yet and are increased more to the estimated levels.
Cases before and after adjustment for public holidays for South Africa are shown below for last 60 days. Cases are increased on days of public holidays and reduced on other days. Weekends are not impacted significantly.
Further in this report the adjusted cases are used.
This report uses cases by specimen received date. Below the cases are tabulated by reporting date and how many days before the report date the specimens were received. The “-1” column is the number of cases reported on a particular date where specimens were received the day before the report date. “-2” is the previous day etc.
On some days the report is not run in which case the reported cases may not be stored and thus the calculation below would not be possible. Those dates will be missing from the table.
The data used in the report is mainly captured from [4] as it contains data by specimen received date. Totals from the Department of Health / NICD as captured in [3] are also shown. There are minor differences from time to time.
Report Date | -1 | -2 | -3 | -4 | -5 | -6 | -7 | Older | Total | DoH |
---|---|---|---|---|---|---|---|---|---|---|
2023-03-13 | 94 | 205 | 329 | 132 | 8 | 2 | 3 | 86 | 859 | 866 |
2023-03-14 | NA | 0 | 0 | 0 | 0 | 0 | 0 | 3 | NA | 0 |
2023-03-15 | NA | NA | 0 | 0 | 0 | 0 | 0 | -9 | NA | 0 |
2023-03-16 | 277 | 418 | 508 | 39 | 1 | 2 | 0 | 14 | 1,259 | 1,259 |
2023-03-17 | NA | 0 | 0 | 0 | 0 | 0 | 0 | -12 | NA | 0 |
2023-03-18 | NA | NA | 0 | 0 | 0 | 0 | 0 | 5 | NA | 0 |
2023-03-19 | NA | NA | NA | 0 | 0 | 0 | 0 | 11 | NA | 0 |
2023-03-20 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | -8 | -7 | 1 |
2023-03-21 | 220 | 159 | 193 | 343 | 380 | 170 | 2 | 3 | 1,470 | 1,482 |
2023-03-22 | 109 | 85 | 2 | 1 | 0 | 0 | 0 | -6 | 191 | 198 |
2023-03-23 | 330 | 39 | 4 | 0 | 0 | 0 | 0 | 5 | 378 | 380 |
2023-03-24 | 204 | 156 | 1 | 0 | 0 | 0 | 0 | -7 | 354 | 359 |
2023-03-25 | 169 | 119 | 0 | 0 | 0 | 0 | 0 | 11 | 299 | 296 |
2023-03-26 | NA | 0 | 0 | 0 | 0 | 0 | 0 | 3 | NA | 0 |
2023-03-27 | 85 | 143 | 89 | 8 | 0 | 0 | 0 | 0 | 325 | 326 |
2023-03-28 | 219 | 35 | 5 | 8 | 0 | 0 | 0 | 5 | 272 | 272 |
2023-03-29 | NA | 0 | 0 | 0 | 0 | 0 | 0 | -5 | NA | 0 |
2023-03-30 | NA | NA | 0 | 0 | 0 | 0 | 0 | -7 | NA | 0 |
2023-03-31 | 181 | 120 | 5 | 0 | 0 | 0 | 0 | 13 | 319 | 315 |
2023-04-01 | NA | 0 | 0 | 0 | 0 | 0 | 0 | -15 | NA | 0 |
2023-04-02 | NA | NA | 0 | 0 | 0 | 0 | 0 | 5 | NA | 0 |
Cases are tabulated by specimen received date below. Cases include estimates for late reporting in recent days as well as adjustments for any public holidays. A centred 7-day moving average is also shown. The peak daily cases in previous waves (as measured by the moving average) is also shown.
Specimen Received Date | Cases | 7-day Moving Average | Comment |
---|---|---|---|
2020-07-11 | 7,836 | 11,476 | Wave 1 Peak |
2021-01-06 | 23,097 | 19,374 | Wave 2 Peak |
2021-07-03 | 12,487 | 19,537 | Wave 3 Peak |
2021-12-12 | 8,398 | 21,980 | Wave 4 Peak |
2022-05-06 | 8,173 | 7,575 | Wave 5 Peak (to date) |
The above are based on the following dates:
Below a 7-day moving average daily case is plotted by on a log scale since start of the epidemic. Cases are plotted by specimen received date.
Below the above chart is repeated for the last 30-days:
Below a 7-day moving average daily case count is plotted by province on a log scale since start of the epidemic:
Below the above chart is repeated for the last 30-days:
Admissions are tabulated by report date below. A centred 7-day moving average is also shown. The peak daily admissions in previous waves (as measured by the moving average) is also shown.
Reported Date | Hospital Admissions | 7-day Moving Average | Comment |
---|---|---|---|
2020-07-31 | 694 | 1,436 | Wave 1 Peak |
2021-01-24 | 885 | 3,677 | Wave 2 Peak |
2021-07-12 | 1,890 | 2,129 | Wave 3 Peak |
2021-12-21 | 2,524 | 1,413 | Wave 4 Peak |
2022-05-12 | 537 | 732 | Wave 5 Peak (to date) |
2022-12-16 | 0 | 34 | |
2022-12-17 | 25 | 31 | |
2022-12-18 | 25 | 29 | |
2022-12-19 | 19 | 27 | |
2022-12-20 | 56 | 29 | |
2022-12-21 | 29 | NA | |
2022-12-22 | 33 | NA | |
2022-12-23 | 16 | NA |
The above are based on the following dates:
Below a 7-day moving average of daily hospital admissions is plotted by on a log scale since start of the epidemic. Note admissions are plotted by reported date.
Below the above chart is repeated for the last 30-days:
Below a 7-day moving average daily admissions are plotted by province on a log scale since start of the epidemic:
Below the above chart is repeated for the last 30-days:
Hospital deaths are tabulated by report date below. A centred 7-day moving average is also shown. The peak daily deaths in previous waves (as measured by the moving average) is also shown.
Note that hospital deaths underestimates total COVID-19 deaths in South Africa.
Reported Date | Hospital Deaths | 7-day Moving Average | Comment |
---|---|---|---|
2020-08-04 | 204 | 218 | Wave 1 Peak |
2021-01-14 | 672 | 637 | Wave 2 Peak |
2021-07-23 | 642 | 542 | Wave 3 Peak |
2022-01-09 | 46 | 200 | Wave 4 Peak |
2022-04-17 | 1 | 64 | Wave 5 Peak (to date) |
2022-12-16 | 0 | 3 | |
2022-12-17 | 1 | 2 | |
2022-12-18 | 0 | 2 | |
2022-12-19 | 1 | 2 | |
2022-12-20 | 4 | 2 | |
2022-12-21 | 5 | NA | |
2022-12-22 | 1 | NA | |
2022-12-23 | 1 | NA |
The above are based on the following dates:
Below a 7-day moving average of daily hospital deaths is plotted by on a log scale since start of the epidemic. Note hospital deaths are plotted by reported date.
Below the above chart is repeated for the last 30-days:
Below a 7-day moving average daily hospital deaths are plotted by province on a log scale since start of the epidemic:
Below the above chart is repeated for the last 30-days:
Excess deaths are tabulated by report date below. A centred 7-day moving average is also shown. The peak daily deaths in previous waves (as measured by the moving average) is also shown.
Date of Death | Excess Deaths | 7-day Moving Average | Comment |
---|---|---|---|
2020-07-22 | 954 | 954 | Wave 1 Peak |
2021-01-13 | 2,304 | 2,304 | Wave 2 Peak |
2021-07-14 | 1,479 | 1,479 | Wave 3 Peak |
2021-12-29 | 514 | 514 | Wave 4 Peak |
2022-05-25 | 296 | 296 | Wave 5 Peak (to date) |
2022-12-03 | 78 | 79 | |
2022-12-04 | 82 | 80 | |
2022-12-05 | 82 | 81 | |
2022-12-06 | 82 | 81 | |
2022-12-07 | 82 | 82 | |
2022-12-08 | 82 | NA | |
2022-12-09 | 82 | NA | |
2022-12-10 | 82 | NA |
The above are based on the following dates:
Below a 7-day moving average of daily excess deaths is plotted by on a log scale since start of the epidemic. Note excess deaths are plotted by date of death.
Below the above chart is repeated for the last 30-days:
Below a 7-day moving average daily excess deaths are plotted by province on a log scale since start of the epidemic:
Below the above chart is repeated for the last 30-days:
Below a 7-day moving average daily case, admission and excess death counts are plotted by province on a log scale since start of the epidemic. Note admissions and excess deaths are plotted by reported date, whereas cases are plotted by specimen received date.
Below the above chart is repeated for the last 30-days:
Below crude rations are calculated between the waves. It’s based on the following starting dates:
Below crude ratios are tabulated and plotted. These ratios are:
Wave | Case Admission Ratio | Case Fatality Ratio | Case Excess Deaths Ratio | Hospital Fatality Ratio | Death Reporting Ratio | |
---|---|---|---|---|---|---|
South Africa | Wave 1 | 10.2% | 1.87% | 6.77% | 18.3% | 27.6% |
South Africa | Wave 2 | 20.3% | 4.40% | 12.36% | 21.7% | 35.6% |
South Africa | Wave 3 | 13.4% | 3.10% | 8.37% | 23.1% | 37.0% |
South Africa | Wave 4 | 9.8% | 0.95% | 4.47% | 9.7% | 21.2% |
South Africa | Wave 5 | 10.5% | 0.91% | 10.77% | 8.7% | 8.5% |
Below the rations above are plotted graphically:
Below current (last weekly) effective reproduction number estimates are tabulated for South Africa and by province.
Type | Count (Per Day) | Week Ending | Reproduction Number [95% Confidence Interval] | |
---|---|---|---|---|
South Africa | cases | 190 | 2022-12-25 | 0.91 [0.86 - 0.96] |
South Africa | hospital_admissions | 29 | 2022-12-23 | 0.82 [0.71 - 0.94] |
Province | Type | Count (Per Day) | Week Ending | Reproduction Number [95% Confidence Interval] |
---|---|---|---|---|
Eastern Cape | cases | 10 | 2022-12-25 | 0.92 [0.72 - 1.15] |
Eastern Cape | hospital_admissions | 3 | 2022-12-23 | 1.57 [0.97 - 2.33] |
Free State | cases | 5 | 2022-12-25 | 0.79 [0.55 - 1.06] |
Free State | hospital_admissions | 1 | 2022-12-23 | 0.84 [0.41 - 1.46] |
Gauteng | cases | 55 | 2022-12-25 | 0.86 [0.77 - 0.95] |
Gauteng | hospital_admissions | 7 | 2022-12-23 | 0.61 [0.44 - 0.81] |
KwaZulu-Natal | cases | 66 | 2022-12-25 | 0.99 [0.90 - 1.09] |
KwaZulu-Natal | hospital_admissions | 9 | 2022-12-23 | 0.83 [0.64 - 1.06] |
Limpopo | cases | 3 | 2022-12-25 | 1.02 [0.63 - 1.49] |
Limpopo | hospital_admissions | 1 | 2022-12-23 | 2.45 [0.77 - 5.15] |
Mpumalanga | cases | 8 | 2022-12-25 | 0.91 [0.69 - 1.15] |
Mpumalanga | hospital_admissions | 2 | 2022-12-13 | 0.42 [0.24 - 0.67] |
North West | cases | 3 | 2022-12-25 | 0.76 [0.49 - 1.10] |
North West | hospital_admissions | 0 | 2022-09-26 | 0.53 [0.14 - 1.17] |
Northern Cape | cases | 2 | 2022-12-25 | 0.64 [0.34 - 1.02] |
Northern Cape | hospital_admissions | 1 | 2022-12-23 | 1.56 [0.50 - 3.19] |
Western Cape | cases | 37 | 2022-12-25 | 0.93 [0.82 - 1.04] |
Western Cape | hospital_admissions | 8 | 2022-12-23 | 0.96 [0.73 - 1.22] |
Below the effective reproduction number for South Africa over the last 90 days are plotted together with a plot since start of the pandemic.
The plots below show average daily cases over the last 7-days on the X-axis and the reproduction number on the Y-axis for each district municipality. By dividing this into 4 quadrants we can identify district municipalities with high numbers of cases and high reproduction numbers, or high cases and low reproduction numbers etc.
Values where the reproduction number exceeds 3 are plotted at 3.
Where there are very few cases (on the left of this chart), estimates for the reproduction number are more uncertain and volatile.
Below estimates of the reproductive number are plotted on a map of South Africa [8].