Archive for the 'software development' Category

Hiding software complexity: Economic Value

Another important freebie that falls out of deposit pricing is deposit valuation. Banks often pay hefty fees to value CDI (core deposit intangibles, also called “unrealized gain”). CDI (the value to the bank beyond book value) is important because regulators demand it, but also is the major driver of shareholder value - and higher stock prices.

The figures coming from deposit pricing are more accurate and useful than any static valuation study.

  1. The rate-balance models are more robust and can be easily backtested
  2. Rate sensitivities capture deeper real world complexities than simple decay rates and runoff assumptions
  3. Data oddities have been automatically weeded out in import process
  4. Users can drill down in subtype, region, etc.
  5. Users can evaluate unrealized gain with only existing balances (useful for regulators) or all balances (needed for running a bank)
  6. Numbers tie seamlessly to profits and pricing
  7. Figures are automatically displayed graphically and in tables
  8. Cash flows can be integrated into ALCO packages

Ultimately, deposit valuation provides answers to important questions:

  • How much are my deposits worth?
  • How much could they be worth with better rates?
  • What is the relationship between balance, rate, and profit?
  • What happens to value when external rates change?

Economic value can be calculated for any set of rates, including those projected by today’s forward curve. Essentially, this is a method of boiling down profits over time - and valuing the short-term profits higher.

rvtr

Bankers need to model economic values in a special way when building numbers for the regulators (existing deposits only). In this case, the bank owes $2.3BN to its depositors (book value, red bar on right). Because the bank is able to repay deposits over a long period of time and at a low rate, the value of these deposits is pretty large - $200MM (green bar on right).

exist.jpg

Regulators also need to know how the value of the bank is affected by changes in the external environment. This information is combined with changes in loan and investment value (so regulators know the bank is not assuming outsized interest rate risk). Here, deposits are worth an additional $60MM (green bars on right) when there’s a +100 basis point rate shock. Even though deposits run off quicker, there’s more profit each month.

shock.jpg

Bankers value deposits in a different way when they are focused on running the bank than when preparing regulatory reports. Deposit valuation don’t depend solely on existing deposits. Bankers must also price (and value) new deposits coming in to replace deposit runoff. The total unrealized gain (CDI) is $350MM (green bar on right).

bvevall.jpg

Of course, this all ties back to deposit price optimization. Better rates deliver higher CDI. Here, we see an improvement from $350MM to $480MM - because of optimized rates.

bevg.jpg

Previous: Profitability

Bookmark to:
Add 'Hiding software complexity: Economic Value' to Del.icio.us Add 'Hiding software complexity: Economic Value' to digg Add 'Hiding software complexity: Economic Value' to FURL Add 'Hiding software complexity: Economic Value' to blinklist Add 'Hiding software complexity: Economic Value' to My-Tuts Add 'Hiding software complexity: Economic Value' to reddit Add 'Hiding software complexity: Economic Value' to Feed Me Links! Add 'Hiding software complexity: Economic Value' to Technorati Add 'Hiding software complexity: Economic Value' to Yahoo My Web Add 'Hiding software complexity: Economic Value' to Newsvine 

Hiding software complexity: Profitability

There are many features in deposit pricing software beyond price optimization. For example, check out profitability. Under Funds Transfer Pricing (FTP), profits are the difference between wholesale cost of funds and all-in rate (interest paid to depositors and servicing costs). This makes logical sense, but does not contain the important relationship between rate and balance. Therefore, it misses the time component.

  • What happens to profits as balances change?
  • What happens to profits when wholesale rates change?

We can look at any set of rates - whether we change what we give customers or if the external economy changes. Let’s look at what happens if rates stay flat, but treasury rates follow the forward rates embedded in today’s yield curve.

rate diff.jpg

These rates will affect balance flows and therefore, profits. The profit graph on the right shows how profits change over time.

profit

Finally, let’s bring this all together by viewing wholesale cost, servicing cost, and interest all in one screen. The difference (profit) is shown in green.

detailed profit

The deposit pricing approach is helpful in a few ways beyond the added accuracy:

  1. Provided in a pivot chart - the user can drill down to different regions or account types.
  2. Integrated with the other numbers used by the bank - no wasted effort nailing down discrepancies.

Next: Economic Value

