{"id":85,"date":"2018-12-11T08:24:49","date_gmt":"2018-12-11T08:24:49","guid":{"rendered":"https:\/\/keith.resar.org\/blog\/?p=85"},"modified":"2018-12-11T19:23:31","modified_gmt":"2018-12-11T19:23:31","slug":"getting-a-foothold-by-dropshipping-textbooks","status":"publish","type":"post","link":"https:\/\/keith.resar.org\/blog\/getting-a-foothold-by-dropshipping-textbooks\/","title":{"rendered":"Getting a Foothold By Dropshipping Textbooks"},"content":{"rendered":"<p>Automating the marketing, sales, and logistics for a textbook drop-shipping juggernaut.<\/p>\n<p><!--more--><\/p>\n<p><span style=\"color: #999999;\"><em>I&#8217;m sharing my startup stories while building out my latest project &#8211; <a style=\"color: #999999;\" href=\"https:\/\/www.calenzen.com\/?utm_source=keith.resar.org_blog&amp;utm_medium=inline\">Calenzen<\/a> &#8211; which seamlessly reformats meetings in your calendar so you can always instantly click to dial. No special apps, calendar programs, or software is ever needed.\u00a0 <a style=\"color: #999999;\" href=\"https:\/\/www.calenzen.com\/?utm_source=keith.resar.org_blog&amp;utm_medium=inline\">Learn more about Calenzen<\/a>.<\/em><\/span><\/p>\n<p><b>The Problem <\/b><\/p>\n<p><span style=\"font-weight: 400;\">Halfway though my first year of graduate school, I finally became fed up with textbook prices. \u00a0Complaining about pricing is nothing new in this space. To make matters worse, the campus bookstore would often be sold out, something I\u2019d learn only after taking time off work to trek across town.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">With my frustration came the solution: International Student Edition (ISE) textbooks bought online and delivered to my doorstep. \u00a0Same content, easier shopping, lighter weight (softcover vs. hard), and usually half price!<\/span><\/p>\n<p><img loading=\"lazy\" class=\"aligncenter size-full wp-image-124\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/keith.resar_.org-blog-What-is-an-ISE-Textbook.jpg\" alt=\"\" width=\"3360\" height=\"500\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/keith.resar_.org-blog-What-is-an-ISE-Textbook.jpg 3360w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/keith.resar_.org-blog-What-is-an-ISE-Textbook-300x45.jpg 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/keith.resar_.org-blog-What-is-an-ISE-Textbook-768x114.jpg 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/keith.resar_.org-blog-What-is-an-ISE-Textbook-1024x152.jpg 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">This was a very fractured marketplace at the time and it was ripe for disruption. \u00a0Or more accurately &#8211; actually creating a consistent and trustworthy market. Books were available from every site that supported individual sellers at the time, like eBay, Amazon marketplace, and shopping aggregator sites like <a href=\"https:\/\/en.wikipedia.org\/wiki\/Google_Shopping\">Google\u2019s Froogle<\/a>.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Finding just the right book was doable. \u00a0When I was a customer trust was my biggest issue. \u00a0Would the book I\u2019m ordering arrive in time? Would it be the exact edition I requested (pictures were often wrong or even nonexistent)?<\/span><\/p>\n<p><b>Haven\u2019t I Already Done This Before?<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I was already familiar with the textbook space. \u00a0When I was undergrad, I created a service called Carlbooks (named after the <a href=\"https:\/\/www.carleton.edu\/\">college<\/a>) to facilitate peer-to-peer textbook sales between semesters. \u00a0Revenue came from banner advertisements and referral sales commissions from Amazon and Barnes and Noble.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">My innovation was to add the trust factor into the equation. \u00a0I ran a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Data_scraping\">screen scraper<\/a> that pulled the list of all classes and their books into a single searchable view for buyers visiting the site. \u00a0Listing your book to sell based off the ISBN number was even easier.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I built a number of screen scrapers against Amazon, Barnes and Noble, and Varsity Books. \u00a0With that data I was able to append additional information about the books, including cover photos, editions, and dates, all into the listing.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The small campus bookstore was none too happy with the competition, but within two years they had duplicated the effort for their own marketplace.<\/span><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-88 size-full\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/carlbooks_screenshot.png\" alt=\"\" width=\"2118\" height=\"1674\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/carlbooks_screenshot.png 2118w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/carlbooks_screenshot-300x237.png 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/carlbooks_screenshot-768x607.png 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/carlbooks_screenshot-1024x809.png 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/p>\n<p><b>The Solution<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I found a merchant in Malaysia who had a massive inventory of International Student Edition textbooks and was able to ship them via UPS two-day air for an excellent price. \u00a0Unfortunately, his web site just wasn\u2019t navigable to English speakers or anyone looking for a one-off purchase.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The solution can be easily split into two primary categories &#8211; front end and back end. \u00a0Implementation for both was non-trivial, but required for a scalable enterprise. On our peak sale days, before the start of Fall and Spring semesters, we would process well over a hundred transactions per day.<\/span><\/p>\n<p><b>Front End Technology Solution<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The marketplace was fragmented, so success required a consistent and frictionless experience.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I made liberal use of all the data I was able to acquire about these books from their ISBN numbers, such as official title, edition, publication date, summary, and photos. \u00a0What better way to start establishing trust with potential customers than by given them tons of information about the book they were looking at?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">All books were posted on my e-commerce site. \u00a0Of course, no one knew where or how to find my site &#8211; but in the time of new product aggregators, this wasn\u2019t a problem at all.<\/span><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-90 size-full\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/Screen-Shot-2018-10-20-at-9.56.26-PM.png\" alt=\"\" width=\"2144\" height=\"1674\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/Screen-Shot-2018-10-20-at-9.56.26-PM.png 2144w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/Screen-Shot-2018-10-20-at-9.56.26-PM-300x234.png 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/Screen-Shot-2018-10-20-at-9.56.26-PM-768x600.png 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/Screen-Shot-2018-10-20-at-9.56.26-PM-1024x800.png 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Froogle, by Google, was the best known product aggregator at the time. \u00a0As a site owner you could format a special file with your inventory for them to scan or even create a near real-time data feed. \u00a0Either way, Froogle wanted nothing more than to make the textbooks as discoverable as possible.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Comparing my site with all other sites selling textbooks, it appeared \u00a0I had different customer acquisition strategy. While others depended on direct traffic or perhaps organic traffic to their main page, my site had no brand nor expectation of repeat business. \u00a0Therefore I focussed on showing books that matched buyer intent. All relevant Google searches highlighted matching product listings and there were almost no competing links.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Given the high buyer intent for all inbound clicks, our conversion rate was an astounding 65%. \u00a0It was predictable enough to fund even the low-cost PPC ads during the 2005 time frame when this site was active. \u00a0Given the prominent placement from Froogle, there was no need to even consider that.<\/span><\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-91 size-full\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/froogle_screenshot.png\" alt=\"\" width=\"2132\" height=\"1422\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/froogle_screenshot.png 2132w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/froogle_screenshot-300x200.png 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/froogle_screenshot-768x512.png 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/10\/froogle_screenshot-1024x683.png 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Froogle eventually disappeared as a separate entity and current Google mechanisms for product data feeds aren\u2019t as accessible as they once were. \u00a0Thankfully these changes occurred long after this venture wrapped up.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I tried other outlets as well, including a few listings of the more popular titles on eBay. \u00a0Sales followed the long tail model more than anything, which made it difficult to achieve critical sales thresholds on a listing site like eBay. \u00a0In the end these markets were too soft and didn\u2019t have the volume needed to support the automated processes I built in the backend.<\/span><\/p>\n<p><b>Back End Technology Solution<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The heart of the whole operation was the backend automation, without which the effort just couldn\u2019t have scaled. \u00a0This was a cyclic business with traffic at the start of the Fall and Spring semesters accounting for 80% of all yearly sales &#8211; all in just a one or two week period. \u00a0During these biannual sales spikes, I easily managed product ordering, tracking, customer communication, and payment collection through completely automated systems.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As this was before the advent of more accessible SaaS offerings designed to be easily wired together, all this activity was built and maintained in-house. \u00a0From start to finish, here were the major steps in the automated workflow.<\/span><\/p>\n<p><span style=\"text-decoration: underline;\"><span style=\"font-weight: 400;\">1 &#8211; Inventory management<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400;\">My distributor partner maintained a web site with cryptic and ill-defined product listings. \u00a0I regularly pulled a current inventory listing from an XML source he maintained and used that to update the inventory products and quantities in my system of record.<\/span><\/p>\n<p><span style=\"text-decoration: underline;\"><span style=\"font-weight: 400;\">2 &#8211; Data cleansing and appending<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400;\">The only trustworthy data from that inventory feed were the product keys, which in the case of books are ISBN numbers. \u00a0Given these numbers I was able to extract pictures, titles, descriptions, and pricing information from Amazon and a few other large e-commerce sites.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I had a few algorithms in place for automated pricing that factored in:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Cost of new and used hardcover (non-International Student Editions) books from Amazon and a few other major e-commerce sites<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">My cost to purchase the book, ship it, and cover payment card transaction fees<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">A minimum 30% margin<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Listing price at least $40 (and often much more) below the lowest offered elsewhere<\/span><\/li>\n<\/ul>\n<p><span style=\"text-decoration: underline;\"><span style=\"font-weight: 400;\">3 &#8211; Sharing product data feed<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400;\">I generated my own product data feed, with more verbose output, for consumption by Froogle. \u00a0Google prioritized then, just as it does now, wordier content with rich details. In the early days of product aggregators there was no pay for placement, therefore these listings were easily highlighted based on merit alone.<\/span><\/p>\n<p><span style=\"text-decoration: underline;\"><span style=\"font-weight: 400;\">4 &#8211; Order placement<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400;\">The goal was zero friction to place an order, therefore I broke with the entire concept of \u201ccreate an account to make a new order\u201d that was all too prevalent at the time. \u00a0After all, what are the chances that someone would organically re-discover this same site during a subsequent textbook purchase?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">When the order was placed I\u2019d issue an auth against the buyer\u2019s credit card. \u00a0I never charged prior to shipping the book which decreased risk from chargebacks should there be any shipping delays. \u00a0This also helped reduce payment card fees should the order fail to ship for any reason.<\/span><\/p>\n<p><span style=\"text-decoration: underline;\"><span style=\"font-weight: 400;\">5 &#8211; Distributor order placement<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400;\">New customer orders needed to be placed with my upstream distributor for direct shipping. \u00a0This phase was one of the most complicated and aside from my front-end discovery solution, was most of the value I offered in the transaction.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The distributor\u2019s ordering web site was a maze of inconsistent web pages, likely meant for navigation exclusively by an oracle. \u00a0With sufficient screen scraping, I was able to complete the shopping card process for each order where I would select the product and submit the shipping details.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Payment was required at this time and could only be submitted via PayPal. \u00a0A host of additional automation was required to complete this off-site portion of the transaction.<\/span><\/p>\n<p><span style=\"text-decoration: underline;\"><span style=\"font-weight: 400;\">6 &#8211; Distributor shipping<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400;\">Shipping times varied, ranging from hours to, on a few occasions, weeks. \u00a0Excusing the extremes, a typical order would ship within two days. My tooling regularly polled the status of all orders to determine when they actually shipped. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Upon order shipment two things happened. \u00a0First, I\u2019d send a delivery confirmation and tracking email directly to the customer. \u00a0After that, I\u2019d capture the customer\u2019s payment. The payment side is where this entire enterprise became tricky during the peak seasons.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The money flow worked something like this:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">New order &#8211; customer card auth. \u00a0This is just a reservation for payment and more than anything else, it makes sure the customer card has sufficient credit for the charge.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">New distributor order &#8211; via PayPal instant transfer. \u00a0However, I\u2019d need to refill the funds in my PayPal account in advance which required at least a three business day bank transfer.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Order shipment &#8211; capture customer payment. \u00a0Customer payments would settle from their bank to my merchant account and be available for withdrawal after seven days.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The delays transferring money into the PayPal account, delays from shipping product, and finally the delays settling customer payment back into my account were incredibly challenging. \u00a0During peak periods, I would regularly cover close $40k to $50k \u201cstuck in the ether\u201d while everything was in motion.<\/span><\/p>\n<p><span style=\"text-decoration: underline;\"><span style=\"font-weight: 400;\">7 &#8211; Customer delivery<\/span><\/span><\/p>\n<p><span style=\"font-weight: 400;\">All orders were shipped via air and trackable so I knew as soon as delivery was successfully completed. \u00a0If the delivery address was wrong or the package couldn\u2019t be delivered, then this whole automated system would fall apart.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In those scenarios, I\u2019d typically have the problem package redirected back to my office where it would sit in local inventory and become a near-guaranteed loss. \u00a0As much as I loved all the back-end automation, there was no good way to insert an exception and ship out one of the few returns that were sitting around. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">My loss on one of these sales gone wrong was too high. Paying for product from the distributor, shipping, and transaction fees for both the sale and the refund made me uncomfortable when there were so many sales in flight.<\/span><\/p>\n<p><b>The Last Days<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Our collaboration lasted over two years and only wound down as his inventory began to dry up. \u00a0Unfortunately, I learned of inventory unavailability only when the distributor cancelled open orders that couldn\u2019t be fulfilled. \u00a0The money tied up on non-processable orders as well as the justifiably upset customers left me wanting to continue in the e-commerce space but to reduce the two areas I just couldn\u2019t control with this partnership: high cost of goods sold and low control over executing on customer orders.<\/span><\/p>\n<p><b>Lessons Learned<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The first lesson is that automating everything is the only way to scale, although that may have been a self-fulfilling requirement given my background in tech rather than anything in the retail space.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Too much of the overall success was being in the right place at the right time and executing on the opportunity. \u00a0Starting several years earlier would have meant failure due to customer acquisition costs &#8211; shopping aggregators like Froogle leveled the playing field. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Starting several years later would have also been fatal as the aggregators gave way to pay-to-play solutions. \u00a0The marketplace became divided again, but this time between highly fractured services like eBay that allow strong seller control and focussed marketplaces like Amazon that limited seller flexibility.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Looking to improve prior to the next effort, there were those two things outside my control that I wanted to address. \u00a0First, the cost of goods sold was too high. With average margins hovering at 30%, failure during a single sale could take three or four successful sales just to break even. \u00a0With lower cost products, my ability to replace mis-delivered items or eat the loss from a customer complaint improved my options for increased customer satisfaction.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The second item to improve upon is gaining better control over all logistics surrounding the sales process. \u00a0True, the automation gave better visibility to the process and allowed everyone to react to changes more quickly. \u00a0The problem is that I was doing just that &#8211; reacting. With more distribution control, I could be confident of inventory counts, be able to stock up in advance of peak periods, and staff up as needed to deliver all queued orders.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As my textbook sales wound down, my next effort improved on both these goals.<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automating the marketing, sales, and logistics for a textbook drop-shipping juggernaut.<\/p>\n","protected":false},"author":1,"featured_media":87,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/posts\/85"}],"collection":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/comments?post=85"}],"version-history":[{"count":23,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/posts\/85\/revisions"}],"predecessor-version":[{"id":161,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/posts\/85\/revisions\/161"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/media\/87"}],"wp:attachment":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/media?parent=85"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/categories?post=85"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/tags?post=85"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}