Graft Your Org Chart

Programming for business reporting is to too often ignored.  You often have programmers who wield their skills from a technical perspective.  Business folks, who need reports which transcend the readily available “canned reports”, who must dig deeper into their data to extract the actionable gems often don’t have those skills.  Sadly, depending on where you work, those two don’t talk to each other enough to get advice from each other.  I believe times are changing.

There has been no other time in history when we needed more collaboration on how to make ends meet within our economy than now.  Wait, it gets sweeter.  There is no time in history when there were so many critical thinkers who can process the raw data of business as there are today.  Programmers with 20 years or more programming, managing, and business experience are not impossible to find.  Any good programmer will do if you are willing to put the time into the relationship.

Business men and women: I recommend you consult with a programmer.

Programmers and engineers: I recommend you consult with business decision makers.

We can use business intelligence to pull ourselves out of this economic mess right where we are right now.  Let’s get to work grafting and fusing that org chart!

PS (another teaser) I’m having a great time using the Python-excel libraries at http://www.python-excel.org/ More later.

Google Analytics Automation Through the API

I write a lot of reports on website performance for businesses.  Most large companies like the report to come in a familiar package like an Excel spreadsheet.  This is tough when your report must showcase only the important information about a site’s activity and online marketing activity.  How do I do it without loosing all my time to downloading different analytics reports as .CSV and doing tons of work in Excel?  Enter the Google Analytics API and Python.

In the next few blog posts I’ll share some how-to steps for the highly technical analytics/digital marketing professional to automate some of the most tedious steps in reporting.

Balanced acquisition marketing

Acquisition marketing.  Most businesses want it.  I do it; with a twist.

Of course you want new customers.  In this statement is the assumption you are from planet earth.  If this assumption is incorrect please forgive my ignorance.  So, for us earthlings we believe in growth.  I have, what I believe is, a balanced approach to reaching, satisfying, and speaking to existing customers  and acquiring new ones to achieve growth.

Our gut reaction to spending money on marketing activity to existing customers is “Over my dead body” because it is new customers that directly account for “growth”.  I understand that and find the argument impossible to ignore.  However, I recognize the relationship between current customer satisfaction and the growth of positive word of mouth marketing.  Remember, few things are able to generate a sale like a trusted recommendation.

My approach is always to maximize growth through both new customer connections AND reminding existing customers why your business was the best choice.  Why should they compete?  In the process your advertising creates conversation pieces.

Here is a set of three ads that highlights our approach:

Acquisition focused, ready to sell:

Longhorn Network
Subscribe Today, Introductory Pricing
$69.99/mo. Includes Phone and Internet
CableInc.com

Soft seller:

CableInc TV is Smarter
TiVo Learns What You Like and Don’t
TiVo Suggestions Adapt
CableInc.com

Watch Longhorn Network
Check The Channel Lineup
Only CableInc Has It
CableInc.com

A well designed campaign will provide BOTH ad styles.

In closing, don’t miss the opportunity to BOTH acquire new customers AND enhance the satisfaction of existing customers with your marketing spend.  You don’t have to.

Rackspace Cloud Servers: So far, so good

I’ve moved a forum with 30,000 visits/month and 250,000 page views/month from an EC2 micro instance to rackspace’s smallest “256MB” server.  I did this because the EC2 micro instance was “complaining” by limiting the performance of the server when the site would hit periods that would max the CPU for more than a few seconds.  I thought that was the ideal candidate for a micro instance!?  This was causing the site to slow to a crawl for little chunks of time when the site was heavily visited.  The Amazon AWS EC2 micro instance was NOT the tool for the job.

I was not convinced however, that the next step up to a “small” instance was the best path forward for this site.  A micro instance runs about $15/mo. + data transfer and storage and a small runs about $70/mo. + data transfer and storage.  Since the cpu was only exceeding 40% occasionally during short periods of about 5 – 30 minutes about 10 times a week I just didn’t feel good about that price jump.  That got me looking around at alternatives.  Here’s my previous post on that search.