Bookmark to:
Add 'Hiding software complexity: Profitability' to Del.icio.us Add 'Hiding software complexity: Profitability' to digg Add 'Hiding software complexity: Profitability' to FURL Add 'Hiding software complexity: Profitability' to blinklist Add 'Hiding software complexity: Profitability' to My-Tuts Add 'Hiding software complexity: Profitability' to reddit Add 'Hiding software complexity: Profitability' to Feed Me Links! Add 'Hiding software complexity: Profitability' to Technorati Add 'Hiding software complexity: Profitability' to Yahoo My Web Add 'Hiding software complexity: Profitability' to Newsvine 

Hiding software complexity

camo bird

Hidden complexity is an important part of good software design. We often push some functionality towards the background in order to focus on the primary benefits. This makes software easier to use, but runs the risk of appearing incomplete. In the worst case, users will look outside to complete tasks already handled by the software.

Think about a good kitchen faucet. It will be easy to clean, move to where you need it, and remember the last cold/hot mix you used. But most important, it should be easy to turn on. So this feature is made very obvious.

sink

Deposit pricing software is no different. The major reason for using it is optimize rates for higher profits (different from measuring profitability). So this is what is properly emphasized and this is what users think of first.

But it also makes sense to consider some of the secondary features that are integrated into any complete deposit pricing package. Three of the most important are:

  1. Profitability - How much is the bank earning from various deposit types and regions?
  2. Economic Value - How much are our deposits worth (core deposit intangibles)? What are they worth in different economic scenarios?
  3. Rate Exception Monitoring - How much are actual rates deviating from posted rates? Where do these exceptions occur?

The same calculations that are needed for deposit price optimization also let you answer other important questions. And the answers are superior to any external calculations because they are:

  1. More accurate - the underlying models are more precise
  2. More complete - all relevant factors are included in the numbers
  3. More detailed - you can drill down to specific regions, account types, etc.
  4. More accessible - output is provided in both Excel charts and tables

The moral of the story: even if necessity drives you to throw in everything including the kitchen sink, put the most important features front-and-center. But make sure the complete feature list is available for everyone, including prospects.

Bookmark to:
Add 'Hiding software complexity' to Del.icio.us Add 'Hiding software complexity' to digg Add 'Hiding software complexity' to FURL Add 'Hiding software complexity' to blinklist Add 'Hiding software complexity' to My-Tuts Add 'Hiding software complexity' to reddit Add 'Hiding software complexity' to Feed Me Links! Add 'Hiding software complexity' to Technorati Add 'Hiding software complexity' to Yahoo My Web Add 'Hiding software complexity' to Newsvine 

When gremlins attack, part II

gremlin

It was a tough demo. But after the stress of the demo is gone, there’s time to debrief and polish up any aspects that went awry.  Demo in haste, repent in leisure.  And this is how software gets good.
sharpdrop.jpg

I worked with Ivan and Sergey and realized that our numbers were right. The bank had been locking in 12 month CDs at 4%, but treasury rates have recently plummeted close to 3%. This brings loans from the wholesale market down to about 3.5% - and all of the 4% CDs were earning negative interest.

It takes 12 months for all of these CDs to be replaced at a lower rate. Also, the shape of the yield curve indicates it will be a while before rates come up again.

But even with the calculations working out, I still got pretty sweaty during the demo. It might not be all that different for a user looking at the same information.

We made a few subtle changes that should block surprises from this particular gremlin:

  1. Added a note to the user when the wholesale market changes drastically. Drastic changes only happen every few years - and the user may not easily remember the effect on profits and optimal rates.
  2. Displayed negative profits (instead of just cutting off the graph at zero). This leaves a constant reminder of deposit profits during the last low rate environment in 2004.

Old Negative

Note that both changes are so subtle you can barely notice them. But the problem disappears and the fix doesn’t create more issues. The last thing we want is software bearing the weight of a thousand error messages and menu choices.

While these changes are pretty minor, it starts adding up after a while. We’ve completed nearly 5,000 cases like this. And the gremlins are getting spread pretty far apart.

Bookmark to:
Add 'When gremlins attack, part II' to Del.icio.us Add 'When gremlins attack, part II' to digg Add 'When gremlins attack, part II' to FURL Add 'When gremlins attack, part II' to blinklist Add 'When gremlins attack, part II' to My-Tuts Add 'When gremlins attack, part II' to reddit Add 'When gremlins attack, part II' to Feed Me Links! Add 'When gremlins attack, part II' to Technorati Add 'When gremlins attack, part II' to Yahoo My Web Add 'When gremlins attack, part II' to Newsvine 

When gremlins attack, part I

gremlin

In real life, you never get a do-over.   But software inhabits a cartoon world  where stressing the system and watching for mistakes makes the product better and better.  Do it enough times and you get something really smooth.

I often demo with a version that has not gone through the testing checks applied to software for customers.  This lets me exercise the latest features and also works quality control a little harder.

I demoed SmartRate to a prospect the other day over the net.  We ran into a few glitches with GoToMeeting.  And then the software (seemed to) hit a major bug. CD profits in the demo displayed as negative.

negative profits

In case you’ve never demoed software as part of a sales call, the experience can be intense. I’d liken it to asking a girl out while drag racing. Adrenalin is coursing through your body and it’s only compounded by your reluctance to visibly break a sweat.

I knew I couldn’t think clearly, but negative profits seemed obviously wrong. Unless Crazy Eddie is running the bank, they probably aren’t losing money by paying out too much on interest.

I latched on to demo rule number one (move past the bugs). Unfortunately, this was right in the heart of the demo, so there was a large portion of the software which I never showed.

Turns out there’s a good reason for negative profits. Wholesale rates have been diving with the subprime mess. This means that CDs which were locked in months ago at pretty high rates are no longer making money (because the bank could get money at lower rates from the wholesale market). Today’s negative profits are a different kettle of fish (to be explained in a different post).

Even though SmartRate worked properly, there was still a problem. If I was flustered during the demo by negative profits, imagine the user hitting this issue during a presentation to the CFO. Good software should not make you sweat. Even if it’s complex.

When gremlins attack, part II

Bookmark to:
Add 'When gremlins attack, part I' to Del.icio.us Add 'When gremlins attack, part I' to digg Add 'When gremlins attack, part I' to FURL Add 'When gremlins attack, part I' to blinklist Add 'When gremlins attack, part I' to My-Tuts Add 'When gremlins attack, part I' to reddit Add 'When gremlins attack, part I' to Feed Me Links! Add 'When gremlins attack, part I' to Technorati Add 'When gremlins attack, part I' to Yahoo My Web Add 'When gremlins attack, part I' to Newsvine 

Deming’s Curse: Employee Metrics

cursed hand

My buddy Mark measures physical properties like outer diameter, durometer, and Young’s modulus when he builds custom rubber parts for F500 companies. He’s constantly improving quality along whatever dimensions his customers need. That’s life in the ISO-9001 world.

Business took a page from the manufacturing book with an adage from Edward Deming, “you can’t manage what you don’t measure”. Unfortunately, the quality guru never said it - because many important parts of your business can’t be gaged well. This applies most to employees.

Humans are much trickier to measure than rubber boots for submarine telecommunication cables. People game the metrics to look good.

Look at software. Programming managers like to measure software bug counts and lines of code. Coders naturally respond to bug counts by arguing with the testers about bugs instead of fixing them - or even avoid the bug tracking system. If you measure lines of code written, developers will tend to write bloated, unmaintainable code. Either criteria will cause worse performance.

Expect similar fun in banking:

  • Measure number of incoming customer calls handled? The call center will cut the customer short.
  • Pay branch managers according to deposit growth? They’ll push harder for unprofitable rate exceptions.
  • Pay tellers on customer satisfaction? They’ll waive fees too easily.

Employees are a little like subatomic particles - the very act of measurement will change them. Even if the yardstick is not explicitly linked to pay, people know that you are measuring because it’s important.

So what’s left?

  • Make the measurements ungameable: combine multiple measures together to make sure there’s no way to adversely affect the numbers. For example, profits measured with funds transfer pricing are much less vulnerable to bad rate exceptions than deposit growth. Or just stop using rate exceptions completely. Note: Fair Isaac’s James Taylor rightly points out that decision automation has side benefits of reducing gamesmanship while focusing employees on the customer.
  • Allow your employees to skew their outlook: it may not be a bad thing if tellers are solely focused on the customer - even if this drops fee income a little.
  • Manage subjectively: Throw out the worst metrics and replace them with good judgement.
  • Inspire your employees: Most people want to do the right thing. Make sure everyone understands how important banking is to the rest of society - a world without mortgages or savings accounts puts people in worse homes and keeps money hidden under the mattress. Explain how better customer service lets someone’s grandmother relax a little when worrying about money; higher profits allow the bank to help more people. Listen to their own ideas for how to improve.

Bankers: We rely heavily on yardsticks - and even more since SarbOx came along. Take the time to ensure these measures clearly transmit the right information and help the business.

Bookmark to:
Add 'Deming’s Curse: Employee Metrics' to Del.icio.us Add 'Deming’s Curse: Employee Metrics' to digg Add 'Deming’s Curse: Employee Metrics' to FURL Add 'Deming’s Curse: Employee Metrics' to blinklist Add 'Deming’s Curse: Employee Metrics' to My-Tuts Add 'Deming’s Curse: Employee Metrics' to reddit Add 'Deming’s Curse: Employee Metrics' to Feed Me Links! Add 'Deming’s Curse: Employee Metrics' to Technorati Add 'Deming’s Curse: Employee Metrics' to Yahoo My Web Add 'Deming’s Curse: Employee Metrics' to Newsvine 

How to kill a car (or a business) with bad UI

I needed a car for a few days in Denver earlier this week. I heard Chrysler is becoming American again, so I wanted to tool around in a Dodge Charger.

Charger
The car only had 5,000 miles and looked pretty sharp, but when I got to the checkout booth, I heard horrible valve tap (a good sign the engine is in trouble). The guard not only heard it too, he noticed it on a different new Charger last week.

The rental agency quickly hooked me up with a different car and I was on my way. I had the car up to a whiny 25 mph before I realized I was stuck in first gear. Turns out the car has Tiptronic-type shifting (automatic, but you have to wiggle the gear shift to change gears). Unfortunately, the designer didn’t make this obvious to the user (build one position for normal and one position for Tiptronic).

interior

All it takes is a nudge on the gear shift and you’re locked in first. Pretty natural for a manual driver or just about anyone with a right arm.

Mystery solved. The previous driver was distracted by kids in the backseat or finding his way in a new town. He didn’t notice the plague-of-angry-wasps sound, so he redlined on the highway for five minutes before catching on.

Note to Detroit: don’t make it easy for drivers to accidentally wreck expensive machinery.

Which brings us to software.

menu
Everyone has used software designed to enrage humans. We bankers have suffered worse than anyone - I shudder when I remember working with one particular core processing system.

User interface is often an afterthought. But good user interface is more than having a pleasant day at work. Good user interface makes it harder to get bad results.

Interface becomes more important in complex business domains, like deposit pricing. There are just a heck of a lot of intricacies when the job is done properly. Bootstrapped forward curves, activity-based costing, maximized economic values, data cleansing, nonlinear predictive analytics, and so on.

A crisp interface is all that stands between the user and information overload. Some of the basics:

  1. Stick to familiar ground. Make the application work like it came from Microsoft. In fact, if you need to present complex data, use Excel for building reports and editing data.
  2. Stay consistent. If you refer to a “rate scheme” in one place and a “rate outlook” in another, users will spend more time thinking about trivia and less about their business issues.
  3. Organize, organize. Make sure the software is lined up with the user’s internal model for how the underlying problem works. Precise organization allows people to look deeply into complexity when needed, but not worry about most concepts most of the time.
  4. Take the time to refine. Even a great designer will not create a perfect interface from the outset. Great ui comes from removing a thousand tiny snags.
  5. Watch for user “mistakes”. User errors are maps to better ui. What cues misled the user? How can the software subtly nudge the user in the right direction next time?

UI is much more than pretty graphics (also good, but the equivalent of the Charger’s beautifully aggressive styling). UI is the combination of a thousand subtle design choices that keep the user in control. UI refinement may be difficult to notice during a sales demo, but is critical in real usage.

Business software is never going to reach the heights of iPod-level design. Bad software design is unlikely to leave a family stranded on the shoulder of I-70 with a seized engine. But the goal of our software is also important: make the bank millions in extra profits through price optimization.

It’s worth making sure ui doesn’t stand in the way of results.

