Hey-o! This is a really old post and no longer reflects what I do. I ended up going back to software development in October of that year. It was a nice break, but unfortunately, 2016 was also the year gig economy jobs as a whole kind of took a dump. This is here for posterity, though, to avoid broken links. Be sure to read the update
Yes, this is basically what I do, minus the mess.
Last night, I hit deliverly number 9 with Shipt. One more, and I open up the ability to shop multiple orders at once (this is huge, because it increases the per-hour rate that I can make). Woot!
I also made $100 last week. Not bad for half a dozen deliveries over three days, and the first week of a newly-launched platform.
It’s a lot more fun than I expected. I think it’s in large part due to the fact that I am once again on the front lines of helping people. It’s something I’ve come to realize that I missed. It actually outweighs the frustration I used to feel at going grocery shopping, especially during “rush” time (which is something I’ve also noticed a marked decrease since going on hiatus from programming work).
You see, there are two prime demographics for Shipt: busy moms, and the disabled. You’d be amazed at how quickly the older folks have jumped on this opportunity, since it’s primarily on an app or website. Out of the 7 unique customers I’ve had so far, 4 were disabled older people who were otherwise mostly or completely incapable of going grocery shopping. To see their faces light up when I arrive with their groceries is spectacular, because you just know it has made their lives better in untold ways.
The customer side is pretty straightforward – the customer peruses the online “store,” selects the items they want to order and in what quantities, and selects the delivery window that’s available for them. They submit their order and wait, when it’s delivered, they pay for the delivery in the app, where they also have the option to tip the delivery person (or they can tip them in cash or even in non-cash items; I know one shopper who got tipped in bacon!).
But how does it work on the shopper side? And how does the system ensure someone’s available to fulfill an order?
It’s pretty ingenious, really. Shoppers have to do two things to make themselves available to the system – they have to set their service area(s) and they have to set what delivery windows they’re available to run.
The metro area is divided into “zones,” or service areas the shopper can commit to serving. These zones run roughly along the suburb/district lines. So, for example, Gahanna, New Albany, and Hilliard are each their own zones. Some of the suburbs are combined into one zone, though. Blacklick, Whitehall, and Reynoldsburg are combined into one zone. How they came up with them, I’m not totally sure, except maybe through average order size data combined with geographical size of the service area and location of the store that will serve the area. As far as I can tell, though, it’s been working out pretty well.
Shoppers then set their default zones. They can select one or more, and it’s encouraged to set up to three, which gives a good range for most cities (especially here in Columbus). Mine, therefore, are Gahanna, New Albany, and Blacklick/Whitehall/Reynoldsburg zones, since they’re all easily accessible from my home. I know a couple of people who have Worthington, New Albany, and Gahanna, so there’s some good overlap of coverage, ensuring availability in most areas.
Then, there’s the time aspect. As I mentioned in my previous post, shoppers are in full control over their hours. This is done by setting up the time availability in the schedule. It’s encouraged to set times at least 24 hours in advance, so that people can order the day before if they choose. Shoppers setting their schedule up is the key to open delivery windows for the customers; they only get a given window option if shoppers have put themselves into the schedule for that zone and that time (I believe it has to be at least two shoppers for a given window in order to be available).
The time is for the delivery window, though, which is an important distinction. Shoppers need to remember to build time in for the actual shopping when considering their availability. I, for example, am available from 1pm to about 4pm on weekdays (while my son’s in school), so I set my availability to the 2-3 and 3-4 windows, so I can be shopping during the 1 o’clock hour.
Then, the shopper app (which is different from the customer app) alerts the available shopper that there’s an order waiting to be claimed. The system prevents “fights” between shoppers by only offering an order to one shopper at a time (based in part on rank) for a 60-second window per shopper. If the shopper does not claim the order, it moves on to the next available shopper.
In some cases, none of the scheduled shoppers take the order in time for one reason or another. It’s then opened up to anyone in the city that’s scheduled for that time block. These are known as “metro available orders.” The metro orders are kind of like a “free for all” bucket. Anyone can grab them. This is step two in preventing orders from going unfulfilled. I’ve done this twice, now. My very first order was a metro one, in fact. I picked another one up earlier this afternoon.
And what happens if an order still goes unclaimed? Then it gets a bounty if it’s close to the order’s delivery window. The bounty goes up the closer to or farther past the start of the delivery window the order gets (the bounty is useful for making up for the fact that the customer is not likely to add a tip to the order, since it’s not the bounty-hunter’s fault that it’s late). The order is also forgiven for being delivered late, so the shopper does not get the late order marked against them.
Well, aside from the fact that late deliveries mean no tips and a customer that’s less likely to return (fewer repeat orders = less money), it also affects the shopper’s system rating. Orders are offered to shoppers in an automated order based on their experience (the number of shops they’ve done), their rating (the average rating from customer feedback), and the percentage of deliveries that are on time.
In short, if you do a poor job, you get fewer orders offered to you. Fewer orders equals less money.
For one, it plays off the fact that a lot of people who take this kind of job don’t like seeing open orders, because open orders mean incomplete work and potentially unhappy customers. :D
Aside from that, putting oneself in the schedule and not accepting offered orders when you have no other orders affects your system rating, and if it is too chronic, you will be taken off the schedule. Also, a happy customer means they’re more likely to tip better, and that better tip may be higher than the bounty.
Shipt, as a company, puts a small markup on the products it sells, just like any reseller. I’m not privvy to the details on the markup, but the company says it averages out to about an additional $5 on a $35 order. For the stores that have a loyalty card that affects price (such as Kroger), they base their prices on the loyalty card price and shoppers use a loyalty card at checkout (yes, that means extra fuel points for shoppers).
Shoppers get paid an amount based off the order size. Right now, it’s $5 + 7.5% of the order total + tips. According to my stats in the app, and including the cash tips (which the app stats doesn’t know about), that has averaged out for me around $16-18 per order.
You’re right, that’s not a lot per order, especially when you factor taxes in (it’s a 1099 contract, so you’re in charge of your own taxes), which brings your “take home” pay down to 70% of that, or about $12 per order. Orders generally take about 1-2 hours for total completion, so that’s about $8-9 per hour. Better than minimum wage (for now), but still not great. It certainly isn’t a developer’s salary, that’s for sure.
However, once you’ve done 10 orders, the system allows you to book multiple orders per delivery window. So, you shop more than one order at once, which makes your efficiency skyrocket, effectively giving you a raise that’s unheard of in the corporate world. Taking a second order can net you half again as much or even double (they recommend combining small orders or a big and a small order, two big orders can be a bit too unweildy unless you’re really experienced). It’s a bit crazy, logistically, but there are experienced shoppers who routinely do four orders at once. Assuming they get the same $18 per order payout, that becomes $72 per shopping trip, or $36 per hour for a two-hour outing. Now that’s a pretty good rate for what this is (if you assume an average of 20 billable hours a week, which is rather conservative in the busy areas, that works out to a little over $37k a year, not shabby for a part time gig).
It’s a 1099 contract, so yeah. However, you can write so much off, it’s not even funny. Your mileage, anything you buy to support it (like market carts, foldable wagons, or any kind of marketing materials), it can all be written off on your taxes as business expenses. I highly recommend learning about how business expense type stuff work and consider getting an accountant to help you out, and whether or you get an accountant or not, be sure to sign up on something like Expensify to keep track of your expenses, so you don’t have to hoard paper receipts all year.
I could actually keep talking about it and how it works for the next couple of hours, but there’s quite a bit here as it is. It’s a ton of fun, and if you’re looking for a side-gig with flexible hours, it’s definitely worth looking into.
Oh, and if you’d like to be a customer, click here to sign up through the website or sign up in the app and enter promo code “SHAUNAGORDON” to get $10 in free groceries. How cool is that?
(If you’re not currently in a Shipt service area, don’t fret! They’re looking to add 100 new cities this year, so it’s worth stopping back to see if they’ve launched in your city, or sending them an email to see if they have an ETA. You can also sign up to be alerted when Shipt will be launching in your city.)