Web scraping on Rent the RunWay's Dresses

Avatar
Posted on Aug 22, 2016

Introduction

Fashion industry underwent digital revolution rapidly. Majority of the retailers are choosing to start up the business through virtual online store, integrating diversified payment methods , efficient delivery logistics and easy return policies.  Rent the Runway is a very successful example of that. Rent the Runway is an online service that provides designer dresses and accessories, laughed at Nov. 2009 , becoming more and more popular among the customers. Until February 2014, Rent the Runway has over 4 million members, 250 employees, and over 200 designer partners. The business model of Rent the Runway is quite straightforward : there are two time duration options(4 days and 8 days) for customers to rent the stuffy from their website; each dress rental includes a back-up size at no additional cost to ensure fit; customers can get a second dress style with their order for an additional cost;  it also provides customers with a pre-paid, pre-addressed package to return the dress, and offers insurance fee to protect against accidents; rental prices is a fraction of retail price, include the dry cleaning and care of the garments.

This report is going to analysis the performance of dresses from Rent the Runway online website  to get useful insights. Plus, the article will use statistical skills to analysis the dresses's rental price and try to use a model to predict the prices for different rental time period.

Methodology

Scraping Information

This report is mainly using "Scrapy" tool to get the information of dresses, embedded with  "Selenium" tool to deal with dynamic problems during the scraping process, at the mean time to visualise how the information is scraped down . Each dress information is saved as a dictionary in "Mongoldb" database, named "testrunway" in the local machine. The raw code of construct the project by using "Scrapy" could be found here. The core file of the scraping project is called "spider", where the code is telling you how to scrap the information of the dresses on the website of Rent the Runway. Click here for the raw code of spiders.

Clean & Pre-process Data

The article is using the package of "rmongodb" in RStudio to export the data from "testrunway" database to R and then reorganised the data into a data frame for further exploratory data analysis.

 

Data Description

There are 2072 dresses with 13 different attributes after pre-process the data.

4 Categorical variables:

  • item :   Dresses Name
  • brand:   Designer Name
  • type :   Defined by cut/construction
  • img_url:  the link to the image of the dress

9 Numerical variables:

  • reviews:  Number of Reviews from customers
  • avgrating(0-10): Average Rating of the dress from 0 to 10 score( 0 is the worst , 10 is the best)
  • fit_large, true_to_size, fit_small : Number of customers voted for fitness
  • retailPrice: Retail price of the dress
  • rentalPrice_4: Rental price of the dress for 4 days duration
  • rentalPrice_8: Rental price of the dress for 8 days duration
  • discount(%): Percentage of decreasing of the dress's retail price for renting on retail price

Exploratory Data Analysis

brandshare

There are 197 different brands among the 2072  dresses, which are available for renting from Runt the Runway's  online store.The top 15 brands by share are listed in the right pie chart, where "Badgley Mischaka " account for the biggest amount of share around 5%. Moreover, "Badgley Mischaka" is a brand focusing on the luxury party dresses. However, there is no brand dominate the share or over shadow other brands. In other words, Rent the Runway corporate with hundreds of designers without preferences on specific brands.

typeshare

There are 9 types of dresses available for customer to choose from. Regular-dress takes over half of the percentage, followed by gown, sheath, shift,maxidress,shirt dress wrapdress and frock dress( which is other in the left pie chart)

 

 

 

 

 

The dresses' retail prices are vary from $65 to $7345 and most of the prices are in the range of $0 to $500.  The dresses' rental prices of 4 days are vary from $30 to $800  and majority of the rental prices are in the range of  $50 to $100. The rental prices of 8 days are vary from $48 to $1280. Half of the dresses' rental prices are below $70 of 4 days duration and below  $112 of 8 days duration.

hist1
The discount rate is vary from 46.15% to 99.00%  and the decreasing rate is around 85% on average. Most of the discount rate is about 80% to 85%. The averaging rating of the dresses is about 8 , vary from 0 to 10. Most of the dresses are in the range of 7 to 9 score of rating. 

hist2

Half of the dresses have less than 40 reviews and each dress has 88 reviews on average. The Fifth Avenue Showstopper Dress has the largest number of reviews(3248), followed by Award Winner Gown( 2228) . Both of them are from the brand Badgley Mischka.

top20populardress

The top 20 popular brands measured by the number of reviews is in the bar chart below. Badgley Mischka is ranking at the first and the number of reviews, overshadow the other brands.

top20popularbrands

From the above analysis, we will find that the brand Badgley Mischka plays a crucial role among the dresses.

It is very interesting to see such relationship( see graph below) between rental price of 8 days and rental price of 4 days. The rental price of 8 days is the rental price of 4 days increases by 60% .

rental_8_vs_rental_4

Due to such relationship, if the rental price of 4 days is predicted , it is easy to get  the rental price of 8 days increasing by 60% of rental price of 4 days.

rental_4_vs_retail The above graph shows the relationship between rental price of 4 days and retail price of that dress. From the scatter plot, the rental price of 4 days is positive correlated to retail price of the dress.

Predicting Modelling

