Tabellab
Data, tech, science & health

Proportional reporting ratio (PRR): calculation, confidence interval and signal criteria

The proportional reporting ratio compares how often an adverse event appears among the reports for one drug with how often it appears among the reports for all other drugs: PRR = [a/(a+b)] ÷ [c/(c+d)], with a, b, c and d from the 2 × 2 table of reports. In the example, 24 of 2,000 reports for a fictional drug mention liver injury (1.20%) against 310 of 98,000 reports for other drugs (0.32%), a PRR of 3.79 with a 95% confidence interval of 2.51 to 5.73. With a Yates chi-square of 43.36 and 24 cases, the pair meets the classic PRR ≥ 2, χ² ≥ 4, n ≥ 3 rule and is flagged as a signal for review. This guide builds every step in Excel.

Updated 21 Oct 2026 6 min read By Tabellab team

The 2 × 2 table behind the PRR

Spontaneous reporting databases do not know how many patients took a drug, only which drugs and events appear together in reports. Disproportionality analysis therefore compares reports with reports. Each report is counted in one of four cells:

  • a: the drug of interest and the event of interest
  • b: the drug of interest and any other event
  • c: any other drug and the event of interest
  • d: any other drug and any other event

In Excel, one COUNTIFS per cell builds the table from a report list, for example =COUNTIFS(Drug,"Ostrelin",Event,"Liver injury") for a. Check that a + b + c + d equals the number of reports in your extract (100,000 in the example). Whether a report with several drugs or events counts once per pair or once per report is a choice, and it must be the same for every pair you compare.

The PRR formula step by step

  • Event share for the drug: a ÷ (a + b) = 24 ÷ 2,000 = 1.20%
  • Event share for all other drugs: c ÷ (c + d) = 310 ÷ 98,000 = 0.32%
  • PRR = 1.20% ÷ 0.32% = 3.79

A PRR of 1 means the event is reported in the same proportion as for other drugs. A PRR of 3.79 means liver injury makes up almost four times as large a share of this drug's reports. If there were no association, you would expect only (a + b) × (a + c) ÷ N = 2,000 × 334 ÷ 100,000 = 6.68 reports in cell a, against 24 observed. The PRR says nothing about how many patients are affected, because the number of exposed patients is unknown.

Worked example: PRR, confidence interval, chi-square and ROR from one 2 × 2 table

Rows 1 to 4 are the 2 × 2 table of spontaneous reports: a = 24 reports name the fictional drug and liver injury, b = 1,976 name the drug and other events, c = 310 name other drugs and liver injury, d = 97,690 name other drugs and other events. Rows 7 to 20 calculate the disproportionality measures and the classic signal rule.

Worked example: PRR, confidence interval, chi-square and ROR from one 2 × 2 table
ABCD
1ReportsLiver injuryAll other eventsTotal
2Ostrelin (fictional)241,9762,000
3All other drugs31097,69098,000
4Total33499,666100,000
5
6MeasureValue
7Event share for the drug, a/(a+b)1.20%
8Event share for all other drugs, c/(c+d)0.32%
9PRR3.79
10Standard error of ln(PRR)0.2107
11PRR 95% CI, lower limit2.51
12PRR 95% CI, upper limit5.73
13Expected a if there were no association6.68
14Chi-square with Yates correction43.36
15p-value below 0.001? (1 degree of freedom)Yes
16ROR, (a/b)/(c/d)3.83
17ROR 95% CI, lower limit2.52
18Signal? PRR ≥ 2, χ² ≥ 4 and a ≥ 3Signal
19Rare event: a cases of 150 drug reports, 40 of 98,000 others232.67
20Signal for the rare event? (a = C19)No signal
Key formulas
  • D9=D7/D8PRR = [a/(a+b)] ÷ [c/(c+d)]
  • D10=SQRT(1/B2-1/D2+1/B3-1/D3)SE of ln(PRR) = √(1/a − 1/(a+b) + 1/c − 1/(c+d))
  • D11=EXP(LN(D9)-1.96*D10)Lower 95% limit on the log scale, back-transformed
  • D14=D4*(ABS(B2*C3-C2*B3)-D4/2)^2/(D2*D3*B4*C4)Yates-corrected chi-square, N(|ad − bc| − N/2)² ÷ product of the margins
  • D18=IF(AND(D9>=2,D14>=4,B2>=3),"Signal","No signal")Classic screening rule (Evans et al.)

