Who? What? When? Here.
Wanted: Junior Superhero
If the 9-5 drudge is too much for you, why not join us and do 5-9? It might not be quite those hours (sometimes it’ll be more) but we do have high expectations.
The reward? You will never be bored. You will learn and develop at a dramatically accelerated rate. Think of joining CANDDi as like being bitten by a radioactive spider. You might not be able to leap buildings, battle goblins and shoot webs from your wrist, but we guarantee to make you a super-human coder and way more employable than Peter Parker.
We need a hybrid. Just like Spiderman can shoot webs while spitting witty one-liners, we need someone with two talents. Candidates must have both the coding skills to hold his or her own against our very own Doc Ock, and the business nous to understand the context of what they’re doing. You will be working with our customer team to teach CANDDi all about our customer’s websites, and that means you need to *get it*.
If you know your way around code but have the brain of a businessperson, and you want to learn more, fast, then drop me a mail: tom@canddi.com.
(BTW – this is the sort of thing that superheros do: http://blog.ridejoy.com/how-to-woo-a-startup-the-best-resume-ever/)
How to Fail on Personalisation and Privacy in the Same Email
When you need to vent, it’s great to have a blog. If your need to vent is related to the topic that blog addresses, then so much the better. So when I got this email this afternoon, I knew just what to do.
“Thank you for instructing (LAW FIRM) with [REMOVED BY ME] Conveyancing
Track your case progress with our new case tracking system. You can follow your case from start to finish and maintain two way communication with (LAW FIRM).
Please use the details below to login.
Login - [MY EMAIL ADDRESS]
Password – [MY HOME PHONE NUMBER]
This message has been scanned for viruses by BlackSpider MailControl”
OK, let’s deconstruct this a little bit. To be clear, the stuff in square brackets is my edits. The ‘(LAW FIRM)’ was already there….
- I don’t like emails from anonymous addresses I don’t recognise.
- They clearly know who I am, but they haven’t personalised the mail.
- They’ve failed to set up their system properly.
- Where’s the link!!???!??
- Erm, security?
The bit you can’t see is that the email came from an anonymous email address from a company I’ve never heard from or dealt with. Nice start.
Now I can cope with that in big campaigns, but in a sign-up email for a service that contains other elements of my personal data? Lazy.
Seriously: if you’re going to have a customer-facing software system, you might just want to test what the communications you’re sending out look like. Ours aren’t the prettiest yet but we know every one of the people receiving them. The lack of name of the law firm makes me think this could be spam on first glance.
SaaS services generally require a web page. A link would be nice, since I have no idea how else I am supposed to access this service.
Username and password in the same message? For something as important and valuable as information about the sale of my house? Seriously? Especially given that the password is (now was) my home phone number.
In summary then, a total fail on all counts. I don’t feel like a particularly valued customer, I’m concerned that my law firm and estate agent are shoddy on detail, and I’m not impressed with their software provider’s attitude to security.
This is how you don’t do privacy and personalisation.
It’s all about return (types)
Whilst debugging a fiendish problem this week we ran across a piece of code that worked just fine most of the time, but not all the time. See if you can spot what the problem was…
$arrJson = Zend_Json::decode($strText);
foreach ($arrJson as $strKey => $strValue) {
$strReplace = str_replace('$','',$strKey);
$arrFiltered[$strReplace] = $strValue;
}
return $arrFiltered;
How could this possibly go wrong? The pattern matching? The array indices? No, it’s all down to Zend_Json::decode. You fire it a string of JSON (yummy JSON) and it returns you an array, all is well.
Except sometimes you manage to write rubbish JSON, JSON that isn’t actually JSON., and then Zend_Json:decode sends you back a FALSE which is acceptable, except… now the foreach kicks out, and thus $arrFiltered is not populated resulting in the (PHP) world falling down around your ears.
How do you stop this? Two things are important:
- Fix the code
- Stop this happening again by unit testing failure
Fixing the code is trivial, test the output and preassign the variable like so
$arrJson = Zend_Json::decode($strText);
$arrFiltered = array();
if(!is_array($arrJson)) {
throw new Canddi_Helper_TranslateToArray_Exception_CannotTranslate($strText);
}
foreach ($arrJson as $strKey => $strValue) {
$strReplace = str_replace('$','',$strKey);
$arrFiltered[$strReplace] = $strValue;
}
return $arrFiltered;
Adding a unit tests for failure is simple enough too:
$this->setExpectedException('Canddi_Helper_TranslateToArray_Exception_CannotTranslate');
$strText = '{["i dont validate';
$translator = Canddi_Helper_TranslateToArray_Abstract::create(Canddi_Helper_TranslateToArray_Abstract::TYPE_Json);
Remember, always think about how functions you are calling might decide to throw you a curve ball, and how you’ll handle it.
Corporate Memory: Why Companies Fail to Monitor Prospects
I’ve worked with a number of corporate marketing departments in the past across a wide range of industries. I can’t think of a single example where the company was happy with the way they managed and monitored customer and prospect relations.
The issue was rarely the CRM software, though this was often the excuse, whether it was ‘overpowered’ or ‘underpowered’. It often wasn’t the processes either: these were usually pretty well established, and if not liked by everyone then at least accepted. The issue was very much a human one.
People are just not very good at updating customer and prospect records. For a start it’s a boring, repetitive task that rarely feels urgent. I’ve lost track of the number of times I’ve heard marketing people nag sales teams to update the database with notes from their meetings at trade shows. I see it as a consumer as well: sales calls from companies whose product I had bought on the previous call (you expect the ones you refuse to call again).
But more important than the unwillingness to make updates is the fact that people just don’t think the same: even in companies with the most rigidly laid down rules and well designed user interfaces for CRM, records tend to be hopelessly non-standard because people naturally think a bit differently from each other. I’ve seen all sorts of evidence for this. Records with text notes in telephone fields about when to call people. Notes about a complaint crammed into address fields. Company records appended to individuals and vice versa. And companies calling me multiple times for copies of the same document, which others have assured me has been appended to my records.
So what’s the takeaway from all this? Humans are better at analysing and using data as individuals than they are at collecting and storing it as a group. The more we can automate the collection of data about our prospects, the more completely it will be gathered and the more standard the fashion in which it will be recorded. That means it will be more usable, by sales and marketing people, and by automated systems that can use the data to improve targeting and enhance customer service.
Identity Exists in the Funniest Places: How Niche Data Helps to Qualify Prospects
We’re recruiting at the moment. Did we mention that already? (Good people please send CVs and pithy intros to tim@canddi.com). Anyway, it has thrown up a rather interesting set of selection criteria – one in particular.
As I come from a marketing background I have always selected people based on their attention to detail and their ability to market themselves. A personalised, well-written letter that says something about why they’d like to work for me/the company has usually been enough to secure an interview. Spelling and grammar errors, or boring generic letters have ruled out 90% of applicants before I’ve even looked at their qualifications.
But recruiting developers is a little bit different to recruiting marketers. So what’s the criterion that allows us to filter out developer candidates?
Whether or not they have a Github account*.
This is important: Github is not widely recognised as a source of identity. You wouldn’t naturally think of it as a source of data for qualifying prospects. But for our specific needs it is very, very relevant.
This is true for many different types of prospect in many different industries. There are niche data sources that could help to qualify prospects in much greater depth than the ‘obvious’ sources such as Facebook, LinkedIn and Twitter.
This is why we’re creating CANDDi Services, a dedicated team to help clients create bespoke modules for CANDDi to tailor the platform to their own specific needs. Now whatever data source you want to plug into CANDDi, and whatever software you want to integrate it with, we have the resources to make it happen.
*This rule isn’t hard and fast but it has proven to be a pretty good benchmark for quality.
I’m Sorry If I Babble, But I’m Excited
There comes a time in a company’s evolution where the possibilities start to become realities. CANDDi is at that stage today. We are deploying on live sites and starting to see very, very cool results. Our sales process is accelerating and we are having great conversations everywhere we go. From single businesses to global marketing agencies we are seeing eyes lighting up and heads nodding.
It’s great.
I am in the privileged position of doing much of the evangelising. I get to see the reactions from people who see what we can do. I get to hear them expressing their problems – problems that seem to exist in every scale and sector of business – before telling them with barely disguised glee that we have a solution.
I get to come back to the team and tell them the good news. To share the staggering stats from the real world that illustrate in stark terms the problems we believed we were solving when we started building CANDDi all those years ago. I get to see CANDDi grow as we scale up our team to meet the opportunity created by those problems.
So yes, I apologise. If I start to babble uncontrollably, I’m just excited. But if you’d like me to come and share a little of my enthusiasm, then just give me a call.
What is Prospect Analytics?
Prospect Analytics is the term I use to describe CANDDi. For me it is about the ability to see, at any point in time, the status of every single prospect that has interacted with your company. I’ll refine and expand that definition slightly because there are some obvious objections and questions that it raises.
Firstly, isn’t this the role of a CRM system?
The answer is no, for two reasons. CRM systems are great for known contacts where you can fill in fields such as ‘name’ and ‘company’. Without this information you can’t start aggregating data about a prospect in a CRM system.
This brings me to the second point: what defines a ‘prospect’? For me it is an expression of interest. Everyone who visits your website has expressed some form of interest, however small, so they should be treated as prospects.
A CRM system is fine with ‘suspects’ – known contacts who have expressed no interest – but it can’t handle anonymous individuals who have.
Prospect Analytics allows companies to treat every individual they interact with online as a prospect, rather than as an anonymous piece of traffic.
In doing so, with CANDDi we try to add some definition to each individual, defining them by their activity, their source, their location, their demographic, and when they identify, by their previous interactions and their social profile.
Clearly this produces an incredible set of data, with which you can either look back in time, measuring your performance in attracting prospects and affecting their behaviour. Or with which you can look forward, giving every individual the best possible experience and creating the highest possible chance that they will become a customer.
In my next article I will look at how Prospect Analytics can be applied for different types of business.
Wanted: JavaScript Hacker
TLDR:
We’re recruiting again and this time we need a JavaScript hacker. Someone who has the aptitude, the experience, and that vital start-up work ethic, to help us make CANDDi even more awesome.
- (Backbone.js ideally – definitely solid knowledge of OOP required)
- Based out of the Ignite-100 offices in Central Newcastle
- Salary range entirely dependent on experience (£20k-£35k)
Fit the bill? Know someone who does? Please ping tim@canddi.com or @canddi
About Us:
We’re CANDDi (http://canddi.com) – we help companies to convert more website visitors into customers. We’re backed by Northstar Venture Fund. Read about us on Techcrunch.
Our Technology:
Our client website is a single page Javascript Application, written in Backbone.js using Mustache for templating. We also run a node.js server for pushing real-time notifications from our main engine directly into the client’s browser.
As a company we’re heavily into TDD and unit-testing (including the client side code)
About You:
Software developer with particular experience in Javascript OOP development
- Solid understanding of OOP design and principles
- Experience with a Javascript MVC (ideally backbone.js)
- Ideally a computer science degree – but we’re more interested in your code than your studies
- a Github CV is more valuable than 2 page paper version
About the Role:
- Full-time 40 hours
- We’re a start-up so this is all about working hard as well as playing hard
- Good salaries and lots of opportunity for advancement
Agile Marketing: Iterate and Pivot
Our work spans the worlds of marketing and technology. We notice a lot of differences between the ways the two worlds operate, but also some similarities. The Agile model of technology development involves creating a prototype and constantly refining that initial model based on feedback. This approach has clear parallels in the marketing world.
Take for example an email campaign we have just run to the automotive sector. We started with an acquired data list that proved to be very low quality: the bounce rate on the first email blast was over 55%. So we iterated: we refined the data and tried again. This time the bounce rate fell to under 25% and many more people read the email and clicked through. We refined the messaging and tried again: the results improved further.
But, comparing the results from that campaign with the results from our less structured efforts through our own social and business networks we found the return on investment to be comparatively low. So we pivoted, focusing all of our effort on adding structure and resource to the ‘network’ campaign rather than the more traditional direct marketing.
We were able to do this because of data, and because we were able to interpret this data. Collecting and interpreting data to analyse marketing success is not always so simple. Take your website for example: how much do you really know about what works and what doesn’t? Do you know who it appeals to and who it turns off? Even if you have the raw data that could tell you, do you have the time to do the analysis and make the changes the data suggests?
It is these questions that we’re trying to answer with CANDDi. Data collection is one thing: what is challenging is turning that data into information that can easily be understood and used. We’re still building the modules of CANDDi that automate and neatly present these interpretation functions but we have developed enough knowledge over the last two years in CANDDi, and our many years in our respective fields, in order to do that analysis manually on the data we collect.
So today we’re offering the chance for you to get CANDDi on your site and for us to do the analysis on your behalf. For just £500+VAT we will conduct six weeks of in-depth research and analysis of your site traffic, your campaigns, and your visitors and tell you precisely what works and what doesn’t; where you should spend more and where you are wasting money; how your site succeeds and how it fails.
If you want to iterate your marketing to make it more efficient and more effective then get in touch.
CANDDi For Sales, CANDDi For Marketing
Like most start-ups, we’re finding that our product is evolving pretty quickly and not always in the direction we might have forecast when we started out. The most recent evolution has seen us recognise that today CANDDi has two distinct functions and slightly different audiences for those functions. It remains one product and the features are totally integrated, but we thought it might be useful to break them down here to show our thinking.
CANDDi for Sales is, as you might guess from the heading, primarily a tool for salespeople. It gives them richer information about prospects so that they can prioritise and approach leads more intelligently. This includes details about the prospect’s interests and the customer themselves. Today for example, in working with the automotive industry, we might show which search terms the customer used when browsing the dealer’s website, so that you can understand their priorities, and we might show which cars they spent time looking at. As well as the details they have given us we will show what else the web knows about them: social media profiles, picture, location and demographic data. The feedback we have had from our test customers tells us that all of this helps them to filter out the good leads from the weak ones.
CANDDi for Marketing is more focused on how a prospect reached your website in the first place. Because of CANDDi’s ability to track customers across multiple visits – whether or not they actually enquire – we can show exactly what impact different marketing channels have over the lifetime of a prospect. For example, if someone is shopping for a major purchase like a car it’s unlikely that they will only look at your site once. They may have found you through an advert the first time, but then typed your address in when they came back to make an enquiry. Wouldn’t it be good to know that? Or which search terms people use when they find your website on search engines or through search advertising? How about whether things like Facebook and Twitter are having any impact on your enquries? Or which channels bring in tyre-kickers and which ones bring in customers? All this CANDDi can tell you, and you can track every single lead back to the individual to find out what happened to them. Which loops us neatly back to CANDDi for Sales.
If you’d like to try either of these features/functions then drop us a line.