How to Create a Data Driven Company While Operating One That Wasn't

A New Paint Job

I walked in one morning after a trip out of town, and we had our new logo and motto plastered all over our wall: "Don't guess. Measure."

We talk a lot about our transparency, and value delivered here. This was as simple a phrase as any for us to focus on.

I told the team that I wanted to know what values of ours that they most wished we focused on, and this was how they did it.

So as the CEO, I wanted to support their effort. Yes, we borrowed the phrase, but it was also good advice. We were experiment driven. Why not really measure it all?

We already tracked a lot of things, but we'd never really focused on the insights that data might give, or the measured result of experiments and initiatives (even if we understood the results of them well enough to make what we thought were good decisions).

Here's how we did it in a matter of weeks. Hopefully, our quick romp through these services will give you ideas on how to do it faster yourself as well!

What we used to do.

We used to spin up a beautiful homepage once or twice a year, with what we thought would be the best messaging until we got a chance to really sharpen it.

We never spent money on advertising. We had a write up in the papers often enough for people to remember who we were.

Our landing page sent us an e-mail for anyone that wanted to talk to us.

This works. Sort of. But it doesn't tell you how effective or ineffective a growth strategy was. It doesn't hold our feet to the fire when we haven't figured out this quarter's overall initiatives for creating awareness of our company.

It wasn't measured. If we got better or worse, it would be a while before we realized it.

If we were going to stop guessing, we had to fix our tracking tools first.

How we serviced our customers

We record everything. We discuss progress three times a week. Every hour is accounted for, and every commit of code is matched up. Velocity is stamped week after week in Pivotal Tracker for our customers to access.

So if a customer ever asked:

"What am I getting for what I'm paying?"

We would have to quickly run a search and tie up the records and produce the report.

Nick and Thomas hard at work, hopefully not on crunching a report's data...

And when we had questions of our own about the past, we would do the same little dance and have an answer. Most of the time. Unless it required deep digging. And then we went off what we knew, which was probably acceptable.

Except when you have "Don't Guess" plastered on your wall.

How we're changing

Today, our strategy is very different. We understand that our customers, those who need help in a hurry for their mobile apps, have various timing events. Being relevant in those moments is now our driving focus in the new "growth" department (super original, right?).

HR problems, hiring freezes, one-off products or initiatives, teams that are stretched thin, etc all come at various moments within a startup's journey. We are often recruited into those gaps and allow a company to continue operating.

But no matter how someone executes their services, value must be measured. Guessing, hand waving, and hunches were no longer tolerable.

One Database to Rule Them All

Let's talk about Data Warehousing for a moment. It's kind of the ugly duckling of the bunch of great analytics options out there. Most of the big kids on the blog use these techniques, and it's been around for... well, awhile now.

There's all this amazing new hotness that you can get into easily with Mixpanel,, and if you explore for analytics platforms you'll find others. Most of them are event based, which means some identity (you, me, a neighbor, a facebook friend, etc) is generating events.

An event is something like, browsing a page, clicking a button, closing the browser, ignoring a pop-up, etc. But, there are many events in a business like ours. Customer calls, new e-mails sent, git commits, etc.

And, for that matter, there are many "entities" in our business. We have campaigns, ads, anonymous visitors, captured visitors, leads, customers, projects, resources, etc. Keen is an amazing way for you to store this type of data and track events against each entity from a point forward in time.

But that's where a good Data Warehouse comes into play.

What a good Data Warehouse gives you is the ability to continually fill in the blanks very easily, and very quickly from a variety of sources of information. You don't have to think of the questions you'd like to answer up front, and you can literally measure all the things with no sweat.

If during week 10 of a campaign, you suddenly have access to new information to gain insight from, you'll want to retroactively add that data to your datasets. Modern tools make this possible, certainly, but not as easily as Textur does with a singular endpoint and a familiar SQL interface to the data.

With Textur, we simply bombard it with the updates from all the things and it shoves it through our SQL designs, turning json structures into tabular data we can slice and dice in a dizzying number of ways.

So what is Textur?

Introducing Textur

I got a chance to meet Han Gao, Head of Ops, face to face on a recent business trip. When he told me about what his passion was and what he was working on, I told him that was exactly what I'd been looking for and begged for access.

What you'll quickly find when you get into the game of data, is that finding answers to the questions quickly and over time can easily become overwhelming, both in terms of options, limitations and costs.

Many services out there allow you to write SQL to modern cloud-based databases and allow you to produce graphs and visualizations from that data.

Often those services are hundreds of dollars a seat. If you work at Megacorp, Ltd in the healthcare industry, with dozens of analysts to analyze the other analysts, then it's probably within your reach.

But for a bootstrapped initiative like this, I wanted something that I could both control and get all the questions answered in the future as I learned more about the data, without having to pay hundreds of dollars a month for this single tool or database.

In B2B sales, you don't have all the information up front. You have SOME of the information, and as you get to know a customer more deeply, you'll interact many more times, and each interaction generates information.

With tracking for that, we can begin to answer questions like:

On average, how many interactions do customers have with us (including ad dollars spent, emails, phone calls, meetings, etc) before revenue is created?

On average, what is a typical velocity of the project given someone with experience in years of a skill?

