Work FAERS Explorer

Reports of harm for one heartburn drug exploded in 2020. Nothing about the drug had changed.

Python · pandas · matplotlib · Streamlit · openFDA API

The finding

The spike tracked a wave of litigation, not new clinical harm. Report counts measure how much attention a drug is getting, not how dangerous it is.

Method

Live dashboard over the FDA adverse-event database via the openFDA API — per-drug reactions, reports per year, and reporter demographics, with the caveat built into the interface rather than the footnotes.

So what

If you are valuing a drug, pricing litigation exposure, or reading a safety headline, a rise in reports is not evidence of a rise in harm. Treating the two as the same thing is how a molecule gets mispriced.

Interactive

Scrub the timeline of Zantac adverse-event reports per year; the post-2019 spike is driven by an FDA recall and litigation, not new harm.

FAERS · REPORT TRENDS

A spike isn't always a safety signal.

Zantac (ranitidine) adverse-event reports per year. Drag along the timeline and watch what happens after 2019.

–– reports
––
⚑

Report counts measure attention, not harm. The first question for any spike is "what else happened that year?"

Full write-up

What it does

You pick a drug and the dashboard returns:

  • Its top reported adverse reactions (by report count)
  • Reports filed per year
  • Age and sex breakdown of reporters

There is also a built-in panel explaining what these numbers actually measure. FAERS counts are driven by who files reports, not by how often an adverse event occurs in patients. More reports for a drug does not mean the drug is more dangerous — it can mean it is more widely used, more scrutinised, or that a safety signal has already been publicised. The dashboard makes that explicit.

Why I built it

I kept reading pharmacovigilance literature that cited FAERS counts without that caveat. I wanted a tool that showed the data and the caveat together, so the interpretation is part of the interface.

Stack

Python · pandas · matplotlib · Streamlit · openFDA API