Synthetic report counts and a fictional drug. Educational example only, not medical or regulatory advice, and not affiliated with any regulatory agency. A statistical signal is a reason to review cases, not proof that the drug causes the event.

The 95% confidence interval

The PRR is a ratio, so its uncertainty is calculated on the log scale. The standard error of ln(PRR) is =SQRT(1/a-1/(a+b)+1/c-1/(c+d)), here 0.2107. The 95% limits are =EXP(LN(PRR)-1.96*SE) and =EXP(LN(PRR)+1.96*SE): 2.51 to 5.73. The interval is not symmetric around 3.79, which is normal for ratios. With few cases the interval becomes very wide, and many screening rules require the lower limit to be above 1.

Chi-square with Yates correction and the signal rule

The chi-square test asks whether a is larger than chance would allow. For a 2 × 2 table with the Yates continuity correction: χ² = N × (|ad − bc| − N/2)² ÷ [(a+b)(c+d)(a+c)(b+d)], here 43.36 with a p-value far below 0.001 (=CHISQ.DIST.RT(χ²,1)). Some tools use the uncorrected Pearson chi-square, which is a little larger, so check which one your procedure specifies. The chi-square test guide covers the general test.

The classic screening rule from Evans and colleagues flags a drug–event pair when PRR ≥ 2, χ² ≥ 4 and at least 3 cases. The case minimum matters: in the example a rare event with 2 of 150 reports has a PRR of 32.67, but two reports are not enough to call it a signal.

PRR vs ROR and Bayesian measures

The reporting odds ratio uses the same table as an odds ratio: ROR = (a/b) ÷ (c/d), here 3.83, with a standard error of ln(ROR) of √(1/a + 1/b + 1/c + 1/d) and a lower 95% limit of 2.52. When the event is rare, PRR and ROR are almost equal, as here. Many organisations screen with the ROR and its lower confidence limit. Large databases also use Bayesian shrinkage measures such as the empirical Bayes geometric mean (EBGM) or the information component (IC), which pull unstable ratios from small counts toward 1. The arithmetic of odds ratios and relative risks is the same as in epidemiology: see odds ratio and relative risk in Excel.

What a signal does and does not mean

A disproportionality signal is a reason to look closer, not evidence that the drug causes the event. Reporting is voluntary and uneven: media attention, new warnings and lawsuits cause bursts of stimulated reporting, and a drug used by sicker patients collects more reports of their underlying disease. The next steps are a case-level review: time to onset, dechallenge and rechallenge, other causes, the seriousness and outcome of the cases, and the reporting trend over time. Only that clinical assessment, often with other data sources, decides whether a signal is confirmed.

Common mistakes

  • Confusing PRR with risk. The PRR compares shares of reports, not the share of patients who get the event. It cannot give an incidence.
  • Mixing up b and c. b is the drug with other events, c is other drugs with the event. Swapping them changes the PRR completely.
  • Ignoring the case count. With 1 or 2 reports the PRR can be huge and meaningless. Keep the n ≥ 3 criterion and look at the confidence interval.
  • Using the wrong chi-square. Yates-corrected and uncorrected chi-square differ. Use the one your procedure specifies and state it.
  • Counting duplicate reports. The same case reported by a doctor and a patient inflates a. De-duplicate before you count.
  • Treating a signal as a conclusion. Every flagged pair needs a case review for stimulated reporting, confounding and timing.

Frequently asked questions

How do you calculate the proportional reporting ratio?

Build the 2 × 2 table of reports and divide the share of the event among the drug's reports, a/(a+b), by the share of the event among all other drugs' reports, c/(c+d). In Excel: =(B2/(B2+C2))/(B3/(B3+C3)).

What PRR value indicates a signal?

The classic criteria flag a signal when the PRR is at least 2, the chi-square is at least 4 and there are at least 3 cases. Many organisations use their own variants, for example requiring the lower 95% confidence limit to be above 1.

What is the difference between PRR and ROR?

Both use the same 2 × 2 table. The PRR compares proportions, the ROR compares odds: (a/b) ÷ (c/d). For rare events the two are almost identical. The ROR has a simpler standard error and is common in database screening.

How do you calculate the confidence interval of a PRR?

Take the natural log of the PRR, calculate the standard error √(1/a − 1/(a+b) + 1/c − 1/(c+d)), add and subtract 1.96 standard errors, and transform back with EXP.

Practise it in a lab

Related guides

Reading is step one. Doing is step two.

Every guide links to a lab where you build the same calculation in an online spreadsheet and get instant feedback.

Open the lab