Scraping Diabetes Medication Reviews on WebMD

Avatar
Posted on Jul 26, 2019

Introduction & Purpose

My career aspirations in data science are to build products and algorithms to identify early indicators of health risks in people and to provide specific information on how to best avoid those risks, whenever possible.  As medical, genetic, and vital records are kept quite secure, and reasonably so, I seek to understand how prolonging life expectancy can be achieved by connecting individuals with health risks to the information they need when they need it.  In this Web Scraping project, I chose to scrape and analyze reviews of Type II Diabetes Mellitus medications on WebMD. My aim is to create actionable insights for all stakeholders of this condition: diabetic medication consumers, pharmaceutical companies, and WebMD.

Type II Diabetes Mellitus

First, some background on this condition.  Diabetes is a disease where the body, namely the pancreas, has difficulty in producing enough insulin; a hormone that helps break down ingested glucose/sugar into the bloodstream and converts it into energy. As a result, blood sugar levels often soar, if not managed correctly, and may cause rapid weight gain/loss, hunger/thirst, fatigue, frequent urination, swollen limbs, and/or increased health risks for other conditions.  According to the CDC almost 10%, or 30 million, of the U.S. population has Diabetes, and an estimated 84 Million will likely become diabetic within five years if not treated correctly.  Type II Diabetes Mellitus is a specific variation that is adult onset. Common treatments are healthy eating and exercise, oral medication (pills), or insulin injections.

Web Scraping with Scrapy

I used the Python package Scrapy to scrape Type II Diabetes Mellitus reviews on WebMD as the pages do not have many dynamic elements, and the website has a standard hierarchical structure with minimal security protocols.  I was able to take the search results for ‘type 2 diabetes mellitus’ (shown above) and crawl all review pages within each medication link listed to the right.  Within each review, I extracted the following fields:

  • Reviewer (Optional: Age, Sex, Location)
  • Condition Name
  • Medication Name
  • Review Date & Time
  • Review Comment
  • 5-Max Star Ratings:
    • Effectiveness
    • Satisfaction
    • Ease of Use
  • How many viewers found this review helpful

Research Conclusions

With more than 5,500 reviews scraped across 70 medications with reviews, I identified the following insights:

  • The top five most effective-rated medications are Oseni Oral, Glucotrol XL Oral, Victoza 3-Pak Subcutaneous, Invokamet Oral, and Prandin Oral; all above 4-rating mean ratings.  This insight is most important for consumers because WebMD does not currently feature a method of aggregating ratings across medications, making it difficult to find answers.
  • There is a strong (81%) correlation between ‘Effectiveness’ and ‘Satisfaction’ ratings; indicating if consumers feel the drug is effective, they are likely to be satisfied by the results and their experience with the medication.  Notably, there is a good (54%) correlation between ‘Ease of Use’ and both ‘Effectiveness’ and ‘Satisfaction’ ratings. This is critical for pharmaceutical companies as a key indicator for how consumers perceive their products, potentially more reliable than short-term prescription sales.
  • There is a moderate (33%) correlation between the length of a review comment and the helpfulness up-votes people give that review.  This insight can be leveraged by WebMD as a way to optimize their review rankings and provide consumers with a streamlined approach to getting the information others have found most helpful.
  • Lastly, there is no significance in the perceived difference in ‘Effectiveness’ across the top five-ranked medications according to an ANOVA* (Analysis of Variance).

*p-value of 13.7%. Assumptions for ANOVA are not confirmed; they are intended for experiment purposes only. 

Future Work

Firstly, I would like to verify the assumptions to validate the ANOVA performed on the top five ranked most effective medications. This could make or break some deep insights for medication consumers in identifying medications that may actually be significantly better.

I would like to dissect the review comments to identify sentiment and sub-conditions through Natural Language Processing (NLP) exercises. The reality is that these medications are not one-size-fits-all.  Some diabetics also have poor heart conditions or are anemic, for instance, and must avoid certain medications, or specifically use a smaller subset. This type of information cannot be extracted solely from statistics on the ratings fields alone.

Additionally, I would like to dive into longer-standing medications and do time-series analysis. It is possible that perhaps ratings were punished in the past for drug recalls or negative perceptions in the news that may have been remedied since then.  This information would be buried in the hundreds of review pages due to WebMD’s seemingly arbitrary review sorting.

Lastly, I would like to build the public data from WebMD into my career objectives in identifying early indicators of medical conditions, and sharing helpful and effective information about medical treatments with newly diagnosed patients.  Being diagnosed with any condition brings individuals and their families so much stress, anxiety, and pain. Finding the right information in a timely manner can mean the difference between life and death. I would like to optimize this unfortunate experience for everyone with the power of data science.

Thank you for reading! If you'd like to see my work on github, click here!

About Author

Avatar

Eric Meyers

Eric is a data scientist with 7+ years in advanced analytics and data management experience across the music, luxury automotive, government, cosmetics, entertainment, and media fields. Most recently, Eric was a Director in Decision Sciences at Universal McCann....
View all posts by Eric Meyers >

Related Articles

Leave a Comment

No comments found.

View Posts by Categories


Our Recent Popular Posts


View Posts by Tags

2019 airbnb alumni Alumni Interview Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Big Data Book Launch Book-Signing bootcamp Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Industry Experts Job Jon Krohn JP Morgan Chase Kaggle lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest recommendation recommendation system regression Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Tableau TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp