Con la aparición de nuevas enfermedades y virus, la demanda de medicamentos que ayuden a tratar dichas enfermedades ha aumentado considerablemente. Este fenómeno ha generado una presión sin precedentes sobre los sistemas de salud y las cadenas de suministro de medicamentos. La necesidad de disponer de información precisa y actualizada sobre los precios de los medicamentos se vuelve crucial para la planificación y la gestión eficiente de los recursos de salud.
Para abordar este problema, se ha utilizado el conjunto de datos suministrado por el Ministerio de Salud del presente año. Este conjunto de datos incluye una amplia variedad de variables, tales como el principio activo, el precio, los fabricantes y la unidad de dispensación, entre otros. La información ha sido recopilada en base a distintos fabricantes de medicamentos, ya sean los que se encuentran a nivel nacional e internacional.
El objetivo del presente trabajo es analizar en base al Termómetro° de precios de medicamentos del Ministerio de Salud y Protección Social. Este termómetro permitirá comparar los precios de los medicamentos en base a la concentración de su principio activo, y con el cual se respondió la siguiente pregunta:¿Cuáles son las concentraciones más comunes en los medicamentos distribuidos en el mercado colombiano y cuáles de ellas tienen los precios más competitivos según el Termómetro de Precios de Medicamentos?
La metodología se realizó a través de las siguientes fases:
Recolección y filtrado de información : Obtención y filtrado de los datos específicos de las concentraciones de medicamentos para cada factor.
Limpieza de Datos: Selección de las variables clave asociadas a los factores que tienen una relación directa con la concentración de los medicamentos seleccionados.
Análisis Descriptivo: Cálculo de estadísticas descriptivas y visualización de las concentraciones más comúnes.
Visualización de Resultados: Representación gráfica de los hallazgos para facilitar la interpretación y comunicación de los resultados.
Los resultados ayudarán a los siguientes consumidores de diferentes maneras:
Ciudadanía: Al enfocar el uso del termómetro para identificar concentraciones más comunes, las personas pueden saber que medicamentos con una concentración específica son los más asequibles en el mercado.
Instituciones: Conocer si el medicamento que les están suministrando está en un rango de precio prudente o al contrario, les están vendiendo dicho producto a un precio más elevado.
Comercio: Saber que tanta es la diferencia del suministro de medicamentos en comparación con las instituciones y conocer alternativas viables.
| Nombre del paquete | Función |
|---|---|
| library(readr) | Para la carga eficiente de datos desde archivos CSV |
| library(dplyr) | Para la manipulación y filtrado de datos |
| library(ggplot2) | Para la creación de visualizaciones/gráficos |
| library(tidyr) | Para organizar y limpiar datos |
| library(stringr) | Para manejar y procesar cadenas de texto |
| library(knitr) | Para generar tablas en documentos Markdown |
| library(scales) | Para escalar, manipular y formatear datos para visualizaciones |
Este dataset se toma de fuentes oficiales proporcionados por el Gobierno Nacional y el Ministerio de Salud, que incluye información detallada de cada medicamento, en base a los precios, fabricantes, concentración del principio activo y otros factores relevantes para el análisis:
El conjunto de datos del “Termómetro de Precios de Medicamentos” cuenta con 12 Columnas, las cuales tienen el propósito de comparar los precios y conocer la oferta de los medicamentos a nivel nacional. La frecuencia de actualización del dataset es anual, y su última actualización fue realizada el 17 de octubre del presente año (2024). La emisión del dataset fue el último dia del 2016, sin embargo, la creación del mismo se realizó el 14 de julio del año mencionado.
En cuánto a las columnas presentes en el conjunto de datos, se nota la peculiaridad de que la mayoría de estas son variables cualitativas, teniendo como únicas cuantitativas el precio por tableta, el numerofactor y el Expediente INVIMA.
Ahora, en cuanto a la importación de datos, se cargó el dataset de la siguiente forma y mostró las siguientes columnas:
## Cargando paquete requerido: readr
## Cargando paquete requerido: dplyr
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Cargando paquete requerido: ggplot2
## Cargando paquete requerido: tidyr
## Cargando paquete requerido: stringr
## Cargando paquete requerido: knitr
## Cargando paquete requerido: scales
##
## Adjuntando el paquete: 'scales'
## The following object is masked from 'package:readr':
##
## col_factor
library(readr)
library(dplyr)
library(ggplot2)
library(tidyr)
library(stringr)
library(knitr)
library(scales)
#Importar csv
dataset <- read_csv("Clicsalud_-_Term_metro_de_Precios_de_Medicamentos_20241201.csv")## Rows: 12534 Columns: 12
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (9): principio_activo, concentracion, unidad_base, unidad_de_dispensacio...
## dbl (3): Expediente_INVIMA, precio_por_tableta, numerofactor
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## [1] "Expediente_INVIMA" "principio_activo" "concentracion"
## [4] "unidad_base" "unidad_de_dispensacion" "nombre_comercial"
## [7] "fabricante" "medicamento" "canal"
## [10] "precio_por_tableta" "factoresprecio" "numerofactor"
Este bloque de código se encargó de realizar una limpieza básica del conjunto de datos, eliminando posibles Valores Nulos.
La limpieza redujo de 12 columnas a 6, la cual se realizó en base a las variables más relevantes que permitieron evaluar los factores que afectan el análisis que se quería implementar:
##
## Adjuntando el paquete: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
| N | Nombre | Descripción | Tipo de dato |
|---|---|---|---|
| 1 | Concentración | Cantidad de principio activo que contiene un medicamento | Texto |
| 2 | Precio por Tableta | Precios equivalentes por tableta o cápsula de diferentes alternativas en el mercado | Número |
| 3 | canal | Canal donde se realizan las transacciones de compra y venta de medicamentos | Texto |
| 4 | factoresprecio | rango definido por el SISMED del Ministerio de Salud para comparar precios entre medicamentos que contienen la misma concentración de un principio activo, tomando en cuenta el tipo de cliente al que va distribuido (Canal) | Texto |
| 5 | fabricante | Empresas autorizadas por la administración competente para fabricar medicamentos | Texto |
| 6 | unidad_de_dispensacion | Hace referencia a la entidad física en donde está contenida la dosis del medicamento | Texto |
A continuación, se describe la manera en qué se filtró los datos para cada sección en el análisis:
-Eliminación de outliers. * :
# Límites para identificar outliers
limite_superior <- quantile(dataset_limpio$precio_por_tableta, 0.90, na.rm = TRUE)
# Filtrado para mantener solo valores dentro de los límites
dataset_limpio <- dataset_limpio %>%
filter(precio_por_tableta <= limite_superior)
# Conversión de precios a valores numéricos (eliminando comas)
dataset_limpio <- dataset_limpio %>%
mutate(precio_por_tableta = as.numeric(gsub(",", "", precio_por_tableta)))
# Verificación del dataset limpio
glimpse(dataset_limpio)## Rows: 11,280
## Columns: 6
## $ concentracion <chr> "Midazolam 15 mg", "Divalproato Sodico 500 mg",…
## $ precio_por_tableta <dbl> 11199.800000, 3752.866667, 1777.266522, 329.295…
## $ canal <chr> "Institucional", "Comercial", "Institucional", …
## $ factoresprecio <chr> "Alto", "Medio", "Medio", "Medio", "Medio", "Me…
## $ fabricante <chr> "Siegfried", "Lafrancol", "Lafrancol", "Genfar"…
## $ unidad_de_dispensacion <chr> "Ampolla", "Tableta", "Tableta", "Capsula", "Fr…
## concentracion precio_por_tableta canal factoresprecio
## Length:11280 Min. : 0.09 Length:11280 Length:11280
## Class :character 1st Qu.: 880.78 Class :character Class :character
## Mode :character Median : 2998.46 Mode :character Mode :character
## Mean :10033.27
## 3rd Qu.:10538.85
## Max. :84593.47
## fabricante unidad_de_dispensacion
## Length:11280 Length:11280
## Class :character Class :character
## Mode :character Mode :character
##
##
##
Después de esta eliminación el dataset pasó de tener 12534 filas, a tener 11280. Esta eliminación consiste en quitar los outliers que están por encima del percentil 90 de la distribución.
| concentracion | precio_por_tableta | canal | factoresprecio | fabricante | unidad_de_dispensacion |
|---|---|---|---|---|---|
| Midazolam 15 mg | 11199.8000000 | Institucional | Alto | Siegfried | Ampolla |
| Divalproato Sodico 500 mg | 3752.8666670 | Comercial | Medio | Lafrancol | Tableta |
| Divalproato Sodico 500 mg | 1777.2665220 | Institucional | Medio | Lafrancol | Tableta |
| Fluoxetina 20 mg | 329.2952810 | Comercial | Medio | Genfar | Capsula |
| Proximetacaina 5 mg | 64184.7457600 | Comercial | Medio | Alcon | Frasco |
| Proximetacaina 5 mg | 45600.0000000 | Institucional | Medio | Alcon | Frasco |
| Alopurinol 300 mg | 365.3996782 | Comercial | Bajo | Memphis | Tableta |
| Haloperidol 10 mg | 544.4616667 | Comercial | Alto | Memphis | Tableta |
| Haloperidol 10 mg | 2.9333333 | Institucional | Bajo | Memphis | Tableta |
| Acido Fusidico 2 g | 8265.2013630 | Comercial | Medio | Genfar | Tubo |
| Acido Fusidico 2 g | 4295.6404450 | Institucional | Bajo | Genfar | Tubo |
| Ketoprofeno 2,5 g | 20842.3795000 | Comercial | Medio | Genfar | Tubo |
| Ketoprofeno 2,5 g | 3852.8020660 | Institucional | Bajo | Genfar | Tubo |
| Azitromicina 500 mg | 2460.7642720 | Comercial | Medio | Genfar | Tableta |
| Azitromicina 500 mg | 707.1738267 | Institucional | Medio | Genfar | Tableta |
| Azitromicina 200 mg | 11438.5933300 | Comercial | Bajo | Genfar | Frasco |
| Azitromicina 200 mg | 4489.1103070 | Institucional | Bajo | Genfar | Frasco |
| Cetirizina 10 mg | 1988.4836200 | Institucional | Alto | Biochem | Tableta |
| Tiopental 1 g | 570.6666667 | Institucional | Medio | Feparvi | Vial |
| Tiopental 1 g | 507.0588235 | Comercial | Medio | Feparvi | Vial |
| Pancuronio 4 mg | 450.0000000 | Institucional | Medio | Feparvi | Ampolla |
| Pancuronio 4 mg | 522.7272727 | Comercial | Medio | Feparvi | Ampolla |
| Salbutamol 40 mg | 3583.8357140 | Comercial | Medio | Memphis | Frasco |
| Hierro Sacarosa 100 mg | 19577.7761700 | Institucional | Alto | Vifor | Ampolla |
| Estradiol 5 mg + Acetato De Medroxiprogesterona 25 mg | 233.5242105 | Institucional | Medio | Profamilia | Ampolla |
| Alprazolam 0,25 mg | 1716.0000000 | Comercial | Medio | Pfizer | Tableta |
| Alprazolam 0,25 mg | 1066.4831800 | Institucional | Medio | Pfizer | Tableta |
| Claritromicina 500 mg | 3112.1608310 | Comercial | Medio | La Sante | Tableta |
| Claritromicina 500 mg | 12.9420000 | Institucional | Bajo | La Sante | Tableta |
| Cetirizina 10 mg | 6719.6182300 | Comercial | Alto | Procaps | Capsula |
| Cetirizina 10 mg | 728.6493655 | Institucional | Medio | Procaps | Capsula |
| Trimebutina 200 mg | 506.4018161 | Comercial | Medio | Colmed | Tableta |
| Trimebutina 200 mg | 470.0000000 | Institucional | Medio | Colmed | Tableta |
| Deferoxamina 500 mg | 19905.0000000 | Institucional | Medio | Novartis | Vial |
| Omeprazol 20 mg | 229.5269746 | Comercial | Medio | Genfar | Capsula |
| Omeprazol 20 mg | 99.9624339 | Institucional | Medio | Genfar | Capsula |
| Ambroxol 15 mg | 7221.0862180 | Comercial | Medio | Tecnofar | Frasco |
| Ambroxol 15 mg | 3443.2173910 | Institucional | Medio | Tecnofar | Frasco |
| Clindamicina 300 mg | 1955.8785780 | Comercial | Alto | La Sante | Capsula |
| Clindamicina 300 mg | 527.1507761 | Institucional | Medio | La Sante | Capsula |
| Cetirizina 10 mg | 476.1756318 | Comercial | Medio | La Sante | Tableta |
| Cetirizina 10 mg | 32.2473498 | Institucional | Bajo | La Sante | Tableta |
| Trazodona 50 mg | 1030.9315000 | Comercial | Medio | Winthrop | Tableta |
| Trazodona 50 mg | 66.0873886 | Institucional | Bajo | Winthrop | Tableta |
| Amitriptilina 25 mg | 303.4302814 | Comercial | Medio | Genfar | Tableta |
| Amitriptilina 25 mg | 22.4952657 | Institucional | Bajo | Genfar | Tableta |
| Naproxeno 250 mg | 390.2350859 | Comercial | Medio | Genfar | Tableta |
| Naproxeno 250 mg | 66.8176457 | Institucional | Bajo | Genfar | Tableta |
| Zidovudina 200 mg | 62779.7611900 | Institucional | Medio | Glaxosmithkline | Vial |
| Tramadol 50 mg | 4386.3310340 | Comercial | Alto | Grunenthal | Capsula |
| Tramadol 50 mg | 2422.6980770 | Institucional | Alto | Grunenthal | Capsula |
| Tramadol 100 mg | 13511.4363600 | Comercial | Alto | Grunenthal | Ampolla |
| Tramadol 100 mg | 6952.7878790 | Institucional | Alto | Grunenthal | Ampolla |
| Tramadol 50 mg | 7238.7614310 | Comercial | Medio | Grunenthal | Ampolla |
| Tramadol 50 mg | 3501.5442180 | Institucional | Alto | Grunenthal | Ampolla |
| Tramadol 100 mg | 7988.2485030 | Institucional | Alto | Grunenthal | Frasco |
| Mentol 4 g + Salicilato De Metilo 14 g + Alcanfor 3 g | 24051.2814600 | Comercial | Alto | Tecnofar | Frasco |
| Mentol 4 g + Salicilato De Metilo 14 g + Alcanfor 3 g | 6630.5316980 | Comercial | Bajo | Tecnofar | Frasco |
| Mentol 4 g + Salicilato De Metilo 14 g + Alcanfor 3 g | 9956.6270920 | Comercial | Medio | Tecnofar | Frasco |
| Acetaminofen 500 mg + Maleato De Clorfeniramina 2 mg + Fenilefrina 10 mg | 1815.0000000 | Comercial | Medio | Sanofi Aventis | Sobre |
| Estradiol 10 mg + Algestona Acetofenido 150 mg | 20167.0743700 | Comercial | Medio | Lafrancol | Ampolla |
| Metoclopramida 10 mg | 117.1963225 | Comercial | Medio | Pentacoop | Tableta |
| Metoclopramida 10 mg | 0.4155779 | Institucional | Bajo | Pentacoop | Tableta |
| Ibuprofeno 800 mg | 238.3034485 | Comercial | Medio | Genfar | Tableta |
| Ibuprofeno 800 mg | 124.4648764 | Institucional | Bajo | Genfar | Tableta |
| Tinidazol 500 mg | 541.2747873 | Comercial | Alto | Tecnoquimicas | Tableta |
| Tinidazol 500 mg | 278.4006515 | Institucional | Alto | Tecnoquimicas | Tableta |
| Sulfametoxazol 4000 mg + Trimetoprim 800 mg | 6758.4290030 | Comercial | Alto | Genfar | Frasco |
| Cetirizina 1 mg | 13929.8304100 | Institucional | Medio | Biochem | Frasco |
| Claritromicina 250 mg | 72838.4829700 | Comercial | Alto | La Sante | Frasco |
| Claritromicina 250 mg | 12971.0516200 | Institucional | Bajo | La Sante | Frasco |
| Budesonida 0,5 mg | 10912.2000000 | Institucional | Medio | Astrazeneca | Ampolla |
| Budesonida 0,5 mg | 10912.2000000 | Comercial | Medio | Astrazeneca | Ampolla |
| Escherichia Coli 6 mg | 7822.9153590 | Comercial | Medio | Om | Capsula |
| Escherichia Coli 6 mg | 3845.5843910 | Institucional | Medio | Om | Capsula |
| Simeticona 250 mg | 883.7351345 | Comercial | Medio | Procaps | Capsula |
| Simeticona 250 mg | 326.5019577 | Institucional | Medio | Procaps | Capsula |
| Piperazina 20 g | 11684.2105300 | Comercial | Medio | Cosmetipharma | Frasco |
| Levodopa 250 mg + Carbidopa 25 mg | 1590.1133550 | Comercial | Alto | Winthrop | Tableta |
| Levodopa 250 mg + Carbidopa 25 mg | 216.9904138 | Institucional | Bajo | Winthrop | Tableta |
| Clozapina 25 mg | 1750.0000000 | Comercial | Alto | Mylan | Tableta |
| Clozapina 25 mg | 1750.0000000 | Institucional | Alto | Mylan | Tableta |
| Miconazol 2 g | 38989.0000000 | Comercial | Medio | Janssen | Tubo |
| Miconazol 2 g | 32094.7142900 | Institucional | Bajo | Janssen | Tubo |
| Metronidazol 500 mg | 183.2376003 | Comercial | Medio | Tecnoquimicas | Tableta |
| Metronidazol 500 mg | 132.0000000 | Institucional | Medio | Tecnoquimicas | Tableta |
| Amlodipino 10 mg | 6609.6601730 | Institucional | Alto | Pfizer | Tableta |
| Amlodipino 10 mg | 8743.3949040 | Comercial | Alto | Pfizer | Tableta |
| Guayacolato De Glicerilo 100 mg | 2582.2540260 | Comercial | Medio | Licol | Frasco |
| Guayacolato De Glicerilo 100 mg | 2086.5348580 | Institucional | Medio | Licol | Frasco |
| Cloruro De Potasio 2 meq | 1600.0000000 | Institucional | Medio | Ryan | Ampolla |
| Cloruro De Potasio 2 meq | 1475.0000000 | Comercial | Medio | Ryan | Ampolla |
| Ondansetron 8 mg | 4859.0000000 | Institucional | Alto | Ropsohn | Tableta |
| Fluconazol 150 mg | 1988.3424210 | Comercial | Medio | Genfar | Capsula |
| Fluconazol 150 mg | 806.2819070 | Institucional | Bajo | Genfar | Capsula |
| Bromuro De Ipratropio 25 mg | 22149.9701100 | Comercial | Medio | Boehringer | Frasco |
| Bromuro De Ipratropio 25 mg | 21298.8098300 | Institucional | Medio | Boehringer | Frasco |
| Tetrinoina 0,05 g | 58299.0000000 | Institucional | Alto | Galderma | Tubo |
| Oxcarbazepina 300 mg | 26504.0000000 | Comercial | Medio | Novartis | Frasco |
| Oxcarbazepina 300 mg | 26504.0000000 | Institucional | Medio | Novartis | Frasco |
El análisis de las concentraciones más comunes en los medicamentos se inició filtrando los datos para identificar las 10 concentraciones más frecuentes. Este filtrado permitió reducir significativamente el dataset, manteniendo únicamente las concentraciones de mayor relevancia. Posteriormente, se utilizó un gráfico de barras para visualizar estos datos y resaltar las tendencias principales.
# ---------------------------------------------------------------
# Exploración de datos: EDA
# ---------------------------------------------------------------
# a. Concentraciones más comunes
concentraciones_comunes <- dataset_limpio %>%
count(concentracion, sort = TRUE) %>%
slice_head(n = 10)
# Filtrar el dataset para incluir solo las concentraciones del top
top_concentraciones <- concentraciones_comunes$concentracion
dataset_top <- dataset_limpio %>%
filter(concentracion %in% top_concentraciones)Al terminar de filtrar el dataset, se buscó graficar todos los datos a tratar mediante el diagrama de barras salido de las siguientes lineas de código:
# Visualización: Concentraciones más comunes
ggplot(concentraciones_comunes,
aes(
x = reorder(concentracion, n),
y = n,
fill = concentracion
)) +
geom_bar(stat = "identity", show.legend = TRUE) +
labs(title = "Top 10 Concentración Más Comunes", x = "Concentración", y = "Frecuencia") +
theme_minimal() +
scale_fill_manual(values = rainbow(10)) +
geom_text(aes(label = n), vjust = -0.3) +
theme(axis.text.x = element_blank())Del gráfico generado, se observa que el Clotrimazol 1 g es la concentración más frecuente, con 52 apariciones. Esto refleja su amplia aplicación en el tratamiento de infecciones cutáneas y mucosas, consolidándose como un medicamento de uso recurrente en estas condiciones.
El Acetaminofén, por su parte, resalta con dos concentraciones frecuentes: 3 g (36) y 500 mg (37). Esto indica su versatilidad y popularidad como analgésico y antipirético, siendo adecuado para una variedad de necesidades médicas.
Asimismo, se identifican concentraciones como Cetirizina 10 mg y Desloratadina 5 mg, ampliamente utilizadas en el tratamiento de alergias, lo que sugiere una prevalencia significativa de medicamentos que combaten este tipo de afecciones.
Para analizar la distribución de factores de precio según las concentraciones más comunes, se realizó un filtrado de los datos basado en las concentraciones previamente identificadas. Luego, se agruparon los datos por concentración y factor de precio, calculando la frecuencia de cada combinación. Finalmente, se utilizó un gráfico apilado para representar visualmente estas distribuciones, lo que permitió identificar patrones significativos.
# 1. Factores de precio por Concentraciones
factores_por_concentracion <- dataset_top %>%
filter(concentracion %in% concentraciones_comunes$concentracion) %>%
group_by(concentracion, factoresprecio) %>%
summarise(frecuencia = n()) %>%
arrange(concentracion, desc(frecuencia))## `summarise()` has grouped output by 'concentracion'. You can override using the
## `.groups` argument.
# Visualización: Factores de precio por Concentraciones (gráfico apilado)
ggplot(factores_por_concentracion,
aes(
x = reorder(concentracion, -frecuencia),
y = frecuencia,
fill = factoresprecio
)) +
geom_bar(stat = "identity") +
labs(title = "Distribución de Factores de Precio por Concentraciones",
x = "Concentración",
y = "Frecuencia",
fill = "Factor de Precio") +
theme_minimal() +
scale_fill_manual(values = c(
"Bajo" = "green",
"Medio" = "yellow",
"Alto" = "red"
)) +
geom_text(aes(label = frecuencia),
position = position_stack(vjust = 0.5),
size = 3)El gráfico revela que concentraciones como Clotrimazol 1 g y Nitazoxanida 500 mg tienen una predominancia en el factor de precio medio, con frecuencias de 26 y 24, respectivamente. Este comportamiento puede explicarse por la alta demanda y la necesidad de mantener precios competitivos para medicamentos de uso frecuente.
Un aspecto interesante es que tanto el factor de precio alto como el bajo presentan la misma frecuencia (13) en el caso de la Nitazoxanida 500 mg, lo que sugiere una segmentación en el mercado para este producto, ofreciendo opciones económicas y premium según el contexto.
Por otro lado, concentraciones como el Acetaminofén 3 g y Metronidazol 500 mg tienen menor frecuencia en el factor de precio medio, lo que podría indicar una menor uniformidad en su posicionamiento de precios o menor oferta general en el mercado.
Para identificar los fabricantes con mejores precios, se agruparon los datos por fabricante y se calculó el precio promedio por tableta. Posteriormente, se ordenaron los fabricantes de menor a mayor precio promedio, seleccionando los 20 con los precios más bajos. Este análisis permite visualizar claramente cuáles son las opciones más económicas en el mercado farmacéutico.
# 2. Fabricantes con mejores precios
fabricantes_precios <- dataset_top %>%
group_by(fabricante) %>%
summarise(precio_promedio = mean(precio_por_tableta, na.rm = TRUE)) %>%
arrange(precio_promedio) %>%
top_n(-20)## Selecting by precio_promedio
ggplot(fabricantes_precios,
aes(
x = reorder(fabricante, precio_promedio),
y = precio_promedio,
fill = fabricante
)) +
geom_bar(stat = "identity", show.legend = TRUE) +
labs(title = "Top 20 Fabricantes con Mejores Precios", x = "Fabricante", y = "Precio Promedio (COP)") +
theme_minimal() +
scale_fill_manual(values = rainbow(20)) +
geom_text(aes(label = scales::comma(precio_promedio)), vjust = -0.3) +
theme(axis.text.x = element_blank())El gráfico muestra que Corpaul, una farmacéutica local de origen paisa, ocupa el primer lugar con el precio promedio más bajo (25.1 COP por tableta). Este dato destaca la competitividad de los fabricantes nacionales frente a empresas extranjeras, lo cual podría atribuirse a factores como menores costos de producción, subsidios locales o estrategias de mercado específicas.
Fabricantes como Bioquifar (58.9 COP) y Farmacoop (126.3 COP) también se posicionan en los primeros lugares, lo que refleja un mercado donde las empresas locales tienen un papel predominante en la oferta de medicamentos asequibles.
En contraste, los fabricantes Tecnoquímicas (1,599.1 COP) y Dispropharma (1,625.0 COP) tienen precios promedio significativamente más altos, lo que podría asociarse con productos de nicho, estándares de calidad más estrictos o costos relacionados con importación y comercialización.
Para analizar la relación entre los fabricantes destacados y las concentraciones seleccionadas, se filtraron los datos basados en los fabricantes con los mejores precios y las concentraciones más comunes previamente identificadas. Posteriormente, se agrupó la información para calcular la frecuencia de cada combinación, permitiendo identificar patrones significativos en su producción.
# 3. Relación entre fabricantes destacados y Concentraciones seleccionados
fabricantes_concentraciones <- dataset_top %>%
filter(
fabricante %in% fabricantes_precios$fabricante &
concentracion %in% concentraciones_comunes$concentracion
) %>%
group_by(fabricante, concentracion) %>%
summarise(
precio_promedio = mean(precio_por_tableta, na.rm = TRUE),
frecuencia = n()
) %>%
arrange(fabricante, desc(frecuencia))
# Visualización: Fabricantes y sus Concentraciones
ggplot(fabricantes_concentraciones,
aes(
x = reorder(fabricante, -frecuencia),
y = frecuencia,
fill = concentracion
)) +
geom_bar(stat = "identity") +
coord_flip() +
labs(title = "Relación entre Fabricantes Destacados y Concentraciones",
x = "Fabricante",
y = "Frecuencia de Concentraciones",
fill = "Concentración") +
theme_minimal() +
scale_fill_manual(values = rainbow(length(
unique(fabricantes_concentraciones$concentracion)
))) +
geom_text(aes(label = frecuencia),
position = position_stack(vjust = 0.5),
size = 3)El gráfico muestra que Tecnoquímicas, un fabricante colombiano, lidera en la diversidad de concentraciones producidas, con un enfoque notable en Nitazoxanida 500 mg (frecuencia 3), además de otras como Acetaminofén 500 mg y Metronidazol 500 mg. Esto refleja una estrategia de mercado basada en cubrir una amplia gama de medicamentos esenciales.
Otros fabricantes destacados, como Bioquifar y Ecar, también tienen presencia en múltiples concentraciones, lo que subraya su capacidad para diversificar su oferta. Sin embargo, la mayoría de los fabricantes, como Rociphar y New Trade, producen concentraciones específicas con menor frecuencia, lo que podría indicar un enfoque de nicho o menor capacidad de producción.
Para explorar las concentraciones más comunes y sus unidades de dispensación, se agruparon los datos según las concentraciones y las formas en que son suministradas. Posteriormente, se calculó la frecuencia de cada combinación, seleccionando las 10 concentraciones más frecuentes, lo que permite identificar patrones relevantes en su presentación.
# 4. Concentraciones más comunes por unidad de dispensación
concentraciones_unidad <- dataset_top %>%
group_by(concentracion, unidad_de_dispensacion) %>%
summarise(
frecuencia = n(),
precio_promedio = mean(precio_por_tableta, na.rm = TRUE)
) %>%
arrange(desc(frecuencia)) %>%
top_n(10, frecuencia)## `summarise()` has grouped output by 'concentracion'. You can override using the
## `.groups` argument.
# Visualización: Concentraciones más comunes y su unidad de dispensación
ggplot(concentraciones_unidad,
aes(
x = reorder(concentracion, -frecuencia),
y = frecuencia,
fill = unidad_de_dispensacion
)) +
geom_bar(stat = "identity", position = "dodge") +
labs(title = "Top 10 Concentraciones por Unidad de Dispensación",
x = "Concentración",
y = "Frecuencia",
fill = "Unidad de Dispensación") +
theme_minimal() +
scale_fill_manual(values = rainbow(length(
unique(concentraciones_unidad$unidad_de_dispensacion)
))) +
geom_text(aes(label = frecuencia),
position = position_dodge(width = 0.9),
vjust = -0.5)+
theme(axis.text.x = element_text(size = 8))El gráfico destaca que algunas concentraciones, como Desloratadina 5 mg y Acetaminofén 3 g, están asociadas exclusivamente a una unidad de dispensación, lo que refleja una estandarización en su presentación, probablemente por su efectividad o demanda en esas formas específicas. En el caso de Desloratadina 5 mg, su suministro único en tabletas refuerza su enfoque en tratamientos orales de alergias.
Por otro lado, concentraciones como el Metronidazol 500 mg presentan una mayor variedad en sus unidades de dispensación, con opciones que incluyen tabletas, tabletas masticables, y frascos, lo que subraya su uso diverso en distintos contextos clínicos y necesidades terapéuticas.
Otro caso notable es la Nitazoxanida 500 mg, ampliamente suministrada en tabletas, lo que podría estar relacionado con su popularidad como tratamiento antiparasitario. La presentación de Acetaminofén 500 mg también refleja su alta disponibilidad y versatilidad, siendo una de las concentraciones más producidas.
Para comprender las diferencias de precios promedio entre las distintas unidades de dispensación, se agruparon los datos por unidad y se calculó el precio promedio asociado. Este análisis permite identificar cuáles formas de presentación son más accesibles económicamente y cuáles tienden a ser más costosas.
# 5. Precio promedio de Concentraciones por unidad de dispensación
precios_unidad <- dataset_top %>%
group_by(unidad_de_dispensacion) %>%
summarise(precio_promedio = mean(precio_por_tableta, na.rm = TRUE)) %>%
arrange(precio_promedio)
# Visualización: Precio promedio por unidad de dispensación
ggplot(precios_unidad,
aes(
x = reorder(unidad_de_dispensacion, precio_promedio),
y = precio_promedio,
fill = unidad_de_dispensacion
)) +
geom_bar(stat = "identity", show.legend = TRUE) +
labs(title = "Precio Promedio por Unidad de Dispensación", x = "Unidad de Dispensación", y = "Precio Promedio (COP)") +
theme_minimal() +
scale_fill_manual(values = rainbow(nrow(precios_unidad))) +
geom_text(aes(label = scales::comma(precio_promedio)), vjust = -0.3)El gráfico revela que las unidades de dispensación más económicas son las tabletas vaginales (650 COP) y los óvulos (954 COP), lo que puede estar relacionado con su uso específico y menos frecuente en comparación con otras presentaciones. Por otro lado, las unidades más costosas son los frascos (14,446 COP) y los tubos (10,598 COP), probablemente debido a que estas presentaciones suelen incluir mayores volúmenes o dosis acumuladas, además de ser menos comunes en el mercado.
También se observa que las tabletas y cápsulas tienen precios promedio moderados (2,446 COP y 2,737 COP, respectivamente), lo que las convierte en opciones accesibles y versátiles para una amplia variedad de medicamentos. En contraste, las ampolletas, aunque son menos utilizadas, tienen un precio promedio elevado (6,909 COP), posiblemente debido a los costos asociados con su fabricación y almacenamiento.
El análisis de la distribución de precios por factor de precio (alto, medio, bajo) permite identificar diferencias significativas en los costos asociados a cada categoría. Utilizando un diagrama de cajas, se visualizan las variaciones en el precio por tableta para cada factor, destacando patrones y posibles outliers.
# 6. Distribución de precios por factor de precio
# Diagrama de cajas para el top 10 de Concentraciones
ggplot(dataset_top,
aes(x = factoresprecio, y = precio_por_tableta, fill = factoresprecio)) +
geom_boxplot(
outlier.color = "black",
outlier.shape = 16,
alpha = 0.7
) +
labs(title = "Distribución de Precios por Factor de Precio", x = "Factor de Precio", y = "Precio por Tableta (COP)") +
theme_minimal() +
scale_fill_manual(values = c(
"Bajo" = "green",
"Medio" = "yellow",
"Alto" = "red"
)) +
scale_y_continuous(labels = scales::comma)La categoría de precio alto presenta una mayor dispersión, con precios que oscilan ampliamente y varios valores atípicos que superan los 60,000 COP por tableta. Esto indica que dentro de esta categoría se encuentran medicamentos especializados o de nicho, cuyo alto costo puede estar relacionado con su calidad, exclusividad o demanda limitada.
En contraste, el factor de precio bajo tiene una menor variabilidad y concentra sus valores en rangos inferiores, lo que refleja consistencia en los precios más asequibles. Este comportamiento es esperable en productos de alta rotación o de producción masiva, diseñados para ser accesibles al mercado general.
Por otro lado, la categoría de precio medio combina características de ambas, mostrando una dispersión moderada y algunos outliers, aunque no tan extremos como en el rango alto. Esto sugiere que esta categoría abarca medicamentos versátiles con precios balanceados.
Para comparar los precios promedio por canal (comercial e institucional) en las concentraciones seleccionadas, se agruparon los datos por concentración y canal. Se calcularon los precios promedio para cada combinación, lo que permitió identificar diferencias en los costos asociados a cada canal y concentración.
# 7. Comparación de precios por canal para Concentraciones seleccionados
precios_canales <- dataset_top %>%
filter(concentracion %in% concentraciones_comunes$concentracion) %>%
group_by(concentracion, canal) %>%
summarise(precio_promedio = mean(precio_por_tableta, na.rm = TRUE)) %>%
arrange(concentracion, canal)## `summarise()` has grouped output by 'concentracion'. You can override using the
## `.groups` argument.
# Visualización: Comparación de precios entre canales para Concentraciones
ggplot(precios_canales,
aes(
x = reorder(concentracion, -precio_promedio),
y = precio_promedio,
fill = canal
)) +
geom_bar(stat = "identity", position = "dodge") +
labs(title = "Comparación de Precios por Canal para Concentraciones Seleccionados",
x = "Concentración",
y = "Precio Promedio (COP)",
fill = "Canal") +
theme_minimal() +
scale_fill_manual(values = c(
"Comercial" = "blue",
"Institucional" = "orange"
)) +
geom_text(aes(label = scales::comma(precio_promedio)),
position = position_dodge(width = 0.9),
vjust = -0.5)El gráfico muestra una tendencia general en la que los precios institucionales suelen ser más bajos que los comerciales, lo cual es esperable dado que las instituciones de salud suelen negociar precios al por mayor o recibir subsidios. Sin embargo, hay excepciones notables, como el Clobetasol Propionato 0.05 g, donde el precio institucional (16,791.8 COP) es significativamente mayor que el comercial (26,309.1 COP). Este comportamiento inusual podría deberse a factores como contratos de distribución específicos o variaciones en el mercado local.
Concentraciones como el Acetaminofén 3 g y la Azitromicina 500 mg también muestran diferencias importantes, aunque más consistentes con la expectativa de precios institucionales más bajos. Por otro lado, las concentraciones de menor precio promedio, como el Metronidazol 500 mg y el Acetaminofén 500 mg, reflejan una menor variabilidad entre los canales, lo que indica una mayor estabilidad en su mercado.
Para analizar la distribución de los factores de precio en las concentraciones de medicamentos, se calculó la proporción de cada categoría (bajo, medio y alto) dentro del dataset. Esta representación gráfica permite identificar cómo se segmentan los medicamentos según su factor de precio, proporcionando una perspectiva clara de la composición del mercado.
El gráfico muestra que la mayoría de las concentraciones se encuentran en el factor de precio medio, representando el 56.5% del total. Esto indica que los medicamentos en este rango son los más comunes y posiblemente los más asequibles para el público general, equilibrando calidad y costo.
En contraste, los factores de precio bajo y alto presentan proporciones similares, con 22.8% y 21.7% respectivamente. Esto sugiere que existe un balance entre las concentraciones más económicas y las más costosas, lo que podría estar influenciado por el tipo de medicamento, su producción o su función.
Para identificar las concentraciones más comunes asociadas al factor de precio bajo, se filtraron los datos para esta categoría específica y se seleccionaron las 10 concentraciones con mayor frecuencia. Este análisis permite destacar los medicamentos que tienen mayor disponibilidad a precios accesibles.
El gráfico muestra que las concentraciones de Nitazoxanida 500 mg y Rosuvastatina 20 mg lideran con una frecuencia de 13 cada una, indicando que son las opciones más populares dentro del segmento de precios bajos. Esto puede reflejar una alta demanda por estos medicamentos, posiblemente debido a su uso frecuente en tratamientos comunes.
Otras concentraciones, como Clotrimazol 1 g, Clobetazol Propionato 0.05 g y Meloxicam 15 mg, tienen una frecuencia de 12, lo que también resalta su importancia en el mercado, especialmente en casos donde la accesibilidad económica es crucial.
Por otro lado, concentraciones como Acetaminofén 3 g, Acetaminofén 500 mg y Azitromicina 500 mg, aunque también se encuentran en el top, tienen frecuencias ligeramente menores (10), lo que podría indicar una mayor competencia en términos de precios o una distribución más diversificada.
Para identificar las concentraciones más comunes dentro del factor de precio medio, se filtraron los datos según esta categoría específica y se seleccionaron las 10 concentraciones con mayor frecuencia. Este análisis permite observar cuáles medicamentos predominan en el rango medio, donde se encuentra la mayor parte de los productos del mercado.
El gráfico muestra que la Nitazoxanida 500 mg es la concentración más frecuente con su aparición en 26 medicamentos, seguida por Clotrimazol 1 g y Acetaminofén 500 mg, ambos con 24 apariciones. Esto indica una alta demanda de estas concentraciones dentro de este rango de precio, probablemente por su versatilidad y popularidad en el tratamiento de condiciones comunes.
Concentraciones como Cetirizina 10 mg, Clobetazol Propionato 0.05 g y Meloxicam 15 mg tienen frecuencias intermedias, reflejando su importancia en este segmento de precio, particularmente en medicamentos orientados a alergias y control del dolor.
En el caso de concentraciones como Tadalafilo 20 mg, con una frecuencia de 18, se observa una menor prevalencia, lo cual puede estar relacionado con su propósito más específico y, por ende, menor rotación en comparación con otros medicamentos del mismo rango de precio.
Para determinar las concentraciones más comunes dentro del factor de precio alto, se seleccionaron las 10 concentraciones con mayor frecuencia en esta categoría. Este análisis es esencial para identificar qué medicamentos dominan en este rango de precio, lo que puede estar relacionado con su complejidad, exclusividad o propósito.
El gráfico revela que Nitazoxanida 500 mg y Clotrimazol 1 g son las concentraciones más frecuentes, con 13 apariciones cada una, lo que refleja su alta relevancia dentro del segmento de precios altos. Esto puede deberse a su demanda constante en aplicaciones específicas y su posicionamiento como productos premium.
Por otro lado, Azitromicina 500 mg y Meloxicam 15 mg destacan con 12 y 11 frecuencias respectivamente, lo que indica su importancia en este rango de precio, probablemente por tratarse de medicamentos que requieren procesos de producción más especializados o por ser indicados en tratamientos de mayor complejidad.
Concentraciones como Sildenafil 50 mg y Rosuvastatina 20 mg, aunque tienen frecuencias más bajas (10), están dirigidas a segmentos de mercado específicos y altamente regulados, lo que justifica su inclusión en esta categoría.
Para analizar las diferencias en los precios promedio por canal de venta, se agruparon los datos según los canales comercial e institucional. Este análisis es útil para identificar las dinámicas de precios en ambos mercados y entender cómo varían los costos según el segmento.
El gráfico muestra que el canal comercial tiene un precio promedio más alto (10,847 COP) en comparación con el canal institucional (8,999 COP). Esto es coherente con la expectativa de que las instituciones de salud suelen negociar precios más bajos debido a compras al por mayor, contratos específicos o subsidios gubernamentales.
El diferencial de precios indica que el canal comercial atiende principalmente al consumidor final, donde los precios tienden a ser más altos debido a los costos de distribución, almacenamiento y otros factores asociados a la venta minorista. En contraste, el canal institucional busca optimizar costos para mantener accesibilidad en el suministro de medicamentos.
Para identificar las concentraciones más comunes dentro del canal comercial, se filtraron los datos de ventas destinadas a este segmento. Posteriormente, se seleccionaron las 10 concentraciones con mayor frecuencia, lo que permite comprender las tendencias de medicamentos más demandados por los consumidores finales.
El gráfico muestra que la Nitazoxanida 500 mg y el Sildenafil 50 mg son las concentraciones más comunes, con una frecuencia de 36. Esto refleja una alta demanda en el mercado minorista, posiblemente por su uso en tratamientos frecuentes y condiciones específicas.
Concentraciones como la Cetirizina 10 mg y la Meloxicam 15 mg (35 y 34 respectivamente) destacan por su relevancia en el manejo de alergias y dolores inflamatorios, lo que sugiere que estos medicamentos tienen una rotación alta en este canal. Por otro lado, el Acetaminofén 3 g, con una frecuencia de 23, aunque menor, sigue siendo representativo en el segmento comercial debido a su uso generalizado.
Para explorar las concentraciones más comunes en el canal institucional, se analizaron los datos específicos de medicamentos destinados a instituciones de salud. Se identificaron las 10 concentraciones con mayor frecuencia para entender cuáles son más utilizadas en este segmento.
El gráfico revela que la Nitazoxanida 500 mg es la más frecuente en este canal, con 19 apariciones, seguida del Metronidazol 500 mg (18) y el Meloxicam 15 mg (17). Esto refleja su importancia en el contexto clínico, donde son ampliamente utilizados para el manejo de infecciones, inflamaciones y otras condiciones específicas.
Concentraciones como el Clobetasol Propionato 0.05 g y el Escitalopram (10 mg y 20 mg) también destacan, indicando una demanda significativa de medicamentos especializados en instituciones de salud. La menor frecuencia relativa de algunas concentraciones, como el Losartán 50 mg (14), subraya la diversidad en los requerimientos institucionales según las patologías tratadas.
El análisis exploró cuáles son las concentraciones más comunes en los medicamentos distribuidos en el mercado colombiano y cuáles de estas tienen precios más competitivos, según los datos del Termómetro de Precios de Medicamentos. Se buscó identificar patrones relevantes que permitan entender las dinámicas del mercado y las diferencias entre canales comerciales e institucionales.
El estudio utilizó un dataset estructurado que incluyó información de concentraciones, canales de distribución, factores de precio (alto, medio, bajo) y precios promedio por tableta. Se aplicaron técnicas de filtrado, agrupación y visualización mediante gráficos, priorizando las concentraciones más frecuentes por factor de precio y canal de venta, además de calcular promedios para interpretar las dinámicas de precios.
El análisis reveló que concentraciones como la Nitazoxanida 500 mg, el Acetaminofén 500 mg, y el Meloxicam 15 mg son recurrentes en los canales comercial e institucional, con un posicionamiento dominante en factores de precio medio y bajo. Asimismo, medicamentos especializados como el Sildenafil 50 mg tienen mayor relevancia en el canal comercial, mientras que concentraciones orientadas a tratamientos clínicos, como el Escitalopram 10 mg, se destacan en el canal institucional.
Para los consumidores, el análisis subraya que el canal institucional ofrece precios más bajos en medicamentos esenciales, mientras que el canal comercial prioriza accesibilidad a medicamentos de alta demanda. Los factores de precio medio concentran la mayor parte de las concentraciones comunes, mostrando una tendencia hacia precios balanceados que combinan calidad y asequibilidad.
El análisis está limitado por posibles sesgos en los datos, ya que la muestra puede no representar la totalidad del mercado colombiano. Además, no se consideraron variaciones regionales ni posibles influencias de políticas regulatorias específicas. Por otro lado, utilizar una cantidad tan reducidad de datos (en contraste a todos los que estaban originalmente en el dataset) hace que algunos análisis pierdan información importante que permita definir más datos críticos en la resolución del problema. Futuras investigaciones podrían incluir datos actualizados, ampliar la base de medicamentos analizados e incorporar el impacto de descuentos o subsidios.
Conclusión .
El análisis exploratorio permitió identificar tendencias clave en las concentraciones más comunes de medicamentos distribuidos en el mercado colombiano, así como su comportamiento en términos de precios y canales de venta. Se evidenció que medicamentos como la Nitazoxanida 500 mg, el Acetaminofén 500 mg, y el Meloxicam 15 mg son recurrentes en ambos canales, con un enfoque notable en factores de precio medio y bajo, lo que garantiza su accesibilidad. Asimismo, se resaltaron diferencias claras entre los canales comercial e institucional: mientras el comercial prioriza medicamentos de alta demanda con precios relativamente más altos, el institucional ofrece medicamentos especializados a precios más competitivos, optimizando su adquisición para el sistema de salud.
El mercado está estructurado de manera que los precios en el canal institucional tienden a ser más bajos, reflejando acuerdos específicos o compras al por mayor, mientras que el canal comercial, orientado al consumidor final, tiene precios más elevados por factores como distribución y almacenamiento. Sin embargo, se encontraron casos en los que el precio institucional superaba al comercial, lo que podría indicar ineficiencias o anomalías en la cadena de suministro.
El análisis resalta la importancia de concentraciones específicas en satisfacer tanto necesidades comunes como tratamientos especializados, evidenciando una segmentación que responde a diferentes objetivos terapéuticos y perfiles de consumidores. Esto enfatiza la necesidad de mantener políticas que fomenten precios justos y accesibles, especialmente en concentraciones esenciales.
Futuras investigaciones podrían ampliar este análisis incorporando más concentraciones, variaciones regionales y factores como regulaciones locales y descuentos, para ofrecer una comprensión más integral de las dinámicas de precios en el mercado farmacéutico colombiano. Este enfoque sería esencial para mejorar la equidad en el acceso a medicamentos y fortalecer la transparencia en la fijación de precios.
[1] Ministerio de Salud y Protección Social. (s.f.). Termómetro de Precios de Medicamentos. Recuperado el 7 de diciembre de 2024, de https://www.minsalud.gov.co/salud/MT/paginas/termometro-de-precios.aspx
[2] Datos Abiertos Colombia. (s.f.). Clicsalud - Termómetro de Precios de Medicamentos. Recuperado el 7 de diciembre de 2024, de https://www.datos.gov.co/Salud-y-Protecci-n-Social/Clicsalud-Term-metro-de-Precios-de-Medicamentos/n4dj-8r7k/about_data
[3] INVIMA. (s.f.). Consulta de Registro Sanitario. Recuperado el 7 de diciembre de 2024, de https://consultaregistro.invima.gov.co/Consultas/consultas/consreg_encabcum.jsp