Bookmark to:
Add 'How to kill a car (or a business) with bad UI' to Del.icio.us Add 'How to kill a car (or a business) with bad UI' to digg Add 'How to kill a car (or a business) with bad UI' to FURL Add 'How to kill a car (or a business) with bad UI' to blinklist Add 'How to kill a car (or a business) with bad UI' to My-Tuts Add 'How to kill a car (or a business) with bad UI' to reddit Add 'How to kill a car (or a business) with bad UI' to Feed Me Links! Add 'How to kill a car (or a business) with bad UI' to Technorati Add 'How to kill a car (or a business) with bad UI' to Yahoo My Web Add 'How to kill a car (or a business) with bad UI' to Newsvine 

Dogfooding Bank Software

Dogfooding is the practice of using your own products.  The term comes from marketing slang - “will the dog eat the dog food?” - shorthand for the idea that the product may be amazing, but ultimately, it only matters if the consumer likes it.

Dogfooding was made famous at Microsoft, but has spread well beyond Redmond, Washington.  Lots of companies dogfood their products now.  Some choose more palatable imagery.  For example, Siebel Systems calls it “sipping your own champagne”.

Whatever you call it, the thought is right.  Otherwise, the annoying nuisances in the product never completely go away.   Read more »

Bookmark to:
Add 'Dogfooding Bank Software' to Del.icio.us Add 'Dogfooding Bank Software' to digg Add 'Dogfooding Bank Software' to FURL Add 'Dogfooding Bank Software' to blinklist Add 'Dogfooding Bank Software' to My-Tuts Add 'Dogfooding Bank Software' to reddit Add 'Dogfooding Bank Software' to Feed Me Links! Add 'Dogfooding Bank Software' to Technorati Add 'Dogfooding Bank Software' to Yahoo My Web Add 'Dogfooding Bank Software' to Newsvine 

A giant step towards flawless execution

“Wiki”. Even the word is silly.

Say wiki out loud among responsible adults and get the same look you’d expect if you brought up your Dungeons & Dragons fairy character with strength = 10. Over Scotch at the Algonquin.

Last time, I quickly covered by bringing up wikipedia (amazing encyclopedia built with a wiki). My companions were relieved that I was not speaking complete gibberish. We hurriedly changed topics before they risked hearing about my comic book collection.

But wikis really are that important to banks, software companies - virtually any organization that has access to computers. While wikipedia is amazing, it has very little to do with the true power of a wiki in a company. Read more »

Bookmark to:
Add 'A giant step towards flawless execution' to Del.icio.us Add 'A giant step towards flawless execution' to digg Add 'A giant step towards flawless execution' to FURL Add 'A giant step towards flawless execution' to blinklist Add 'A giant step towards flawless execution' to My-Tuts Add 'A giant step towards flawless execution' to reddit Add 'A giant step towards flawless execution' to Feed Me Links! Add 'A giant step towards flawless execution' to Technorati Add 'A giant step towards flawless execution' to Yahoo My Web Add 'A giant step towards flawless execution' to Newsvine 

Switching out the dies

The Japanese car companies began to run circles around Detroit in the 1970s.  They didn’t outspend us or apply better technology - they focused on continual improvement.

They worried about more than improved quality.  The Japanese engineers thought about how to make it easier to improve quality. 

One typical example was a focus on switching out dies - massive hunks of metal that bash sheet steel into doors, hoods, and fenders.  Want to fix a problem caused by a bad die?  That will cost you three days in assembly line down time.  Of course, dies were rarely switched out.

Toyota concentrated on switching out dies quickly - an activity that has no direct benefit for the consumer.  They tried many ideas and eventually brought change times down to a minute (it’s now called Single Minute Exchange of Die). 

Then the customer started getting benefits.  Fixing problems was no longer painful, and quality shot up.

It’s the same in software or in banking.  Process matters.  Make it easy to fix problems and quality moves up. Read more »

Bookmark to:
Add 'Switching out the dies' to Del.icio.us Add 'Switching out the dies' to digg Add 'Switching out the dies' to FURL Add 'Switching out the dies' to blinklist Add 'Switching out the dies' to My-Tuts Add 'Switching out the dies' to reddit Add 'Switching out the dies' to Feed Me Links! Add 'Switching out the dies' to Technorati Add 'Switching out the dies' to Yahoo My Web Add 'Switching out the dies' to Newsvine 

Next Page »