How To Get A Job At Any Early Stage Startup If You’re Not Technical

Startup folk are often approached by non-startup folk with the question: “How can I get a job in startups?”

I have an answer. If you’re reading this, it’s probably the answer you don’t want to hear.

The “trick” to getting a job at any startup is to *actually* provide measurable, attributable value.

Most early stage startups are:

  1. Cash strapped
  2. Open to creative arrangements that further their goals

If you (without a track record) approach a startup and say “I need you to pay me $X then I’ll work for you,” they’ll probably shut you down fast.

If you say “Hey founder, give me 2 weeks, I’ll work for free or food. If at the end of the 2 weeks I can generate $VALUE of value for you, would you be able to consider hiring me for $LESS_THAN_THE_VALUE_I_CREATE_FOR_YOU?” a lot of founders will bite (hint: you probably don’t want to work for the ones that aren’t interested in this).

*  *  *

Someone Has To Take The Risk

Hiring a new person is a risk for a startup. Working for a new startup is a risk for the employee.

When big companies offer you a salary after just a few interviews, they’re taking a big risk on you. If you suck, they wasted their time and money. You can just ride it out or find another job. Startups can’t afford that risk.

On the other hand, if you were to work for value created, you might make nothing. That’s a big risk for you.

For you to work with a startup, *someone* has to bridge the risk gap. It’s not that the startup you want to work with isn’t interested, it’s that they have 500 other things they’re juggling and you aren’t even on the priority list.

But you can change that by derisking it for the startup. If you were going to spend 2 weeks sending out resumes and hunting for jobs, don’t. Identify 3 startups you would want to work for, and approach the founder with the value creation offer.

*  *  *

Honestly decide if you’re a fit for the startup

There are 3 basic situations:

  1. If you’re confident you can generate more value than you earn and you’re prepared to prove it, you’ll get your job.
  2. If you aren’t sure, make it risk free for the startup you want to work for to test your theory.
  3. If you can’t generate more than you cost, you’re not a candidate to be hired by that startup.

It’s ok not to have the skillset to be a value add to a startup today. Those skills are learnable. You’re just not a fit to be hired by one of those startups — YET.

Then you should invest in yourself and learn the skills it would take to be valuable for the kind of startup you want to work for, whether thats by working for free for the startup, working for yourself, or working for a big company (to learn on someone else’s dime).

As obvious as it sounds, the deal just has to be economically sensible for the other party and they’ll jump at the chance.

Make it EASY for startups to see that you’re ADDING rather than TAKING value and founders will jump. If you’re not adding value, or its not easy to see that you’re adding value, you need to work on yourself or lower your price.

My Secret Startup Weapon Is Actually Caring

I write software.

Pretty darn good software.

In fact, I’ll say the online product I offer is the best of breed in its category, by a mile. There are a lot of companies/startups that do what I do, sometimes with a little more of this or a different twist on that. However, in the area where I deliver, my product smokes the competition.

This isn’t because I’m the smartest. Or the best. Or the most talented. It’s mostly because I *actually* try.

My current belief is that the bar for excellence is to just care. In a climate where “Give zero fucks” is apparently the cool thing to do, I’ve found that “care even a little bit” or “have pride in your craft” are sadly lacking characteristics in many people.

Teller, from the Penn & Teller magician duo, says, “Sometimes magic is just someone spending more time on something than anyone else might reasonably expect.

And that’s my secret weapon. I care. And I try.

Entrepreneurship Is Easy. It’s Just A Learned Skill.

Entrepreneurship is hot. People respect entrepreneurs. They think it’s hard. “I really admire you. I couldn’t do that.”

I’ve come to realize that entrepreneurship is actually not that hard at all — it just takes time to learn how to do it well. Like any skill, entrepreneurship takes time, experience, and practice.

I read a post by a successful entrepreneur who wrote something like, “you should expect to lose money for the first 5 years”.

The problem is that most people also need to pay bills and aren’t independently wealthy, so they cant afford to go through the “education” process, which usually requires a lot of failure and no pay.  A job solves the bills problem, but makes the entrepreneurship education stop.

College takes 4 years. Nobody expects a first year medical student to be competent doctor.

You can’t expect developers to be competent within 12 months of their first line of code.

Operating a business is the same, but expectations for entrepreneurs are wildly distorted.

The tech press makes us think that tech entrepreneurship is a “6 months to millions” path. We’re smart.  We *want* to believe there’s an easy path. We should be able to start a company and succeed the first time, within 6 months. This is insanity. Most of the overnight successes in Techcrunch are just the big press conference at the end of 5+ years of toil, doubt, despair, and eating beans out of a can.

There’s a great video by the founder of Weebly where he outlines all the failure he ran into. I can’t imagine how many would be successful entrepreneurs just stopped before the money graph turned up.

Which Problems To Solve First In Real Estate Tech

In response to a previous post I wrote about why real estate is an attractive industry for tech founders, Phil Lang of Suitey responded with why real estate tech is actually not that great a choice (HN comments).

This is the response I wrote, which was too long for HN.

Generally:

Clumping “real estate” as a class of problems or companies is crazy. It’s like saying “science is easy” or “science is hard”. There are a lot of problems and solutions, small and large, that are easy or difficult, lucrative or not.

Real estate broadly has a lot of areas: residential sales, residential rentals, commercial sales, commercial rentals — which you can break down into single family, multifamily, privately owned and managed, part of a huge portfolio — then further provide solutions to the buyer/renter, seller/lessor, or any of the intermediary agents like brokers, service providers like bankers, advertisers, etc.

There’s a lot going on and of course its crazy to say that it’s all easy or all hard. My point is mostly that there are many (not all) shockingly easy, lucrative problems to solve compared to the companies that capture the lion’s share of the attention in tech circles (and probably venture financing from Sand Hill Road).

 

Specifically:

1. We have *HARDER/EASIER* problems to solve

My note was about tech problems being trivial. They’re essentially solved tech problems with no bleeding edge development required. I don’t think you or rubyn00bie disagree with this.

You had several comments in this section, which I’ll respond to in turn.

A. “real estate is people centric” : I mostly agree, with the obvious disclaimer that “real estate” is a lot of things and some of them aren’t people centric. For example, the best listing site on the planet doesn’t need a lot of human interaction. Apartmentlist.com and craigslist.com don’t do better with a charismatic salesperson. The people centric components won’t (or can’t) be solved by technology solutions. Not only is solving people problems with tech “hard”, it might be impossible. I advocate finding the problems you CAN solve and shooting for them.

B. “Making any change to the industry requires working within a very entrenched, highly regulated system that is set up to keep tech out of the industry” : Some components are highly regulated and some aren’t. It’s really easy to create a rental application site that can be used without dealing with much regulation. Others that require little maneuvering of regulatory hurdles:

  • Tenant/landlord communication portals for maintenance requests
  • Autogenerating tax documents for landlords (this is a bad idea for other reasons, but not regulatory)
  • Even online rent payments isn’t that hard — regulatory issues are with handling money, not real estate, and it’s been done, is a solved problem, though admittedly a pain in the ass.
  • Internal tools for managing the pipeline/status of existing deals for commercial and residential sales and rentals. For example, Rentjuice (now zillow) helped leasing agents manage leads. No regulatory issues.
  • Listing/search sites – There are some instances where having a license is helpful here and some instances where there are constraints on the usage rights for data, but again, its possible to create these sites without regulatory hassle. This is my least favorite class of real estate tech startups to pursue though, but the difficulties here are not regulatory.

Of course, there are many problems in this space that DO suffer from regulatory issues. Pursuing those doesn’t fit my startup goals. I think there’s plenty of prize outside of that set though, so my advice is to skip those unless you already have an unfair advantage in that space. Once
you DO crack it though, it becomes a barrier for competitors against you.

I don’t believe your comment that a “regulated system is set up to keep tech out of the industry” is at all accurate. While it’s true that there are entrenched financial interests who want to protect their pie, its not about keeping tech out, and it’s certainly not “set up to keep tech out”.

Almost everyone in real estate, and especially the governing bodies and associations think tech is both valuable AND the future. There’s just no consensus on what the tech solutions look like, who is going to execute it. Partnering with the right insiders here would dramatically increase the odds of success and I assure you that they won’t be fighting to keep it out.

Pay them and they’ll invite you into the club. Real estate is about dollars. Period.

2. The bar for excellence is *LOW/HIGH*

Your comment does not explain why the bar for excellence is high. I claim the bar for excellence is low because competing solutions are crap. The average person who has been hanging out in the tech/startup circles has a much more developed, opinionated sense of product. The startup crowd creates better product than people outside that circle (*huge generalization, but I’ll stand by it*).

Beating the software incumbents is easy. Beating faxes, scribbled pen and paper solutions, and manila folders & filing cabinets in a property managers office is taking candy from a baby.

Hence, the bar for excellence in product is low.

Your other objection centers around usability for a subset of prospective users.

“The median age of a broker in the US is 57. They are on the brink of social security checks and medicare. Creating an app or service that a 57 year-old will easily be able to use is a challenging task”

My advice to aspiring real estate founders – Don’t make product for that person.  You can not make the perfect product for EVERY person. You are a resource constrained small organization that has to play smart. Make SOME people ecstatic instead of trying to make EVERYONE “kind of happy”.

The problem you described is that some people aren’t familiar with tech, period. The sales job of tech to non-tech people is hard. Support of tech to non-tech people is expensive. With every passing year it gets easier (luddites retire, new tech generation buys more real estate, tech penetration in business in general expands). So if you’re adamant about serving EVERYONE, apply this strategy:

First, solve the problem for people who already get tech. It requires less work and less teaching customers. After they are comfortably paying your bills, then tackle the median 57 year old broker. By then, a median broker will have had a few more years of being forced to use technology in other areas of life anyways so your job will be easier.

There are more tech-savvy people that are NOT your customer today than you can possibly reach.  Getting hung up because a solution can’t serve everyone today is bikeshedding.

I know that sounds dismissive, and I don’t want to trivialize this problem, as it *is* particularly pronounced in real estate. [Please excuse ageist commentary ahead].

In general:

  1. Real estate is expensive.
  2. Buying real estate requires wealth
  3. Accruing wealth takes time
  4. Accumulated wealth increases with age
  5. Technology adoption is inversely correlated with age [link so I can possibly weasel out of the ageism critique]

tldr: old people don’t use iphones and old people have all the real estate.

I had a customer for my online rental application company that called me (back when I was doing phone support), furious that my website wasn’t working when she typed in the URL. After about 5 minutes on the phone I realized she was typing a URL into the “to” field in her Microsoft Outlook instance. I had to explain to her that she needed to open a web browser. This happens. A lot.

Obviously, that makes it a bit tricky. Since there are plenty of tech-enabled candidates that aren’t using tech in real estate than we can reach: cater to the people who WANT your product, you’ll save yourself the headache of explaining how computers work.

It’s important for founders to evaluate why they are founders. Your job is to create a profitable business. “Great product for everyone” sounds positive, but it comes at an astronomical cost (whatever it costs to do something impossible). It’s far more effective to acknowledge that you can NOT do so, and treat your product as a curated set of features for a subset of the total population. Again, create a few raving fans instead of many disappointed critics.

3. “The market is becoming saturated with an alphabet soup of tech products” vs “The market is huge and terribly underserved by tech”

I had written that the market is underserved by tech. Basically I’m saying that people aren’t USING tech yet. You’re saying that there’s a ton of crap options out there. I don’t think these are mutually exclusive.

I also don’t really think there are THAT many outside of the rental search space compared to say, the number of social apps, bar recommendations, bill splitters, and especially when you compare the number of products relative to the economic size of the prize. Yes, there are a handful (I published a list of 100 or so apps in the space about a year ago), but most of them are (a) crap, (b) just shells of websites that nobody uses.

Less apps, bigger pie.

4/5. “The prospective customers are difficult to round up”+”It’s relatively difficult to engage the people in the space” vs “It’s relatively easy to reach players in the space”

I think your point is: “They’re busy and its hard to get their attention.”

I agree with this 100%.

Convincing someone to use a new product involves:

  • (A) Finding them
  • (B) Convincing them

Yes, (B) is hard. Getting their attention is hard. Convincing them of anything is hard. These are not unique to real estate customers.

However, I can buy a list of names, email addresses, mailing addresses, phone numbers, company names for many real estate niches. Want a list of just apartment complex owners in Tacoma? No problem!

That’s not an option if your market is “startups”. Customer.io can’t just buy a list of new startups easily, or without scraping it (which is still an incomplete set). Why did I choose customer.io? Because I like them and I want to give them a backlink. Yay!

Each market has its own challenges, of course, but I enjoy that in real estate, IDENTIFICATION of potential prospects is a problem that CAN be solved with money (whether you want to or not is a different question).

6. Good data is hard to come by

Hell yes. The data will get better. It’s not good today. There will be rewards for the people who CREATE good data (or liberate the existing data, but existing data is low fidelity).

Until then, my response is: Don’t solve data dependent problems. Rent payments, for example doesn’t require listings.

If youre a startup and you want to get data, don’t spend the “months (if not years) of regulatory hurdles to get the data”. Just partner with someone who has it. Even if you give up some of your wins, you’ll save yourself the headache.

*   *   *

I’m always interested in meeting other real estate founders or anyone interested in chatting about startups. Drop me a line.

Why Real Estate Tech Is So Attractive For Founders

Why I think real estate tech is one of the most attractive spaces:

1. We have EASIER problems to solve.

People are still doing things with pen and paper or impossible to manage excel solutions. online and mobile is a huge win for operators and they have mostly the same needs. there are very few TECHNICAL challenges in this space — development is essentially applying a known solution to a new problem space.

2. The bar for excellence is very low.

Just google for the real estate solution to any problem. The highest hits are just old companies that move very slowly. If any of their websites showed up on Hacker News, people would shred them for design and “looking sooooo web 1.0″. But they’re killing it because there isn’t an alternative that customers know about.

Consider this: the iPhone has only been around since 2007 in ANY capacity, and in the last 3 years, consumer facing apps have completely changed. These companies haven’t and are unlikely to. User interface and usability are still new ideas outside of Silicon Valley.

Beating the incumbents at product is surprisingly easy.

3. The market is huge and terribly underserved by tech.

Each of:

  • apartment discovery (like craigslist and other listing sites)
  • rental applications and tenant screening
  • rent payments
  • rental management software
  • commercial
  • residential sales process management

is worth on the order of a billion dollars a year in revenue.

Traction in one vertical facilitates traction in adjacent verticals. the prize is huge. The failure case is a lifestyle business.  There is a known, straightforward path to linear growth with very low risk of failure.

4. The prospective customers already all agree that they need better tech solutions.

Every landlord in america knows that in the coming years they’ll be switching to online applications and online rent payment. there’s no question of IF. Only WHEN. The challenge is that its hard to convince people to move TODAY.  The market is slowly shifting now, but there will be a cusp where the tides turn and people start switching en masse.

5. It’s relatively easy to reach players in the space.

I at least have the *option* of looking them up in the phone book. This is not true for a lot of other software products. “All hobbyist photographers” for example, is not an easy group to find.

*     *     *

Contrast these features to industries where there are relatively FEW dollars, customers need to be convinced that the product is needed at all, there are tons of really smart people working on it.

Instagram and Snapchat:

  • arguably have a market that spends zero dollars (claiming total US adspend as their market size is a joke),
  • are in a space with WAY more talented peers (sorry vaultware.com, I’m going to have to say I’d rather have an engineer from the photo team at Facebook),
  • have problems that are on the bleeding edge of tech so that they have to INVENT new solutions (I will never have to invent a database for my real estate problems, and realtime async stuff isn’t important for me), and
  • don’t have an obvious need or solve a clear business problem (how many people are *still* saying “I don’t get the point of Twitter”?)
  • it’s not possible to look up their prospective customers in a list (get me an email list of all 13-16 year old teenagers with a Nexus 4).

Real estate has an easier path to positive EV outcomes with a massive upside tail. That’s my flavor.

Teatro: Seminyak, Bali – Jan 12, 2014

Excellent kitchen, perfect execution, courteous, polite table staff.

Prices are more expensive than listed on the website.   This was ten course tasting + amuse + mignardises without wine pairings for 1250k IDR (about USD$103) . With wine pairings it would have been about double.  Wine is weirdly expensive in Bali.

It was nice to see the “upscale dining” side of Bali after a lot of the local street food.  Seminyak has a ton of fancy pants upscale dining establishments that would be interesting to try.  At the high end, it’s food for foreigners at foreigner prices.  In contrast, you can eat in the street for as low as 10k IDR (about USD$0.80) and get a pretty tasty meal.

 

teatro01

Fancy menu cover. As good a place to start the photo show as any.

 

teatro02

Sunny Side Up Quail Egg on Crostini With Bacon Butter

Basically really tasty, tiny breakfast amuse bouche. Crostini was perfectly crunchy with a little bit of chewiness in the middle. Bacon bits in the butter that was slathered on the crostini. The bacon was, well, bacony and delicious.

 

teatro03

Peking Duck Bun

A tiny Chinese style bao, black from the inclusion of squid ink in the dough, stuffed with duck, topped with a drop of hoisin.  The bun was charcoal black and perfectly soft, but not mushy. Tiny drop of hoisin was perfect and not overwhelming as hoisin can so often be.

 

teatro04

Chili Pepper and Sea Salt Butter with Rye

Underwhelming, but we weren’t really here for the bread and butter. The butter was excellent, but the chili pepper didn’t really come through. The rye bread was average at best, and easily the most boring component of the night. I would have expected better bread given how much attention to detail was paid to every other element of the meal. If you’re coming to Teatro for the free bread, I would recommend another establishment. If, however, you’re going for the amazing 18 plate tasting menu, you’re in the right place.

 

teatro05

Fennel and Garlic Soup with Cauliflower Croquette

Very buttery and creamy, but the frothiness makes the soup feel lighter. The cauliflower “croquette” was really just a perfectly broiled piece of cauliflower.  Delicious, well balanced.

One interesting thing to note was that all the dishes at this point were perfectly sized.  The soup here was excellent, but richer with every spoonful.  I remember thinking that if there were any more, it may have gotten too rich, but they gave just enough to saturate my palate with this flavor.

 

teatro06

Bedugul Tomato Confit

A local tomato confit served with a chilled, poached tomato, beet, arugula, really good balsamic vinegar and olive oil.  Acidity and sweetness were a nice, fresh reprieve from the creamy fennel soup that preceded this course.

 

teatro07

Foie Gras “en Terrine”

2 pieces of foie gras with a sangria gelee topping. The sangria gelee was interesting, but easily overwhelmed by the flavor of the foie gras. Alone, the sangria gelee had a sweetness and an interesting bitterness. It’s not clear to me that it was important to be *sangria* gelee so much as “sweet red wine flavored” gelee. One was topped with a strawberry, the other with a candied marcona almond.  Very generous portions, and again just the perfect amount to not make you feel overwhelmed by the richness.

 

teatro08

Tuna Toro Tartare

Fatty tuna, wrapped in cucumber strips, served with a sweet and spicy vinaigrette. High quality ingredients, but I think its a waste to cut up toro like this. The smooth, creamy richness of good tuna toro is highlighted by big pieces. Chopping it up basically takes away from the awesomeness of the marbling (I have the same rant about kobe beef burgers). Another miss here was that the put the sauce inside the cucumber roll as well, which slightly obscured the subtleness of the tuna (tuna doesn’t have that strong of a flavor). I’d have preferred a lighter touch on the preparation, but I think this is something that most customers would enjoy.

Again, nice menu construction by the kitchen.  The acidity of the viniagrette and the crisp, coolness of the cucumber (and the celery curl in the back of the photo) act as a nice counterpoint and reset the palate after the foie gras course.

 

teatro09

Pan Seared Atlantic Scallop

Served with a cannelle of edamame relish, a soy braised daikon slice, avruga caviar, and sabayon. Beautiful plating, I was really excited by this dish. Scallop was perfect. Edamame was a bit mushy and I don’t understand the selection as a complement to the scallop, but I like edamame so it was still good. The braised daikon was too salty.  Not inedibly so, but definitely out of balance with the dish. This was the *ONLY* item in the whole meal that I felt was definitely overseasoned.  Seemed like they just dropped too much soy or salt in their braising liquid and didn’t taste the resulting daikon.  Avruga “caviar” is a synthetic “caviar” that doesn’t actually have fish roe at all.  It’s herring, squid ink, water, and some stablizers that are made into balls, probably by some sort of spherification process that the molecular gastronomy folks use.  It’s fishy (because it’s fish, duh), but it doesn’t have the same crunchy outside shell with briny insides that actual fish roe tends to. I personally think kitchens use this because restaurant goers don’t know this and the deep black color makes them feel like they are getting some rich caviar. Still a tasty dish, generally careful execution by the kitchen, but not a fan of the dish design.

 

teatro10

Pineapple Sorbet with Pineapple Lemongrass Foam

Garnished with a dehydrated pineapple flower. Excellent pineapple sorbet in the bottom of this sea of foam. Foams don’t excite me, but this was as good a foam as any other.  The lemongrass bits that you see on top of the foam were too strong for the light flavor of the foam.

 

teatro11

Coral Trout Topped with Panko

Served with blackened cassava root, baby ferns, broiled cauliflower florets and coconut curry.  I’m a sucker for coconut curry and fish, so this was a huge win.  Also the charred cassava root was awesome — creamy inside, burnt and charry and bitter on the outside.

 

teatro12

“Pekin Duck Two Ways”

The menu said this was “Pekin Duck Two Ways”, but it’s clearly not. Pan seared duck breast with beetroot orange sauce, with lentils and celeriac puree. Perfectly cooked duck, but came out a bit colder than it should have.  At this point in the meal we realize that the chef either really likes beets or won a a fridge full of beets in a contest recently and is trying to unload them on his diners.

 

teatro13

Kiwami 9+ Beef Cube Roll.

Okie. This is the “holy shit are you serious?!” dish of the night. Kiwami 9+ beef is basically awesome Wagyu. Think the marbliest of marbley beefs.  It was pretty red, and some people might like it a little less so, We did ask for it medium rare, so that could be a kitchen misstep.  Center was slightly warm, arguably needed a little more time to get to medium rare, but it was perfect for me.

And what’s that? A *huge* piece of smoked, seared foie gras on top of the delicious, unctuous wagyu cut? This was a very generous cut.  Foie is amazing.

This course was really rich. I love foie and I love fatty steaks so I was in bliss, but reasonable humans who want to live past next week without heart problems would have a case for claiming this dish was too rich. The kitchen wasn’t even *trying* for balance on this one. Every element on the plate is rich, creamy, buttery, and unctuous.

 

teatro14

Simple Lime Sorbet

A necessary palate cleanser after the beef course.  This was actually not included in the menu, but when we found out that the next course was lamb, we asked to take a break between the 2 red meats and requested a palate cleanser. A light, citrusy 10 minute respite between heavy meat courses.

 

teatro15

Lamb Rack

Lamb medium rare, served with eggplant caponata, sweet potato and beet root puree, and charred leeks.  Awesome, but at this point I’m stuffed and ready to change gears away from proteins. Very happy that dessert is next.

 

teatro16

Flourless Valrhona Chocolate Cake

Quite fudgey, dense, but small. Served with vanilla gelato, hazelnut crumbles, and tart red raspberry gelee drops.

 

teatro17

Banana Bread, Glazed Mango, Toasted Meringue

 

teatro18

Oatmeal Cookie, Chocolate Hazelnut Butter, Graham Cracker Crumble


teatro19

Dark chocolate bon bon shell filled with liquid caramel

I usually think things like this are too sweet, but the caramel was just perfect.  Not too sweet.

 

* * *

 

So, you know… Just another average Sunday night dinner…

 

Ruby Doesn’t Give A Shit About Your Charm And Wit

One of the things I really like about programming is if you miss a period or a comma, it matters. There is this objective standard (the code works or it doesn’t).

Lets say these college guys with their dating app are good looking and incredible sales people, that might get tons fellow students to go to their unbounce page, but as far as coding a web app you can’t schmooze your way to working code. If the code doesn’t work you can’t just get by on your charm and wit.

Ruby doesn’t give a shit about your charm and wit.

It’s refreshing and empowering.

(published without permission from an email thread with my friend ML)

How To Bid For CPC Campaigns (aka “Stop Doing Adwords Wrong”)

There Is A *Right* Answer

For each keyword in a CPC campaign, there is one single, *correct* amount to bid for a click. All other amounts are wrong. Many people bid the wrong amount. The consequence of this is lost profits.

Most online CPC bidding advice says things like:

  1. “Bid however much you would want to pay for someone to come to your site”
  2. “If you’re unsure what bid to start with, try setting a max. CPC bid of US$1″ (really, this is what google says. thanks for nothing. https://support.google.com/adwords/answer/2471184?hl=en)
  3. “Bid less than max bid = conversion rate x profit per sale”

However, most advertisers don’t know:

  • how much a click SHOULD be worth for them
  • what their conversion rate is
  • how to use campaign results as feedback to further optimize their campaign

The most important points are that at any given time there is a *right* bid that:

  1. Maximizes total profit,
  2. Can be experimentally estimated

This amount is not static and changes over time, but it’s possible to constantly correct towards the optimum bid.

cover_photo

 

Profit Per Keyword

Google gives advertisers the ability to group keywords together and apply the same bidding strategy across a group. This is great for manually managed campaigns because the amount of effort it would take to individually, manually optimize each keyword in a large campaign is unreasonable.

Thankfully though, computers are really good at doing repetitive data analysis very quickly. This approach to CPC campaign management is one where every keyword in the campaign is managed completely independently, by a computer program (this is the basic approach, but in practice, it’s sensible to group similar keywords with insufficient volume to avoid data sparsity).

Profit Per Conversion

profit_per_conversion2

This graph should be uncontroversial. It is a line graph of the amount of profit earned per conversion (y-axis) vs the CPC (x-axis).

A. An advertiser who bids $0 will earn the total amount of their conversion value for each conversion that is made through the advertising campaign.

B. An advertiser who bids $N will earn the conversion value – the cost per click (CPC) times number of clicks it takes to receive a conversion (1/conversion rate) for each conversion that is made through the advertising campaign. Profit per Conversion = Conversion Value – (Cost Per Click) * (1 / Conversion Rate)

C. The x-intercept is the Breakeven Point, which occurs when Conversion Value = (Cost Per Click) * (1 / Conversion Rate). This is the point where the amount of money spent on clicks exactly offsets the value earned through a conversion. Spending more than this leads to negative ROI campaigns. Spending less than this is positive ROI.

Note: This is the actual CPC, not the max bid. In practice, you just use the max bid as a proxy for the actual CPC, which will be lower than your max, and assume there is some secret function that Google uses to convert your max bid into a realized CPC.

 

How Many Clicks (or Conversions) Can You Buy?

buyable_clicks

Google is in the business of selling adspace in open auction. All other things constant, by bidding more money, an advertiser can get better placement and more clicks.

A. Bidding zero will give an advertiser no exposure and therefore no clicks.

B. Increasing the bid will increase the number of clicks the advertiser receives. This increase is non-linear.

C. There is a ceiling on the number of clicks that can be bought for any particular keyword or query (even if you had a billion dollars to spend tomorrow, you couldn’t buy a million clicks for the keyword [elephants in pant suits never eat donuts] because there isn’t enough search volume to sell you that many clicks).

 

Total Profit Per Keyword

total_profit

Multiplying the information from the preceding graphs gives us the total profit earned for a particular keyword.

For example:

Conversion Rate = 5%
Conversion Value = $10.00

For this particular example keyword, increasing CPC linearly increases total clicks purchased such that every 5 cents higher the CPC bid is results in 100 more clicks over the measurement time period.

  • 0 clicks * 5% CR * $10 Conversion Value – 0 clicks * $.125 CPC = 0
  • 250 clicks * 5% CR * $10 Conversion Value – 250 clicks * $.125 CPC = 93.75
  • 500 clicks * 5% CR * $10 Conversion Value – 500 clicks * $.25 CPC = 125.00
  • 750 clicks * 5% CR * $10 Conversion Value – 750 clicks * $.375 CPC = 93.75
  • 1000 clicks * 5% CR * $10 Conversion Value – 1000 clicks * $.50 CPC = 0
  • > 1000 clicks == >1000 clicks at >$.50 == lose money

A. zero spend == zero clicks == zero conversions == zero profits
C. this is the max profit CPC price. paying this amount for clicks balances total traffic and price per visit in a way that maximizes profit.
B & D. there are 2 ways to make less than the maximum amount of money. B: buy less traffic and pay less per click or D: buy more traffic, but at a higher cost per click. B is safer because small errors don’t result in losses.
E. the other way to make no money is to buy a lot of traffic but spend the total conversion value on generating traffic (breakeven CPC ( $10* 1 conversion per 20 clicks) == 50 cents/click).
F. lose money — spend more money on traffic than you recover through the conversions. whenever you hear someone say “we tried adwords, but it didn’t work for us”, this is where they were on the curve.

 

Implementation

It’s important to note again that you can’t look up the information to set your CPC bids or calculate it theoretically — it has to be determined experimentally. There’s nothing you can do to just start with the perfect campaign. You will make your best guesses, experiment, then use the feedback to estimate the shape of the curve.

That means you will start by running suboptimal campaigns, then use the information to get closer to optimal. The better your initial guesses, the less money you’ll spend in the “curve discovery/estimation” part of the process.

If you already have conversion rate data, you can start by applying the site global conversion rate as your estimated conversion rate for each keyword, then that gives you point E, the breakeven spend CPC.

If you don’t have any conversion rate data, now’s as good a time as any to start buying traffic to see what the conversion rate is. You may lose money doing this, but you should treat this expense as a cost of information. Once you have some basic conversion rate data, you’ll be able to estimate your breakeven spend CPC. Being cheap here is a mistake. You pay less for worse data. Since this is information you want to base your campaign on, consider it an investment in your future.

Once you’ve estimated point E for the keyword, your goal is to test various CPC levels. To do this, vary your max bid over several time periods, and at each CPC level, recording the profit generated by that keyword. Assume that the profit vs CPC curve qualitatively fits the model above, then use the collected data to estimate what the curve looks like.

Do this around 1/3 E, 1/2 E and 2/3 E. In the example above, if you have a a $0.50 breakeven CPC price given your global (as opposed to keyword) conversion rate, try 16 cents, 25 cents, and 33 cent CPC’s to see what the corresponding profits are. Use these results to estimate the maxima for each keyword in your entire portfolio independently.

Each keyword in the portfolio should convert at a different rate. This process will help estimate the CPC amount that maximizes the profit for a keyword while accounting for the different conversion rate for each word.

Additionally, if there’s reason to believe that there are different Conversion Value or LTV’s for different keywords, you can use this information as well to optimize. However, in practice you need a lot of conversions for this data to be reliable and except for the highest volume sites, this will be difficult to execute, so it’s easier to just use the same keyword. Obviously this depends on the kind of site you have: An electronics retailer that bids heavily on product name keywords to sell those should probably use the actual profits generated by the keyword (TV’s are more expensive than USB cables). A SaaS product that has one price can probably just plug in their product price.

 

Maintenance

Because the correct bid price for a keyword is a function of changing inputs outside of your control, for each keyword you should be constantly re-assessing whether the “optimal price” estimate is correct.

To do so, slightly change bid prices after you have enough conversion data at a specific bid price. As the CPC’s change you will be constantly traversing up and down the curve to either: (a) discover that the shape has changed, or (b) confirm that the shape is still as you estimate.

You should stay NEAR the optimal bid price as you probe the curve for information in order to take advantage of what you’ve learned. When the shape changes, you’ll adjust your bids to the new maximum.

 

Alternate Curve Shapes

Not all keywords can or will be profitable (lots of competition for ads, low conversion rate, low conversion value).
Some will be always profitable (your searchers are already looking to give you money, high conversion value, high conversion rates, no competition in the keyword space).

The following 2 are just special cases of the general shape described above.

Always Lose

Joe’s company “Get Face Punched, LLC” sells a coupon for $1000 that entitles the holder of the coupon to be punched in the face by Joe. He advertises on Google Adwords. He’s disappointed in his 0% conversion rate.

always_lose

For a product that converts too poorly, no bidding strategy can turn a profit. Every dollar spent is a dollar lost. Joe can’t turn a profit because he just never converts. He can fix this by changing other non-bidding elements (the product, the landing pages, the ads, etc) to change the shape of the Profit vs CPC graph.

Similarly a product whose Conversion Value is too low won’t be able to turn a profit — It’s hard to pay money for traffic and recoup it without collecting any money back.

In the case of free products, they may operate at a short term loss, but the operator needs to know what price they are willing to pay for a conversion, whether or not it corresponds to future financial returns.

The method of traversing to find the optimal CPC bid will still work for a keyword like this.  As you continue to traverse to higher ground, the optimal CPC will turn out to be $0.00, and you will effectively never bid for this keyword. As a shortcut during the optimum CPC discovery stage, whenever the measured profitability of a keyword at a given CPC is negative, halve the CPC instead of doing small traversals.

Always Win

Sarah’s company “Insanely Comfortable Luxury Bed” sells $50,000 handmade beds made from angel wings and confer amazing sexual prowess on its purchasers. It’s a small market, but pretty much everyone who ever looks for it online has already made the buying decision. Her conversion rate is insanely high at 50% and there’s not a lot of competition for “angel wing beds make me a sex god(dess)” so her CPC’s are shockingly cheap.

always_win

In contrast, with a product that converts awesomely, the payout is massive, or competition is scarce, it’s actually hard to *lose* money. While there’s a theoretical breakeven point at extremely high CPC’s, the conversion rate is too high and there isn’t enough competition to ever drive costs high enough because Google will ultimately cap the effective CPC at the highest competing bid.

Additionally, since there is a cap on the number of clicks available for google to sell, for low volume keywords, hitting that cap means you can’t spend any further.

The same traversal method for finding the optimal CPC bid works here as well. You’ll continually bid more for clicks until you’ve reached the end and there are no more buyable clicks.  Bidding higher through Google adwords won’t result in higher actual CPC’s because you’ll have outbid the competition. Also, once you’ve purchased all available clicks, you won’t be able to spend anymore so the CPC bid will settle into the maxima at the top of the line segment.

 

Improving non-CPC-Bidding Problems Leads to Curve expansion

The correct amount to bid is a function of a lot of things, including:

  • the keyword
  • quality score
  • competition
  • day, time, place, device
  • conversion rate
  • conversion value (based on your landing page, your product awesomeness, other factors)

All these things are subject to change at any time.

For a given situation/world, there IS one single optimal bid price. That does NOT mean that for a given keyword there’s only one bid price.

It’s probable that unoptimized ads/landing pages will show that a lot of keywords have NO profitable bid opportunities. By improving conversion rate, quality score, ad copy, or any number of things, it’s possible to change the shape of the ad keyword profit curve, which necessitates recalibrating the keyword bid.

The specific bid price is just one small component of the process that can be optimized. It ensures that given your existing campaign, you’re allocating your ad spend in the most capital efficient way (The biggest possible piece of an existing pie)

However, changes to the campaign can expand can increase the available opportunities (making the pie bigger):

  • better ads/relevance lead to higher click-through-rates, higher Quality Scores, and lower bid prices for the same position, therefore growing profits and stretching the breakeven point to the right.
  • better landing pages can be tested to improve conversion rate, which decreases the cost per conversion and grows profits and stretches the breakeven further to the right.

 

Notes

  • In practice the curve isn’t so pretty and the falloff from the peak may not be symmetric.
  • If in doubt and uncertain of the actual shape for the keyword, its safer to underbid than overbid (lose money the other way, read about 1/2 kelly betting)
  • The shape of the curve can be improved, increase total max, by doing things on-site to improve conversion rate, improving your actual ads to also improve conversion rate, working on your quality scores, etc.
  • Google will curb your actual CPC — this plots actual CPC not bids. for example, i can’t pay 50 bucks for a single click of an obscure keyword because the bidding system will just have me outbid the highest bid. As a result, advertisers are protected from the most devastating failure cases (i.e. WAAY far to the right on the CPC/x-axis where the total profit would be hugely negative).
  • You need to be able to buy enough clicks in a steady enough environment in order to credibly estimate the shape of the curve. So low volume keywords will either be impossible to estimate, or you’ll have to combine them with other keywords to form a basket of keywords for which the shape can be estimated. This comes at the price of fine-grained keyword specific pricing control. If you bucket keywords that perform differently and estimate the shape of the aggregate click portfolio, you’ll end up with a shape that could be qualitatively different so you might not be appropriately estimating a peak (it could be multi-modal with many local maxima instead of a single global maximum).

Also, the corollary to this is that there’s a correct amount to spend, and it’s based on your correct CPC amount. It’s “however many clicks google will give you at the specified CPC price”. The budgeting advice that sounds like “As much as you feel comfortable spending in a day” is bad advice.  It’s the right advice for campaigns that are designed to be negative expected value. The right advice for campaigns that are positive EV (those that make money) is “spend as much as Google will let me”.

(thanks, http://www.onemotion.com/flash/sketch-paint/ for letting me make pictures.)

Smooth Online Signatures (Open Source)

Try signing this pad with your mouse

Wanted: Embeddable Signatures

Rocket Lease provides rental application software so landlords can screen their tenants with an online application rather than a paper application.

I wanted to incorporate a digital signing process into the application similar to the iPad payment kiosks that allow you to trace your signature with your finger. That's not a requirement for online signature validity, but it more closely mirrors the paper signature process that landlords are used to and there's something about physically drawing your signature that makes many people feel like it's more legitimate. (Electronic signature validity is a whole separate blog post)

I generally try to borrow rather than build, but since nothing seemed to fit the bill, I looked into customizing an existing open source solution. For Rocket Lease, if that reduces objections to using an online application, that's a win. Plus, it just seemed like fun.

Existing solutions at the time either:

  • Required me to direct my users away to a third party site/service for signing
  • Charged more than I wanted to pay
  • Didn't have the signature smoothing component

All the credit belongs to the incredible work by Thomas Bradley, who authored the original signature library and Square for the blog post that outlined the approach.

My fork is available on my github here: https://github.com/ezl/signature-pad

Capturing Signatures

Signatures are basically recorded as a series of (x,y) coordinates on a canvas, which can later be used to regenerate the signature.

However, an array of (x,y) coordinates doesn't capture the curves of a signature. if the sampling rate isn't sufficiently fast, you'll end up with jagged line segments.

Thomas Bradley's signature library seemed to be the most active, best supported, best documented open source library, but the rendering approach left jagged signatures and I wanted the smooth style signatures I was seeing in other apps (that I would have to pay for).

Try signing this canvas using the original library, which draws linear segments between sampled points:

Example: Linear Interpolation (Original)

Using the blog post by Square as a guide, I compute bezier curves (this is the same thing as the pen tool in Photoshop) that pass through the sampled points, then retrace it when the pen lifts. There are a few complications, which I'll describe below.

Example: Bezier Curves (constant pen width)

The first problem I ran into was that the sampling rate was actually too FAST. With a touchpad, there is some measurement noise that causes some of the jagged lines in the original library. Smoothing the curves removes the angles, but it still renders a wavy/squiggly signature. To counter that, I use only a subset of the sampled points, which are uniformly sampled (There are smarter approaches, but this was the easiest and least invasive to the original library).

When drawing linear segments between sampled points, you can immediately stroke a path from the n-1th point to the nth (last) point. You'll end up with the jagged linear segment approximation of a signature as described above, but the benefit is that "ink" stroke ends where your mouse cursor is, much like the ink path of a signature of a pen on paper.

With bezier curves, however, the last 2 points are insufficient for determining the shape of the arc between the last 2 points. Given the last 2 sampled points n-1 and n, we actually need to know the location of point n-2 (the third to last point we sampled -- we know this) and n+1 (the next point that WILL be sampled in the future -- obviously we *don't* know this) to trace the correct Bezier curve.

So to draw the right segment, you always have to be lagging the mouse cursor in order to trace the correct path, which makes the signature feel less responsive to the end user.

To resolve this, I'm stroking the sampled path with linear segments, then once there is enough information to render the curve, I erase the linear segments and stroke a bezier in it's path. Erasing by drawing a white line over the original segments weirdly doesn't cover up the previous line though and it results in weird "ghost" markings that outline where the previous segments were.

You'll notice this if you try signing the smoothed pad above again. To highlight it, just scribble over the whole pad many times and you'll see what I'm referring to. The hacky "fix" for this was to restroke the sampled path on the mouseup (or touchend) event.

Here is an example of the difference between the smoothed and unsmoothed signatures when I sign on the touchpad on my Macbook Air

Regenerating Smooth Signatures

Finally, just an example of 2 signatures the difference between the 2 methods of rendering signatures.

These signatures are generated from the same underlying data.

If you look closely, you'll see that there are kinks in the first signature, but the second one is a smooth stroke from beginning to end.

Linear interpolation between sampled signature points


Bezier curves that pass through all sampled points, fixed stroke width

Further Work

There are admittedly a lot of mistakes I made and hacky shortcuts I took, but for now this is sufficient for the business needs of Rocket Lease.

The first few things I would work on are:

  • Better subsetting of the recorded data or better sampling
  • Variable width signatures (this is implemented very crudely, and I didn't discuss it in this post. The first signature pad in the post uses it though)
  • Fix the part that renders the trailing bezier path -- Currently it actually still traces 4 point beziers which have cusps between them, then waits til the mouseup event to stroke the full path -- this is wrong, but most people don't really notice.

Email Me

I blog because I like connecting with smart people.

If you are interested this or what I'm doing with online rental applications at Rocket Lease, please say hello.

Say Hello To Me!

Customer Interviews As An Excuse For Inaction

 

ofcoursebutmaybe

A friend of mine hired a business coach recently, and I’m pretty sure her only credential was having read The Lean Startup.

She kept telling him to do cusomter interviews and get customers. 3 months later, he’s still product-less and searching. Half the ideas he kicks around could be built, tested, and deployed in 48 hours and traffic bought for less than the cost of her consulting fees.

This is a rant about Lean zealots who blindly apply “Talk to customers first”.

I think that’s the right approach a lot of the time, but I’m a lot less hard-line than many proponents of “Lean”.

Basically, a *sane* rule is “validate as fast as possible”.

This really means: “form a falsifiable hypothesis, then pursue whatever course of action gives you a verdict that is ‘true’ or ‘false’ while spending the smallest number of resources (usually money and time)“.

For 90% of people, this is “get customers first”. For 90% of developers, this is “get customers first”. So “get customers first” is an awesome rule. But sometimes its faster to just build it (for example, already have an audience, takes 3 days to deploy). If so, just build it.

“Get customers first” is the right thing to say, but the underlying logic is “find out as fast and cheap as possible if you’re chasing a dead end”.

Never launching is just as sure a way to fail as building the wrong thing.

(thanks rz for the email thread that led to this)