Pharmacy Inventory Movement Dataset

This dataset provides detailed records of pharmacy inventory movements, including receipts, dispenses, adjustments, returns, and transfers. Each transaction is linked to pharmacy, product, supplier, and patient entities, with granular tracking of stock levels, costs, and transaction types. Ideal for inventory optimization, demand forecasting, and stockout prevention in healthcare supply chains.

  • opened 31 times
  • last updated 20 Aug 2025
  • by GoMask
The brief that made it

Demand forecasting for medications and supplies

Sample rows

preview · 8 of 200 rows · all 29 columns
transaction_idstringpharmacy_countrystringstock_afterintegerpharmacy_statestringpharmacy_idstringpharmacy_namestringpharmacy_street_addressstringpharmacy_citystringpharmacy_postal_codestringproduct_idstringproduct_namestringproduct_categorystringproduct_unitstringbatch_numberstringexpiry_datedatetransaction_typestringtransaction_datetimedatetimequantityintegerunit_costfloattotal_costfloatsupplier_idstringsupplier_namestringdestination_pharmacy_idstringdestination_pharmacy_namestringprescription_idstringpatient_idstringstock_beforeintegeris_stockoutbooleancommentsstring
TXN000001USA2000MAPH001Main Street Pharmacy123 Main StBoston02115PRD001Metformin HydrochloridediabetictabletPRD001-2024-USA2026-06-15receipt2024-06-01T09:12:4512000.19228SUP001HealthSource Distributorsblankblankblankblank800falseRoutine restocking for diabetic meds
TXN000002USA120WAPH002Westlake Drugs45 Westlake AveSeattle98109PRD002AmoxicillinantibioticcapsulePRD002-2024-USA2025-11-25dispense2024-06-01T10:19:05-300.216.3blankblankblankblankRXUS0010PA10021150falsePrescription filled for patient
TXN000003Canada215ONPH003Toronto General Pharmacy19 Queen St ETorontoM5C2B7PRD003IbuprofenanalgesictabletPRD003-2024-CAN2027-01-20adjustment2024-06-01T08:59:30150.121.8blankblankblankblankblankblank200falseInventory correction after recount
TXN000004Greenland15GLPH004Greenland Health Central5 Nuuk AveNuuk3900PRD004Artemether InjectionantimalarialampoulePRD004-2023-GL2024-11-30return2024-06-01T08:03:11-1017.5175SUP004Global Pharma Supplyblankblankblankblank25falseReturn expired batch to supplier
TXN000005Australia80NSWPH005Sydney Health Hub88 George StSydney2000PRD005Salbutamol InhaleremergencydevicePRD005-2024-AUSblankreceipt2024-06-01T11:25:346019.71182SUP005Aussie Med Suppliesblankblankblankblank20falseEmergency devices restocked
TXN000006Norway1250NOPH006Stavanger Hospital Pharmacy3 HospitalgataStavanger4006PRD006Insulin GlarginediabeticvialPRD006-2024-NO2026-12-30receipt2024-06-01T07:45:5580016.313040SUP002Nordic Med Partnersblankblankblankblank450falseBulk hospital order for diabetic supplies
TXN000007Brazil1700RJPH007RioCare Hospital110 Avenida BrasilRio de Janeiro22041-001PRD007ParacetamolanalgesictabletPRD007-2024-BR2026-08-05dispense2024-06-01T15:20:18-5000.0945blankblankblankblankRXBR0021PA104552200falseIssued for mass pain relief in ward
TXN000008Canada240ABPH008Highland Pharmacy210 Highland BlvdEdmontonT5J2P2PRD008Vitamin CsupplementtabletPRD008-2024-CAN2027-03-10receipt2024-06-01T13:05:201800.1730.6SUP003Canadian VitaSourceblankblankblankblank60falseSeasonal restock for supplements

What the 200 rows show

from the 200-row sample

Norway (pharmacy country) stands out: mean stock_after is 1,120, against 297.1 for the rest.

  • 71median stock_after
  • 5transaction types
  • 10product categories
  • 10product units
  • 48pharmacies
  • 49pharmacy cities
Mean stock_after by pharmacy_country200 rows
01,0002,000411.2USA48 ro…332.8Cana…41 ro…233.3Aust…37 ro…54.1UK28 ro…1,120Norw…20 ro…630.4Braz…14 ro…93.8Gree…12 ro…
stock_after200 rows, in bands of 1,000
0951901816650203,0006,000stock_after →