Textur allows you to do just that. As you gain insight into data, format the data, wire up APIs to even more data, etc, you'll want a singular place to send everything to and that can be hooked up simply to everything else.

Textur is awesome because they have two plans. One is a premium where their wizards handle all of the cloud-based data warehousing needs and host your database. That fee covers the monthly premium for those cloud based services forever, by the way. You just send data in and write SQL to get data out.

At Twin Engine Labs, though, we've got a house full of devs and now a new data geek. We want to get in there and learn the guts of it. Textur let's you have direct access to the Amazon Redshift instance backing it all.

By using Textur, we were able to hammer their API with data from everywhere. They then normalize it into scalar values from all kinds of peanut butter that we throw their way.

We use internal tools (a lot of custom agents for the Huginn platform) and "glue" services to get the data there.

From there, we get to write SQL (a skill that many possess today) to break the data down into facts. If we want more data for a fact, we go and get it, and shove the new data into the dataset.

The ability to own our data was key, but we knew how valuable a single endpoint would be to our efforts.

Now, literally everything is able to be piped in. From Ad to Prospect to Lead to Close to Services Rendered to Revenue, we can track it all thanks to that one endpoint. As you can imagine, we're gluing together a lot.

And that service, if you are willing to maintain the Redshift instance yourself and have the expertise to do so, is an even better deal than their premium services (though you do incur all of the Amazon costs).

So now that we can send data, how do we track it all?

Enter + +, combined with Autopilot and Instapage are my latest and favorite tools of choice for piping data everywhere when concerned with inbound sales and funnel work.

With Instapage, you're able to have full control over the Javascript and HTML of every page you create. While we took a non-standard approach (an entire site through their service), it works wonderfully, and using Segment as the code that wires up all the other services is perfect.

So we recreated our website in Instapage. It's a long way from perfect (I'm the worst critic, and perfect conditions are pretty atypical in a young company!), but it allowed me to connect everything I needed in a matter of hours.

So when we use advertising on various platforms and re-targeting with to draw interested customers back in, we are able to send them somewhere we can quickly A/B test and measure conversions through.

Once a visitor triggers any visits to our page, their data is piped back through Segment, into our automation tools, and all of it is sent into our Textur instance with campaign information attached.

After a visitor becomes engaged enough to reach out and contact us, we funnel them into to ensure that the interest is nurtured during all of the timing events they could be going through.

Autopilot allows you to do magical, powerful things. Think of it as an If This Then That ( for the modern marketer.

Not only can you use very precise techniques for your emails (decisions based on what to do when no open happens, when a click happens, an open, multiple opens, etc), but you can also create interactions between the website and the lead directly depending on their interactions between pages, campaigns etc.

Powerful tools like smart segments that allow you to filter leads based on custom fields and other criteria allow you to trigger multiple journies for a customer that interconnect.

A/B testing your entire logic and flow of a journey is as easy as dropping a block and setting which side gets more of the A/B test (50/50, 30/70, 10/90, it's up to you). All of this is done by easily dragging and dropping the decisions from one action to another action or condition (the arrows in the screenshot).

And it's incredibly affordable.

When service begins

When a customer enters our funnel, we begin by reaching out to them to understand their needs, to explain our services, and to offer options for working with us if they desire.

We do a lot of education on what it means for us to be transparent, what it's like working directly with our production staff, etc. And then, once everything is agreed upon and our expectations are mutually aligned, we sign agreements.

All of this is processed via a tool called Pipefy allows you to work with a "Trello" style board but with rules and required fields attached to the action of moving a card.

This naturally lends itself to automated messages which we wire up to our team when needing to resource and to our legal when needing agreements.

This allows us to never miss a beat when it comes to onboard an interested customer.

Resourcing, Tracking Time, and Measuring Velocity

We use Harvest and Forecast for all of our resourcing decisions.

Forecast allows us to see how a particular resource will line up with a particular need, and we can track budgets and time logs against the forecasted result.

From there, once time needs to be logged, we use Harvest to track the hours with detailed summaries of what the block of time produced.

To get a true understanding of how much we output, again Textur comes to the rescue. We pipe every commit, every hour log, every budget, and every ticket movement into there.

We are still sifting through the data, but the great part about all of this is that we don't need every last bit up front.

Visualizing Weekly

We have a weekly all-hands every Wednesday. During that time, it's the growth team's job to inform the rest of the company about the current experiments (tracked via's Beta Experiments Canvas), and discuss impact and improvements, as well as review the learning from each experiment in their backlog.

We are still experimenting with visualization, but we use a combination of everything: Mixpanel for a high-level understanding of our users and what they're clicking on, advertising results to determine what's working and what's not, and raw "all-the-things" reports for answers to other questions.

So far, it's the last little puzzle piece to round out our collection of tools that give us a completely measured funnel, from dollars spent for new business to value delivered in the past and present.

To help with visibility, key events are also pushed into our Slack channels so the staff can respond to them on the fly.

2016 and Beyond

We're testing more ways of gaining insight by the large amount of disparate data our firm generates for every engagement and new customer.

There are many other tools we are experimenting with in the shop right now that show a ton of promise in the mobile realm as well (for instance, Taplytics is my current favorite when it comes to the sheer amount of potential it has for doing A/B tests).

We'll report in on them when we've seen value!