Monday, February 2, 2015

AutoHotkey'ing Stamps.com

I love the Stamps.com app. While their XML import format was a little obscure, once I got it working, I was able to use it to print thousands of labels, save myself a nice chunk of change on shipping, and mail all my backers tracking links.

But now that the main pulse of Kickstarter shipping is over, I'm using it to send out individual packages on a daily basis, and getting the address information for a customer into the app meant cutting and pasting from a web-based shopping cart system (I am using the Ubercart Drupal module).

It's not a big deal, but it does get repetitive, and being an extremely lazy person, I will go to extreme lengths to avoid such activity. So over the last month I've created and tuned some automation to interface the web form with the Stamps.com app.

The solution involved using an interesting (and free) scripting application for Windows called AutoHotKey. This lets me write little programs that can be invoked by keypresses and which can interact with the UIs of other programs.

Using AHK, my workflow now looks like this:

  • Click on an invoice in my webapp (I'm using Chrome but any browser will work). Ctrl-A then Ctrl-C to copy all the text in the page.
  • Bring up either the domestic or international manual batch label entry dialog in the Stamps.com app.
  • Ctrl-Alt-V to invoke an AHK script that parses the text in the copy buffer, extracts the name, address, phone number and email address, does format corrections for some international addresses, and then pastes it all into the correct fields in the Stamps.com dialog.
  • Hit another AHK hotkey to define what I'm mailing (for example, Ctrl-Alt-P means "I'm mailing a Bubblegum Crisis Premium set"), and set the weight, mail class, and if international, default customs information.
  • Save the label.
  • When I've done all the labels, print them as a batch.

Before AHK, I was spending about 2 minutes per label. Now it's maybe 20-30 seconds. Given how long it took me to write the script, I'll break even in about 500 labels.

You can find my script here; after you've installed AHK, just drop it in your Documents folder and AHK will find it. You'll obviously have to tweak the parser and the definition hotkeys to fit your preferences, but that should be relatively straightforward.

Enjoy!

Assembly Lines vs. Piecework

When thinking about how to ship a medium-sized KickStarter project (say, 500-10k backers), most people turn to a fulfillment service.

While in specific cases there are good reasons to do so (such as helping international backers avoid duty and processing fees), when it comes to domestic backers (as well as backers in certain countries with enlightened customs regimes) you can often save a ton of money -- and even effort -- by doing it yourself.

The thing to keep in mind about most fulfillment companies -- think Amazon for example -- is that they are optimized to handle piecework. 99% of their business is "put A, B and C in a box and ship it out; then put D, E and F in a different-sized box and ship it out". This is a complicated and labor-intensive job and you pay for it -- plus you have to interface to their systems.

But most Kickstarter shipping isn't piecework -- it's an assembly line: "put A in a box, ship it out; put A in a box, ship it out; put A in a box, ship it out". And as Henry Ford so famously proved, you can save a ton of money by setting up a production line.

When I shipped my Bubblegum Crisis kickstarter, I mailed out 3000 packages in 6 days with the help of 2 people. Even though I had 3 main product variants and all sorts of sub-variants (like "double copies"), by breaking it down into batches that were all identical, the job became very simple and the number of backers who got the wrong thing could be counted on one hand.

What's more, I did it in my living room. By doing it myself instead of using fulfillment, I probably saved $2-$3 per package -- that's $5K-$10K overall. I also had complete control over how everything was packed, so my damaged-in-shipping rate was very low.

Automation was the key to all of this: I wrote an app to manage all of my backers and generate cost-efficient shipping batches, and I interfaced it all with Stamps.com so I could get commercial mailing rates and nice labels with barcodes.

A lot of work? Sure.

Worth it? Definitely.

Want to play with the app? Go here.

You can use it for free -- and then send me what you think it's worth.

PS: if you do decide that fulfillment is the best route for you (either completely, or for particular circumstances), then the Stonemaier games blog articles about the process are must reads (as are the rest of the articles!)

Friday, January 30, 2015

Random Mailing Wisdom

This blog is intended for Crowdfunding project managers, and in particular those who are handling small-to-medium projects and intend to do the management themselves.

With that in mind, I thought I'd start by listing a few things I've learned while planning and executing the shipment phase of my Bubblegum Crisis Ultimate Edition kickstarter. Obviously, minimizing shipping cost is something you want to put some thought into -- before you go live with your project.

In no particular order:

  • At a certain point, bulk mailing becomes cost effective. Keep in mind you'll have to spend $300 for a permit + software to do all the sorting (you can't do it by hand, trust me), and there's the extra time cost of prepping all the labels and making sure everything goes into sacks. Most projects don't get big enough to warrant it.
  • First-Class parcels are limited to 13 oz.
  • There is a sweet-spot for low weights where Priority Mail is cheaper than Standard Mail.
  • Check carefully to see if you can use Media Mail. There are specific restrictions and everything in the package must meet them. For example, my Blu-Ray disc qualified, but the fact that I included some bonus postcards rendered the package ineligible.
  • You can often get around weight and contents limitations and save money by shipping in two parts (in my case, the Blu-Ray by Media Mail, and the other goodies by bulk mail). The tradeoff is extra complexity.
  • If your package is going to be over 1lb, see if you can design it so it fits in a Priority Mail Flat Rate Padded Envelope (FRPE) or Small Flat Rate Box! Shipping is under $6, you get tracking and insurance, and the post office provides the packaging for free. It's cheaper than Standard Post. A standard 8x6x2 box fits inside a FRPE easily; the maximum size you can get is around 9x6x2.5 but you'll have to special-order boxes or cut down 9x6x3's.
  • If you have to use shipping boxes, consider 32ECT lightweight boxes; they will save you ounces.
  • If you need to pad what goes into your shipping box, consider using a bubble mailer (envelope) instead of regular bubblewrap. You pop your product into the mailer, and the mailer (unsealed) into the box. The extra cost is trivial and the savings in packaging prep time more than pays for it.
  • The USPS Click-N-Ship receipt for an international package states that “USPS Tracking™ is unavailable for this package”, which is technically correct but completely misleading. You can type the Customs Barcode Number into the USPS tracking form and get tracking information!
  • The Stamps.com app is more mature than the USPS Click-N-Ship one, and it's easier to integrate with. I shipped 3000 packages in 6 days using it and a team of 3 people.
  • Make a point of putting address labels on your boxes so that the “seam” of the box does not go through the address if you can; that's the point of maximum “wear”, and you don't want the address to become illegible. On the Stamps.com international labels, there's a nice gap between barcode and sender address that is a good place for the seam if you can't avoid it entirely.
  • Strongly consider getting a thermal label printer (~$160 after Stamps.com discount) if you are doing any sort of volume. The per-label cost is lower than laser labels (and no toner costs), but there is a non-obvious benefit – the labels hold up better in the mail, and are less likely to become illegible. They pay for themselves if they save you the time, hassle and expense of reshipping just a few packages, not to mention the annoyance of having to provide replacement customs information if the CN22 part of the label becomes illegible. They also make life a lot easier afterwards, when you'll be printing one-off labels; no constantly changing the paper in the printer. But don't cheap out on the labels; I had problems with inexpensive labels from an Amazon seller.
  • International shipping is a whole can of worms because of the customs charges and fees your backers may get dinged for. Some countries (AU/NZ/NO) are pain-free because of high personal exemptions. For Europe, it can often be a better deal to charge your backers a higher shipping fee, but use a EU-based fulfillment service. Canada is an interesting case, because while fees are usually due, the actual enforcement of them is very low. I'll have more to say on this in later posts.
  • If you are shipping internationally, often backers will ask you to fill out the customs forms with a lower price, to avoid duty. Don't do it, the penalities are severe.


In general, “Think outside the box before you put stuff into it” :)