Linear Regression Model

For the following paragraphs, the article is going to build a linear regression model to predict the rental price of the dress on 4 days duration.

The response variable is the rentalPrice_4, predictive variables are retailPrice, brand , type. The reason of choosing these variables to do the model is that the rental price of the dress is not correlated to the reviews. The dress rental price may corrected to the dress itself, such as retail price , the brand prestige, type of the dress.

Variable Selection for the Linear Model

The model with all the predictive variable : retailPrice, brand , type, show in the table below as model 1. The variance of rental price of 4 days of each dress could be explain by the three predictive variables around 85%, which is a very good predicting performance. However, the degree freedom of the Model 1 is really too high as maybe the Model is overfitting. So the report is conducting the other three model shown as Model 2, Model 3, Model 4 in the table below. Compared to each model by AIC , we will choose Model 1 as AIC focus on the accuracy of predicting. While the better decision should be Model 2 , removing the variable "brand", based on the value of BIC. The principle of BIC is that the more simple the model is, the less the value of BIC will come out. Thus, considering of the model simplistic, I choose Model 2 to predict the rental price of the dresses on 4 days duration.

variable_select

Model Equation Explanation

The Model2 linear regression equation is

rentalPrice_4= 19.19418 + 0.10829* retailPrice + 11.89650 *gown + 11.15222 * maxidress+ 11.15222*regulardress+(-11.01769)*sheath +(-4.54707)*shift +(-13.07648) *shirtdress + 20.88506*slipdress+4.59122 * wrapdress

The explanation of each coefficient of the equation is list below:

  • When all variables are 0 and the price on the frock type, the average expected rental price of 4 days is about $19.19; As the retail Price for address increases by one point, the rental price increases on average by about 11 penny WHILE HOLDING ALL OTHER VARIABLES CONSTANT.
  • A gown dress has an average rental price that is about $12 more expensive than a frock dress WHILE HOLDING ALL OTHER VARIABLES CONSTANT.
  • A maxi dress has an average rental price that is about $11 more expensive than frock dress, WHILE HOLDING ALL OTHER VARIABLES CONSTANT
  • A regular dress has an $11 more expensive than frock type dress, WHILE HOLDING ALL OTHER VARIABLES CONSTANT
  • A sheath dress has an $11 cheaper than frock type dress , WHILE HOLDING ALL OTHER VARIABLES CONSTANT
  • A shift dress has an $5 cheaper than frock type dress, WHILE HOLDING ALL OTHER VARIABLES CONSTANT
  • A shirt dress has an $13 more expensive than frock type dress, WHILE HOLDING ALL OTHER VARIABLES CONSTANT
  • A slip dress has an $20 more expensive than frock type dress, WHILE HOLDING ALL OTHER VARIABLES CONSTANT
  • A wrap dress has an $5 more expensive than frock type dress, WHILE HOLDING ALL OTHER VARIABLES CONSTANT

Accuracy and Validation

model

 

 

The Model is built by use the training data set which is account for 70% of the origin data set. The remaining 30% data is called test data set which is used to validate the model and to check how accurate the model is to predict the dresses' rental rental price of 4 days duration. After calculating the MSE (Mean Square Error) which is 1374.112 ,  our model is still exist a problem of such big predicting error.

Limitations

The accuracy of the predicting results is not that good because the model has some server violation on the assumption of the linear regression model. In other words, the data of the dresses are not good to fit the linear model by checking the assumptions of the model. The error is not identical and independent distributed, which violate the assumption of constant variance of linear regression model. Additionally, the normality is also violated as  shown in the  Q-Q plot, a lot of the observations are not following the line.

Assumption_1 Assumption_2

Conclusion and Recommendation 

Key findings

  • The brand of Badgley Mischka is playing a crucial role among the dresses as it has the highest share among the all the brand, ranked at the first in the number of reviews , the most popular two dresses are from this brand.
  • There exists positive correlation between rentalPrice _4 and retail price of dress, but linear regression model is not that appropriate for predicting the rental price of 4 days
  • Rental price of 8 days duration is increased by 60% of rental Price of 4 days

Recommendation :

  • In the future, we could use other predictive modelling approaches (regression decision tree) to predict the rental price of the dresses and check the model accuracy and assumptions.
  • Could conduct sentimental analysis on the review details and could build a recommendation system based on each reviewers’ information.

 

Welcome to review the raw data of all the analysis and data cleaning: click here 

About Author

Avatar

Yunrou Gong

Yunrou Gong worked as a Business Analyst for Sanity Lighting Co., a LED Manufacturer. Through her work as an analyst, she accumulated her interest in data-driven approach of problem solving. She holds a M.S. in Operational Research, specializing...
View all posts by Yunrou Gong >

Related Articles

Leave a Comment

Avatar
retractable baby gate extra wide February 8, 2017
14. Install a Babү gate Utilizing Sturⅾy Cable Ties Instead oof Catching into the Drywalls.

View Posts by Categories


Our Recent Popular Posts


View Posts by Tags

2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni 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 science jobs Data Science Reviews 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 Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp 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 Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp