Archive for category Uncategorized

Behavioral Finance for Software Developers and App Publishers

The Old Schoolhouse

I recently had my 10 year business school reunion. Being the business nerds we are, we had additional classes. Here are some thoughts from one of those:

Behavior Finance by Professor Malcolm Baker

From the session summary:
“At the foundation of finance theory is the idea that investors and managers act rationally… behavioral finance proposes a broader role for social, cognitive, and emotional biases”

Think of it as a bridge between psychology and economics. Economists, basically, work to find the underlying models that best describe how we make decisions in our lives. They don’t believe that we actually do complex math when deciding whether to buy the Tall vs. Grande, but they say, that on average, we all behave as if we were actually doing the the math. Do you wake up and think about your “Expected Utility”? You act like it. Psychologists focus more upon the times when individual act against their best interests. In other words, when their emotions or biases make them behave against the economists model. The press likes to point out the gap between the economists and psychologists, but it isn’t as wide as they paint.

One Hour Crash Course on Behavior Finance


Modified Kaynes Quote:

If you owe your your bank a hundred dollars, you have problem, but if you owe bank a billion dollars, the bank has a problem.

The market can stay irrational longer than you can stay solvent.

So are people rational? Here are a couple of possible observations and possible ways of answers:

* No, but this is the basis for our intuition.
* So ask yourself, do most homebuyers have good intuition for ARMs when buying a home?
Well, maybe. By metaphor, think about the expert pool/billiards player. He plays as if he were an expert in physics, but he isn’t. Economists like to work on the physics problems of billiards. Psychologists like to focus on the time when he chokes if he isn’t wearing he lucky socks.

* No, but we delegate this process to advisers, that do act rationally.
Should you delegate the deicsion to advisers? Imagine that you are thinking about buying a house. Your banks will push you buy, your agent will push you to buy, everyone but maybe your fianancial advisor will push you to buy. My wife and I recently bought a house a house and, apparently easily qualified for a mortgage (this is after the recent financial crisis). Now, the kicker is that the bank didn’t know about some additional income that I used to calculate our budget, because it wasn’t part of a salary. As far as our advisors knew, they were putting us into a house that we simply couldn’t afford, and they were doing this even after the recent financial crisis – so you can not trust your advisors when their interests are conflicted.

* No, but this is the way “smart money” makes decisions.
Do the capital markets price these correctly?

Framing matters:
So, when asked, people will have very different answer to a question when it is just framed differently.
So, imagine the following scenario: Given the recent H1N1 outbreak, which course of treatment, if you were the president, would you take:
Framing One Way:
*Option 1) A treatment where 400,000 people out of 1M will die, or 38%
*Option 2) 1/3 chance that no one will die and 2/3 chance that all 600,000 will die: 62%

Framing another way:
* Option 1) 200,000 people will be saved: 62%
* Option 2) 1/3 chance that 600,000 people will be saved, and 2/3 chance 400,000 will be saved: 38%

When a two groups of students where asked their recommended course of action, the percent of students that chose Option 1 when the question was framed the first exactly matched the percent of students that chose Option 2 when the question was framed the second way. Now, if you look at the two framings, they both represent the exact same outcomes, so there is no logical reason for the percentages to flip – it is just how it is presented.

Saturday Galla at Boston Public Library

So, how can we apply these insights into human nature to software development?

I would argue that this is important to software development in a couple of ways, namely for project management, technical risk assessment, and marketing.

Project Management:
Programmers are notorious for over-estimating their own productivity. When asked to estimate how long feature X will take to build, they will routinely be off by several hundred percent. Granted, often with good reason. Sometimes management changes the spec because managers greatly over-estimate their own ability to deliver a perfect and unchanging spec.. Sometimes more urgent project cause frequent interruptions, seriously undermining concentration and flow.

Framing: I’ve observed that when I have freelancers bid on a project, the price is quite different between when I am vague, but still accurate, and when I specify, in detail, the project details. The estimated price increases significantly by bidders by several hundred percent, even though, the detailed spec actually significantly lowers bidding risk.

Category framing: effort to do the project vs. the effort to do each identifiable effort.
When a bunch of students, about 160 of them, where asked to estimate what the temperates would be during March and April, they would artificially group their answers in large chunks according to the month instead of thinking about the pretty smooth change in weather between each day.

First Group: March 12th: 37.5F, March 24: 39.0 ( a 1.5F change over 12 days – but within same month).
Second group: March 24.5F, April 5, 48.8 (an insanely high 24.3 degree increase during 12 days, but the this last date they were asked to estimate was in a ‘hot’ month – so they cranked their estimates up to 11!)

Take away: the march / april barrier caused the estimators to pool their answers into two distinct groups instead of thinking about the answers as lying on a continuous scale, which they clearly were. People think about stuff in large categories, not on a continuous or high-resolution scale. For software developers, this makes us, I think, underestimate the work in involved for poorly specified projects and over-estimate the involved in well specified projects. I’ve observed this several times when outsources projects to freelancers. When I’m sort of vague, but accurate, about a project, the prices seem sort of low. When super well specified, the price for the same project inflates greatly. Unscrupulous Publishers might be able to take advantage of naive freelancers and consultants, and vice versa. Basically, be aware, and act accordingly, to avoid all around pain.

Self worth bias (most people think that they are above average): Time for somebody to do a project = 2X, time for me to do a project = 1X. How much should I be paid to do that project if I charge a fixed fee? What if I charge per hour? What is my hourly rate? What has my hourly rate actually been. Let’s call the Implied Rate the hourly wage calculated by taking the total project cost divided by how many hours a project took. I guess we figure there is no reason to track our time if we aren’t charging by the hour. In my experience, we programmers show a large internal inconsistency in our proclaimed hourly rate depending upon how the project is setup, hourly vs. flat fee, and we don’t go back to calculated our implied rate, even when taking things into considerations such as payment risk, self insurance, etc.

So, what can do about this?
Well, I’m certainly not in a position to fix the whole software development lifecycle problem, but I feel like I can suggest a couple of courses of action.
1 – Track your hours, even when working on own projects or flat-fee projects
2 – After every project, conduct a post-mortem to analyze why the project went off schedule (they all go off schedule)
3 – Develop and grow your own well-vetted library of software components to minimize custom develop of technology. Keep the custom development, and thus the schedule risk, to just the new business logic of the project.
4 – Do mockups to vet with the customer/stakeholders what, precisely, needs to be built before the code starts flying. Fixing mistakes in the design phase, as we know, is ten times cheaper than fixing them after coded.
5 – Well, I could go on.

I’m working on a new client project and I’m trying hard to apply these principles, but it isn’t easy. My client gave me a great spec, and I’m working on turning that into a working mock-up, to work out some previously unforeseen UI issues. I’m also refining my own library with an eye towards workflow. This might be a long process, but, in the long run, well worth it.

Further Reading
Books: Nudge, The upside of irrationality, Animal Spirit, Predictably Irrational
I haven’t read this yet, but it was referenced in the talk.

Video: Nova: Mind Over Money
This was my first introduction to modern Behavioral Finance. Really an easy way to quickly grasp the whole field. Recommended.

Innumeracy: Mathematical Illiteracy and Its Consequences (Maybe a stretch, but I really liked this when I first read it. It was a hit in its day but seems to have since faded.

  • Share/Bookmark

, ,

View Comments

Why I’ll Replace My MacBook Pro with a Desktop Because of the iPad

My 2.0G 15″ Macbook Pro is getting a little long in the tooth. I went to the Apple store yesterday to replace an unexpected failure in the external Mag-Safe power supply. I’m now on my fourth power supply – yikes. It wasn’t covered by AppleCare – the guy behind the counter pitifully reminded me that my laptop was now over four years old. That’s at least 28 years old in computer-hardware years, and in dog-years. So it is probably time to upgrade. But I don’t think I’ll replace this laptop with another – I’ll get a desktop instead. Unlike times past, the arrival of the iPad releases me from the laptop upgrade cycle.

Happily, unlike in my old Windows days, my computer isn’t slowing-down, per se, but I’m asking a lot more of it than I used to ask. I’m doing a lot of cross device smartphone development lately, which involves running multiple simulators – tough work for any computer, let alone a laptop. The recent upgrade to Snow Leopard breathed new life into my old beast. Also, my recent upgrade to a SSD hard-drive helped, too. But my hard limit of 2Gig of RAM is killing me.
desktop
I’ve written about how my iPad is proving to be a fairly useful portable computer. I find myself writing blog posts, catching up on reading long articles using Instapaper, and writing presentations and business plans using Keynote. I can even do some emergency SSH’ing to manage basic server maintenance. I plan to eventually do app requirements development and wireframe moch-ups, too, once I get around to building those apps.

So the thing is, even good laptops don’t perform as well as good desktops. I’m realizing that my next computer might last a long time, longer than I’m used to in the Windows world. My single biggest desire, other than more horsepower, is a large screen with letters big enough to let me avoid reading glasses. I also know, from experience, that a very high quality monitor can last many, many years. So my need for an upgraded laptop just isn’t too pressing. My old laptop will probably serve my increasing occasional heavy-usage mobile needs. My iPad will probably serve my lite-usage mobile needs. My new desktop will likely serve my big screen and big cpu needs. My spectrum of needs (I’m needy), will get met.
iPad
I’ve been relying upon laptops since I got a Dell Latitude in 1998. I just need to last the two years of business school. That is about how long it lasted, too. The thought of moving away from laptop-land is weird. Scary. Exciting. Visions of three 30″, side-by-side, monitors are dancing through my head. Home office utopia might be near. Ahh, peace is settling across my being.

Good bye laptop upgrade cycle. Thank you, iPad.

  • Share/Bookmark

, ,

View Comments

Everybody Loves Robots

Recently, while tinkering with spare electronic parts with my six year old son, I decided to try to get him involved in a local chapter of some robots-for-kids program, but I couldn’t find anything for him. Ok, you may not be surprised, but I was. After some searching, and researching, we ended up starting a Lego based robot club at his school, which, so far, has been very well received. My son is pretty lucky to have an opportunity like this, but I wish more kids, across the country, could benefit from a engineering-focused, after-school, program.

So, I’m kicking off, under the sponsorship of Elegant Technologies, the non-profit Everybody Loves Robots. Everybody Loves Robots helps kids gain the confidence, competence, passion, and resources to make robots, and other cool stuff. Students will work in small teams with like-skilled students and a grown-up coach to go through a set curriculum of foundation projects, with the coaches helping the kids when they get stuck, and helping the kids understand the more interesting parts of their creations.

Inspired by USFirst, the new organization is called Everybody Loves Robots. Enjoy.

PS – I’m taking donations to help scale the organization, so give until hurts and don’t be a wimp about it.

  • Share/Bookmark

, ,

View Comments

Nightlight now on the iPad – first impressions.

Happy iPad day. I picked up my iPad at Pentagon City this morning. We made it a family outing and my six year old son was at least as excited as I was. We got in and out of the Reserved line a in about 20 minutes, so really a pretty good experience.

I like the iPad so far. Nice screen. Nice keyboard. Nice heft. Very few things to complain about.

Here are my complaints. My home button is a bit loud. A little too loud if you are typing in bed and don’t want to wake your partner. It would be too loud for a meeting, too. I seem to recall, though, that my last iphone had a loud home button, but that it quieted down with use, so take this complaint with a grain of salt.

I also resent that I can’t seem to use my old iPhone cable to charge my iPad. It’s like a big loyalty tax. What is is up with that? Correction: The problem wasn’t with the cable, it was with what it was plugged into. If I plug into my older MacBook pro, then it won’t charge, but it will charge if I lug it into the wall. What is up with that. More correction: charges sometimes on the MacBook a maybe when the iPad is turned off?

All in all, a great product, though. I’ve had a lot of fun with it so far.

I launched an upgrade to Nightlight for the iPad – check it out. Although I was stoked to have that out on opening day, I’m really bummed that I’m still having issues with getting my Powernap upgrade out the door. It’s seems to work fine for me, but apparently crashes on Apple’s test rig – arghhh. [Update: Powernap: Forty winks anywhere is doing just fine.]

I also launched a simple, but useful upgrade to Elegant Quadratic and launch a Pythagorean equation solver and generic math expression solver called Lil Math. These three are using a new technology that I’m developing to streamline app development – especially cross platform stuff. More about that later.

  • Share/Bookmark

,

View Comments

Adam, from RIM, posted his top…

Adam, from RIM, posted his top anticipated sessions (http://bit.ly/4he1bv) for upcoming Blackberry Conference. My talk is highlighted!

  • Share/Bookmark

View Comments

My thoughts 3GS’s speech recog…

My thoughts 3GS’s speech recognition with implications: “Voice Control is the new Touch, almost.” http://bit.ly/Xo3A7

  • Share/Bookmark

View Comments

Wallet Zero Launch

I got a wonderful email from Apple today telling me that my “app is ready for sale.” So, Wallet Zero launches today. My partner, a very sharp HBS grad, has really helped guide this along. This app could be quite successful.

Wallet Zero is designed to solve the problem of the physical wallet. The problem, other than the dearth of money in it, is that is just too thick. Among things that fill it, are a plethora of loyalty cards, gym membership cards, frequent flyer cards, etc.. Wallet Zero tries to get as many as those, as possible, out of your wallet and onto your iPhone. It is just that simple.

The technology:
For cards that have a barcode, we reproduce that barcode. For those without a barcode, we just show the account number. We also show the support phone numbers for each of the cards.

I’ve had pretty good luck with scanners being able to scan the barcode, but your mileage will vary. Scanner technology seems to vary by region. The CVS by my old house in Florida could read it just fine, but the CVS across the street from me here in Boston can’t scan the barcode, so the clerk enters it manually.

Each barcode is different. We’ve been steadily going through every popular loyalty card and matching the bardcode. This process includes matching the barcode “font” as well as check digits and a few other tricks. It’s a hassle and a lot of work, but it’s great once it’s built.

This is my first free app that isn’t meant to drive sales to another product. The business revolves around back end sales to businesses. This should actually also provide an even better experience to the end user. This first release of the app is mainly a reality check, but I’m hopeful of launching some great upgrades in the near future.

 

[Update] Wallet Zero is now a Top 50 Lifestyle application!

[Update] The coolest part here: When on the iPhone’s App Store, if you start typing ‘wallet’, it auto-completes to Wallet Zero!

  • Share/Bookmark

, ,

View Comments

I’m running out of disk space …

I’m running out of disk space on MacBook so I’ve velcroed usb drives to the lid. It makes it heavier, but I’ve gone from 100 G to 460G.

[update]: 2 1/2 years later (Dec, 2009), I’m using the same MacBook Pro.  The primary drive is now a 128Gig solid state drive and the CD-Rom has been replaced with an internally mounted 320Gig HD.  My external, velcro mounted, drive is a 500 Gig HD dedicated to backups.

  • Share/Bookmark

View Comments