Median 71, from 2 to 5,020.

pharmacy_state200 rows · top 10 of 33 values
  1. NO18
  2. ON17
  3. ENG17
  4. QLD15
  5. GL12
  6. WA10
  7. VIC10
  8. RJ9
  9. AB9
  10. TX9
29 columns by typefrom the column list below
  • string 21
  • integer 3
  • float 2
  • date 1
  • datetime 1
  • boolean 1

Columns

29 columns in four groups
blueprint · 29 columns
columntypedescriptionexample
Text 21 columns
transaction_idstringUnique identifier for each inventory movement transactionuniqueTXN000001
pharmacy_idstringUnique identifier for the pharmacy where the transaction occurredPH001
pharmacy_namestringName of the pharmacyMain Street Pharmacy
pharmacy_street_addressstringStreet address of the pharmacy123 Main St
pharmacy_citystringCity where the pharmacy is locatedBoston
pharmacy_statestringState or province where the pharmacy is locatedMA
pharmacy_postal_codestringPostal code of the pharmacy02115
pharmacy_countrystringCountry where the pharmacy is located7 countriesUSA
product_idstringUnique identifier for the product (medication or supply)PRD001
product_namestringName of the product (medication or supply)Metformin Hydrochloride
product_categorystringCategory of the product (e.g., antibiotic, analgesic, device)10 categoriesdiabetic
product_unitstringUnit of measurement for the product (e.g., tablet, vial, box)10 unitstablet
batch_numberstringBatch or lot number of the productoptionalPRD001-2024-USA
transaction_typestringType of inventory movement (e.g., receipt, dispense, adjustment, return, transfer)receipt · dispense · adjustment · return · transferreceipt
supplier_idstringUnique identifier for the supplier (for receipts and returns)optionalSUP001
supplier_namestringName of the supplieroptionalGlobal Pharma Supply
destination_pharmacy_idstringUnique identifier for the destination pharmacy (for transfers)optionalPH026
destination_pharmacy_namestringName of the destination pharmacy (for transfers)optionalBoston Chain Central
prescription_idstringUnique identifier for the prescription (for dispense transactions)optionalRXUS0010
patient_idstringUnique identifier for the patient (for dispense transactions)optionalPA10021
commentsstringAdditional notes or comments about the transactionoptionalExpired tablets returned
Numbers 5 columns
quantityintegerNumber of product units moved in the transaction (positive for receipt, negative for dispense/return)1200
unit_costfloatCost per unit of the product at the time of transaction0 or more · optional0.19
total_costfloatTotal cost for the transaction (unit_cost * quantity)0 or more · optional228
stock_beforeintegerStock level of the product before the transaction0 or more · optional800
stock_afterintegerStock level of the product after the transaction0 or more · optional2000
Dates and times 2 columns
expiry_datedateExpiry date of the product batchoptional2026-06-15
transaction_datetimedatetimeDate and time when the transaction occurred2024-06-01T09:12:45
True or false 1 column
is_stockoutbooleanIndicates if the transaction resulted in a stockout (true if stock_after is zero)optionalfalse

Use it for

  • median stock a…71200 rowsmean stock after by p…411.2USA332.8Cana…233.3Aust…54.1UK

    A healthcare dashboard

    Stock_after by pharmacy_country and a breakdown of pharmacy_state. Excel, Power BI or Tableau.

  • Why do the 20 Norway rows have a mean stock_after of 1,120?

    A root-cause class exercise

    Hand out the rows and one question. The answer is in the data, not in the brief.

  • A software demo

    Believable transactions with pharmacy_id, pharmacy_name and pharmacy_street_address to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 29 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

10,000 rows of yours: $12.99One-time. No subscription. All prices

This dataset200 rows29 columns
Yours10,000 rows29 columnspharmacy_street_address: UK only

blueprint · pharmacy-inventory-movement-dataset

Behind this dataset

Same schema. As many rows as you need.

These 200 rows came out of a blueprint — 29 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.

Rules it was built with
  • SKU and batch tracked
  • Transactions timestamped
  • Stockout status flagged
  • Supplier delivery lag measured
Rows
Open the blueprint in Data Factory

1 credit per row. New accounts start with 25 free credits.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
pharmacy-inventory-movement-dataset

What should your data show?

Preview 20 rows free
No signup. No card.