So how did this switch go?  Very well.  I went from maxing out cpu occasionally with corresponding site sluggishness to smooth page loads at all hours of the day — so far.  It has been about four days.

Right now I’m not just happy with a little more horsepower for, believe it or not less money, but the UI of the cloud manager is beautifully simple.  It makes easy things easy.  Best of all is they’ve eliminated all the different kinds of storage — many ebs buckets mounted at different points.  As useful as that has been to me in a previous life (pennswoods.net/atlanticbb.com) for scaling massive legacy systems (email for example) it creates so much work for simply running a website that is fairly busy.

I haven’t formatted an EBS volume, fought with attaching it to my instance, nor tried to figure out an effective labeling scheme to keep track of my system wide (multiple EBS volumes) backups for rackspace cloud.  What about creating AMIs?  No problem.  The running server is persistent!  When you make changes to a server, stop it, restart it they’re still there!  Crazy; I know.  I’ve got my fingers crossed that they keep it this simple and it stays stable.

Here is a cool systematic comparison between the two http://www.thebitsource.com/featured-posts/rackspace-cloud-servers-versus-amazon-ec2-performance-analysis/

Why oh why EC2 do you make me blue?

Amazon EC2.  I love it!  I hate it!  It frustrates and frees me.  It is many things.  However, EC2 fits into my business in an unusual way.  I need to host websites to facilitate my clients’ goals.  To do that I need servers and I need many of them.  I’m a veteran Linux admin, I’ve written more than my fair share of shell scripts, and managed NOCs and engineers seperated by hundreds and thousands of miles so I don’t think I’m asking for too much that this service would be easy to use.

These days I rely on simplicity to ensure that I can squeeze my server administration tasks into my spare time.  However, as my free time shrinks and my server numbers grow (slowly, but surely) I find EC2 less of an ally.  I’ll give you a couple of examples:

Example 1:

I’m building a server to replace a busy local forum.  I want to start my newest AMI for the running server.  Wait a minute… I have data backups but I don’t have all the newest changes built into a bootable AMI.  Ok.  I’ll just make an ami then boot it.  Easier said than done.

I know there is a sequence of steps I can carry out with the HTTP API for EC2.  I don’t really have the extra time to code that up and make sure it works like expected.  So I pop over to the EC2 management console.  No dice.  If I make an AMI without stopping the running instance first it stops it for me.  Did I mention the management console doesn’t warn me about that?  Bottom line:  Using the web interface to EC2 management I must disrupt service for my otherwise stable server.

Of course I could build a more robust cluster however do you think I have time for that if I’m spending most of my time each week consulting and writing?  I just want to turn on a server, back it up, keep track of which data is associated with it and easily launch a new copy of it.  In the modern cloud environment that doesn’t seem like a tall order.  Does it?

Example 2:

I’ve managed the downtime I needed to make a fresh AMI of my running server.  I’m making changes to the way it works, the way it boots, and configs for various daemons.  To ensure I’ve got a good config I need to reboot the server.  This tells me definitively if a new server started from my, underdevelopment AMI, will boot correctly with all the needed services and no unneeded services.  Rebooting…

Darn, now I can’t connect to the database server.  Oh!  That’s right.  Every time I reboot or start and stop an instance it gets a new private ip address.  No biggie; right?  Wrong.  The private IPs are the ones used for on-amazon connections.  This means I have to go to my development server and get its new private IP, find the security group for the database server, and allow the development server’s new private IP.

Whew!  Honestly, that’s just the start of how amazon makes NOC/server management so easy AND so complicated.

I might not care so much but I have probably 10 sites I’ve written on Google’s App Engine.  That is as close to effortless as I can imagine.  I’m not in love with the degree of vendor lock in there.  Nor can App Engine solve all problems.  Not by a long shot.  However, it has its place and does what it does with extreme simplicity.  Thank you Google.

So, recently I’ve been looking for a successor to EC2.  I’ve hear about rackspace for years and I thought “Maybe just one or two physical servers could simplify this?  Maybe the virtual thing isn’t necessary for my tasks?”  Then I visited http://www.rackspace.com/cloud/cloud_hosting_products/servers/technology/ and found that they seem to have a very competitive cloud sever environment.  Reading their tech specs the server image creation might be easier.  Backups might be easier to manage.  I’m dying to try it!  I just signed up and I’m in the management console now.  Wish me luck!

PS I’ll give you one guess what my next post will be about.  Know what it is? ;)

PSS I’m not getting anything from rackspace to write this.  They look like a good alternative and I’m excited!

Web and IT Simplicity

This is an underrated idea.  Businesses and organizations with a heavy dependence on the web or IT often miss this point.  They are often so caught up in how to add features, upgrade their systems, support customers, and so on.  However, EVERYTHING in your organization stems from the way you process customer calls, the way your customers run your web app, the way you view reports from your CRM system.  Your complex infrastructure is actually complicating everything about your business.  From the CEO or owner’s decision making all the way down to the customers experience calling in for help with your services or products.

Do your customers and yourself a favor today: eliminate one feature or choice on your website or web app.  Tomorrow?  Eliminate one unnecessary server in your data center.  Next week?  Do it again.  Just pick on one small problem area each week.  Don’t worry about getting everything fixed; that’s what got you in this mess in the first place.

Disclaimer: A small fraction of the world’s businesses are so simple their bottom line would be hurt by taking this advice.  You know who you are:  Don’t take this advice if you are already in the 99.999th percentile for IT simplicity.

Spend time working with your employees

I was on my way to my last planned meeting with my last remaining pennswoods.net engineer, Chris, this morning when I had a thought worth sharing.

Great insights come from involving yourself with the people that make your strategy happen.

Some background.  First, I’m leaving Atlantic Broadband after working the last year to help them bring Pennswoods.net into their workflow after purchasing it December 17, 2009.  Also note: I’m leaving Pennswoods.net not Chris.  Chris stays.  Ever since I made Pennswoods.net’s network and services I’ve continued to do some of the work to maintain and grow it’s features.  This came naturally to me.  Even though at our peak size I had six engineers working for me I just couldn’t part with the engineering skills that got me where I was.  I stayed involved.

This alone could lead to anything from disaster to great success.  Given our track record at Pennswoods.net I’d say great success.  During my time there we:

  • successfully scaled from zero customers in December of 1999 to 30,000 customers in 2002
  • Managed all the conventional ISP services like email, dial-up equipment, web sites, and our own customer relationship management software.
  • Scaled the network down to handle the 7,000 or so remaining customers Pennswoods.net still services (Thank you!)
  • Tuned into the “next big thing” with our web sites in 2008
  • Grew our classifieds.pennswoods.net site to have days with 1,000,000 views and to more than six figures in revenue annually.

So, as you can see, we were a “great success”.  I can say this without feeling like I have a big head and my head will fall off my shoulders because I’m not the only responsible party.  I had an engineering team for a reason — they MADE the success.

This is what made the difference:

Spending some time working alongside your employees on projects will connect you much more deeply with the strategy you’re asking them to execute.  This will help you find flaws in both your strategy as well as their execution.  The next your team comes to you and says “We’re not going to be able to do that.” or “It’s not like that.  We can’t do it that way.” You’ll have a lot more insight which will aid you in either changing your strategy to accommodate reality or motivate them to find the way to do it.

It takes A LOT of balancing.  It’s tough.  If your involved in the same things the team you’re managing is you’ll probably tend to micromanage.  I knew that would be a problem and I most definitely did micromanage at times.  It is only through copious trial and error over several years of honing this approach that I got to a point where I felt balanced and I could really see my engineering team at maximum output.

Just remember: Stay in tune, it pays off!

New technology companies and complexity

Here’s a thought: Most new technology companies which are started by techie boys and girls will make an important mistake. They will have embedded in their minds that growing the complexity and “completeness” of their technology offering is a kind of success. To them it will be the dominant focus of their thoughts.

Some of these companies will survive anyway — these are the lucky ones. Some will succumb to the complexity they build INSTEAD of paying customer relationships. Once upon a time I too measured my success by “Look how many web servers I have.” and “We’re just turned on our fourth network operations center”

Take away: Technology is powerful. But like any drug take it only to improve the function and health of your core business.

(I originally posted this to my personal blog at http://www.raeleo.com/leo/2011/01/06/new-technology-companies-and-complexity/ and then I realized that my Digital Mountain Consulting visitors may find it interesting as well.)

Landing Pages — Conversion 201

First, let’s define “landing page”.

Definition: Landing page — the web page you are delivered to after clicking on a web advertisement.

Landing pages are web pages.  Plain and simple.  They are THE web page you are delivered to after clicking on an advertisement.  A bad landing page doesn’t match the ad that delivered the viewer to it.  A good landing page has a single purpose. They are tailored to be an easy transition, or landing, from the ad that was clicked to get to this single purpose web page.  What’s on the landing page should not be a surprise coming from the ad that was clicked.

So what’s the secret to maximizing conversion (for more on conversion read my previous article “Conversion 101“?  There is no silver bullet, but there is a plan you can follow that will help you find the best match between advertisement and landing page.  Here’s what I do:

  1. Make a couple of ads specifically to encourage viewers to take a certain action.  Examples:
    1. Good — Sign up now for an oil furnace tune up.  You’ll  save up 25% on your heating bill this winter
    2. Good — Save your time and your back this fall.  Schedule a leaf clean up now.
    3. Bad — Look at our services for your oil furnace
    4. Bad — Yard services for all seasons
    5. For more insight into making and testing ads read “Do They Want It?
  2. Make sure the clicks from your ad are sent to a landing page that is focused to entice a person who was interested in the ad. Examples:
    1. Good — Advertisement: “Save 25% on your heating this winter with a oil furnace tune up” Clicks through to a page that informs the visitor: why you are the best choice for furnace tune ups, a short list of what the furnace tune up consists of, and an email form that collects the customer’s name, phone number, and best time to call to schedule an appointment.
    2. Not as good — Advertisement: “Save your time and back this fall.  Schedule a leaf clean up now” clicks through to a page which explains your leaf removal service.
    3. Bad — Advertisement: “Save your time and your back this fall.  Schedule a leaf clean up now” clicks through to your home page with the address of your business

When you start thinking about it, this process makes sense and really comes into focus.  Here’s another way of looking at these three steps:

  1. Don’t pay to advertise something without knowing what you expect it to do for your business
  2. Don’t pay for advertising and send the viewer to a page that is not focused on exactly the reason the ad that brought them there
  3. Make the action you want your visitor to take simple.  Don’t expect them to fish around on your site for how to contact you, how to schedule a call back, and don’t make them guess exactly which product or service the ad was for.

Conversion 101

Advertising systems on the web make it easy to answer the question “How well is my ad working?”  For more on this see my previous post “Do They Want it?”  This leads advertisers to ask the next question: “How do I know if my ads are bringing in more customers?”  In the advertising world this is called “Conversion”.  Conversion can mean different things to different organizations at different times in their online advertising.  Conversion is often broken down into steps that eventually lead to customers.  When you break the ultimate goal of a new paying customer down into smaller steps, conversion happens when the visitor to your site takes an action you desire.  Here are some actions you may like to convince a visitor to your website to undertake:

  • Most useful — Buy something with a “Buy It Now” or “Add To Cart” payment link
  • Good — Fill out a contact form saying they want you to call them to discuss a product or service
  • Less useful — Show them a specific product
  • Least useful — Educate them about your business (unless you’re GE, IBM, or something)

Notice, these tasks are ordered from most likely to deliver sales first to least likely last.  Whatever action you want the visitor to carry out, you should have a goal for this interaction.  When the goal is completed you have a conversion!  Now that we know the goal, conversion, it’s time to define and address landing pages.  Hang on a minute, let me check my watch (phone)…  Shoot, we’re out of time this week!

Stay tuned for next week’s article on landing pages where I’ll define them and explain how you use them to drive conversion.