Dan Holowack

Startup   TwitSprout   Analytics   

August 15, 2011 at 5:55pm



4 notes

Every Startup Needs a Manifesto

A few months back I read a blog post about what it takes to be a good CEO. A CEO will perform many tasks across the company (especially in a startup) but they must do the following 3 things to fulfill their core job function:

  1. Recruit and retain the best talent.
  2. Set and communicate the vision and values of the company.
  3. Make sure there is money in the bank!

The weight of these responsibilities will shift with the evolving needs of the company. In our startup I think about these 3 areas on a daily basis. Other founders will tell you to “Always be recruiting!” (1. Recruit top talent) and “Always be selling!” (3. Money in the bank).

In this post I discuss the importance of a manifesto, which falls under item 2: ‘Set and communicate the vision and values of the company’. What’s a manifesto anyway? Wikipedia provides a definition: a manifesto is a public declaration of principles and intentions.

To get things started I’ve included TwitSprout’s Manifesto. We crafted this shortly after incorporation.

TwitSprout’s Manifesto

  • Our data will be accurate.
  • Our dashboards will be beautiful.
  • Our insights will be powerful.
  • Our users will be family.
  • We’ll do it with sexy sunglasses.

So what?

Your startup needs a guiding light, something by which all decisions will be measured. It also helps set priority without confusion or conflict. If we miss even one hour of data collection our team meets immediately to diagnose the problem and design mitigation plans. I want everyone in the company to back this priority. Missing any data reduces the accuracy of our insights and that is not accepted - it must be part of our culture. We always aim to deliver insights that are powerful and inform social media strategy. When developing any new dashboard or specific analytics we always focus on the business case - and these principles guided by our manifesto.

Our users will be family. This simplifies my day. If a user needs help, I help them. Now. Not tomorrow or when I feel like it. I used to write a personalized thank you tweet to every single person who tweeted about our product to access the private beta. I would open their bio, look at their link, use their first name and build a personal connection. As TwitSprout gained traction it became less feasible for me to do this. This was difficult for me, but I continue to connect with our users in other ways. My co-founders can attest to the time and energy we put into our growing family of users.

At the end of each email I write, ‘Please contact me if you have any questions or recommendations. We’re here for you’.

And the part about sexy sunglasses? That just reminds us to have a little fun while we’re doing it.

This is too rigid for my always pivoting startup!

The reality is, if you don’t consciously design a set of guiding principles they will develop on their own. Outside your control. Sure, you startup must be agile, reacting to shifting market conditions, competition and new opportunities. However, I believe most of these activities can exist within the principles of your manifesto. TwitSprout launched the Obama Twitter Town Hall Infographic after several days of work with very little sleep. This was an event-based dashboard that was not part of our immediate roadmap. But it landed us on Mashable, CNN etc. early on. This work was within our manifesto. I have found the manifesto more broadly governing than first expected.

I have a small team. Is this necessary?

Yes. Even if you’re a team of 2 or 3 people. You will find comfort and clarity in your manifesto. It will guide your conversations and help set priorities (which is important when there is always so much to do, and so little time).

How to get started.

It can be difficult to hammer out your manifesto in a single meeting. I recommended starting it and holding in draft-mode for 30 days. Reference it during this time to see if it makes sense for your team, product and business. Everyone must be 100% on board with each item, otherwise everything falls apart.

What would you include in your manifesto and why?

Thanks for reading. -dan

April 8, 2011 at 5:36pm



0 notes

Hype Machine song stats

Hype machine just launched a new feature, now providing stats for each song in the lineup. 

Select the small bar graph icon next to song title to open stats. The new chart displays Favorites per Hour (this is the number of people selecting the ‘heart’ next to the song every hour). Small grey dots appear along the line graph to identify when posts were published featuring this track. A screenshot below from http://hypem.com/#!/popular

Picture_11

This appears to be a very early launch - it may not be on all accounts. I do hope they continue to expand the stats feautres.

Two Months of Fire Service Dispatch Data

Toronto GTA data to explore. (with PHP scraper)

Earlier this month I blogged about a new data source I discovered which exposes the Toronto GTA Fire Service Dispatch data online. Upon further inspection I was amazed by the depth and quality of the information available IF you can scrape it off the TO Fire HTML table (which is updated every 5 minutes).

Tofiredatascreenshot

I’ve been running a PHP script cron job on my Media Temple (dv) server since February 26th 2010. Two months later we have over 100,000 records of data! Before we go any further, here it is.

Toronto Fire Service Data

Toronto Fire Data - CSV

Field descriptions: (see original post for more details)

  • PrimeStreet
  • CrossStreet
  • LookupIntersection: Created to lookup the Long. / Lat. with the Google Map API
  • *Latitude: The approximate latitude of the incident
  • *Longitude: The approximate longitude of the incident
  • DispatchTime
  • IncidentNo
  • IncidentType
  • AlarmLevel
  • Area: Supporting data on GTA Fire Stations(csv) (xlsx)
  • DispatchedUnits: Unit ID and home station. FleetKey(csv) (xlsx)
  • IncidentLoadTime: PHP scraper cron execution time
  • FireDispatchUpdate: Time the TO Fire CAD HTML table was updated

* Some long / lat responses are way off base. You’ll notice the locations clearly outside the GTA. These outliers are simply a result of poor location data on some incidents. Set bounds on your long / lat when analyzing the data. 

Implementing the script on your server

  1. Create a new database table named ‘incidents’ using this create table SQL.
  2. Download the PHP scraper script - livecad_share.php.
  3. Set the database connection settings at the beginning of the script.
  4. Upload the php script to a location on your server.
  5. Setup a cron job on your server to run the script every 5 minutes.

Sit back and collect the data!

I do have some questions to get started

A: What times of day / night are the most demanding?

B: Which incidents occur most frequently? During the week / weekend?

C: How far do units travel to reach an incident?

D: Which incidents require the most units to respond?

E: How often do specialized trucks travel across the city?

F: (your turn ;)

Let me know if you have any questions.

If you perform some analysis with this data I’ll be happy to blog about it - and link to your project.

Cheers,

Dan @dHolowack

January 28, 2011 at 3:12pm



0 notes

Snow Shovel Satisfaction

Tangible achievements still feel soo good.

In a world where most of my achievements become endless lines of 0s and 1s (which could be destroyed in seconds by a simple magnet) it feels great to start & finish a task with physical, tangible results!

Anyone in a scientific field can empathize with this experience. Sometimes you can expend effort for days without any concrete feeling of achievement, of results. So, after a morning of trying to setup a Python virtual environment to support some machine intelligence algorithms I decided to go outside and shovel.

Shovel1

A funny thing happened. It felt really good.

The fresh air and exercise play an important role, but it was more than that. With every scrape of the shovel and piling of the snow I knew for certain I was closer to success - I could SEE progress. Achievement was a real physical state.

Read More

Toronto Fire Dispatch Data - Real time!

A Wealth of Data on GTA Incidents and Response.

I love finding new (and seemingly untapped) data sources online! While sipping my coffee this morning I found this gem.

The Toronto Fire Services (serving Toronto and all surrounding cities) is publishing live dispatch data to a simple public HTML table. Ripe for the picking. The table is refreshed every 5 minutes with active incidents from the Toronto Fire Computer Aided Dispatch (CAD) system.

There is more information here than you may realize. Let’s check it out.

The Active Incidents.

Torontofire

http://www.toronto.ca/fire/cadinfo/livecad.htm

Let’s review the table.

  • Last Updated: Above the table. This is the exact date and time the active incidents were refreshed.
  • Prime Street: Street of the active incident with a short form for neighborhood / city (i.e. ET = Etobicoke, NY = North York).
  • Cross Street: Closest cross street to the incident.
  • Dispatch Time: Date & time the incident was first recorded in the CAD system.
  • Incident No.: Unique identifier.
  • Incident Type: Often hyphenated into a main & subcategory.
  • Alarm Level: High alarm levels are more severe. More units, longer duration.
  • Area: The Fire Station # assigned to this jurisdictional area.
  • Dispatched Units: Fleet type and home fire station #. (more to come on this)

As I write this blog post the table data is being refreshed. Every 5 minutes I’m losing quality data! Lets fix this right now. Capturing all the dispatch information is kind of important :)

… Ok, I’m back. I’ve put together a rather crude process to begin capturing this table. Remember QlikView can easily read HTML tables from websites. I built a QlikView app to load this table. The QlikView app checks the table and incrementally adds this data into a QVD file (compressed data files for QlikView).

I reviewed this great sample QlikView app for geo-coding through Google’s API and geo-coded each incident using a combination of Prime Street and Cross Streets (dependent on information available for each incident). Now we have incident latitudes and longitudes in the QVD file! 

To capture all the data we need this QV app to reload every 5 minutes. Create a .bat file with a command to reload the document: “C:\Program Files\QlikView\qv.exe” /r  ”C:\My Dropbox\Fire Service TO\TorontoFireService_Loader.qvw”

Now set Windows Scheduler to call this .bat file every 5 minutes. This works, but it’s not a recommended solution. I’m going to write a PHP script to run as cron job on the server and store all incidents into a mySQL database. Watch for the next post.

Now lets look for other information to improve the value of this dispatch data.

    Fire Stations

    Each fire station is assigned a specific geographic area.

    Stationmap

    Units will often travel outside this boundary when responding to large emergencies or when specialized units are required, such as High Rise or Hazmat Support. I’m interested in mapping how far units typically travel from their ‘home station’.

    Stationdistrict21

    The station number and postal code is available from the Toronto Fire website. I have compiled this data into a Toronto Fire Stations CSV file available here

    The postal code of every station is also geo-coded by the QlikView script and stored into a supporting QVD file for use on future reloads.

    The Fire Truck Fleet

    Toronto Fire Fleet information is available on Wikipedia. So what does dispatched unit LA421 mean anyway?

    LA is an Air/Light Unit as provided on the Wikipedia page. The digits are the station number. An Air/Light Unit from Station # 421. I made a CSV Reference File for Toronto Fire Fleet units.

    Fleet

    We now know the location of the incident, the type of incident, the different units responding and the location of their home-base fire station. Now we’re getting somewhere! It’s time to load all this great information into QlikView and begin analyzing! I’m looking forward to it.

    I would love to hear your thoughts. What kind of data have you discovered lately?

    Cheers, Dan.

    PS: The Toronto Fire Dispatch System also tweets every new incident to @tofire. Kind of neat. :) 

    January 17, 2011 at 3:15pm



    0 notes

    Grooveshark Shades just arrived.

    A late delivery from Santa.

    It’s no secret I love Grooveshark and I must thank my girlfriend for making this order. What a nice surprise for a Monday afternoon :)

    Grooveshark_shades

    Grooveshark Shades: http://store.grooveshark.com/

    Creating brand apparel is another great way to monetize your startup / Web 2.0 app. Consider the demographics of your clients and develop merchandise your fan’s would enjoy. It’s free advertising.

    Thanks Grooveshark for the personal message on the delivery.

    Cheers, Dan @dHolowack

    January 14, 2011 at 3:15pm



    0 notes

    Freemium People. Keep it Simple!

    Iron, Aluminum & Diamond? This is getting ridiculous.

    The freemium model makes sense. Attract potential customers with a free version and have your app featured on all those wonderful blog posts like “The Top 5 Free App to… “. However, I’ve never witnessed a freemium model with more than 3 paid plans.

    The app TaskAnt has 7 paid plans, yes, seven! They’ve had to include plan names like iron, aluminum and diamond. Now isn’t this a little overboard? Has TaskAnt gotten carried away with their plans and features? See below.

    Picture_23

    ‘Active Projects’ is the defining feature of most paid plans. I would recommend breaking this off into a second object where the user can simply choose from a list. The entire table is very overwhelming. I was confused and didn’t even stay on the page long enough to read the details.

    I can appreciate that their operating cost structure may warrant this plan complexity, but I guarantee they have lost customers due to the strict and intricate presentation.

    Remember, every paid plan adds complexity: billing complexity for the startup, payment complexity for the user, more communication requirements… I could go on.

    What are your thoughts?

    Start by building a free plan and 1 pro plan. If you really must have more then add one or two paid plans, but not seven!

    Just my two cents.

    Cheers, Dan @dHolowack

    January 6, 2011 at 3:15pm



    5 notes

    Make it One Page

    The One-Page Proposal.

    Brevity. It’s my new favorite word. “The exact and concise use of words in writing or speech.” In the world of divided attention, information overload and 140 character tweets - Brevity is perhaps your most important ally for success.

    Enter, The One-Page Proposal. This book might look old (it is, 2002 actually), but it is still the best. And why one page? Let’s start with the business plan.

    Onepage_top

    The Business Plan

    Stop writing business plans. Most startup businesses now pivot their product (shift their strategy based on new market information) so often in their early stages that the business plans quickly become obsolete. The business plan is too specific and with the pace of technology your business must pivot to be successful.

    Onepage_bottom

    No one reads business plans. If you’re looking for funding, the 30-page business plan will sit on the desk of the ‘important person’ forever. They simply do NOT have time to read all your drivel. If you can’t get your idea and market opportunity across in one page, you’re in trouble.

    The Resume

    Let’s look at resumes. Not only is the resume being replaced by professional profiles such as LinkedIn and the growth of ‘personal branding’ - but when you do hand someone a resume, it better be one page. I remember back when I was 17 and working for Research in Motion (BlackBerry people). My boss asked me to filter resume submissions and pass them forward. I did. And my boss evaluated each resume in ONE Commercial Break of American Idol. That’s all you got, one commercial break of a reality show. If you’re more than one page, you’re at a disadvantage.

    From Employee / Internship to Consulting Gig

    You’re an intern, a student co-op or simply an employee - and you want to transition to a consulting gig with your employer as the first client. I achieved this last year with the one page proposal. The reality is you’re probably more valuable than you think you are. 

    The hiring and re-training a new recruit to the level of your performance is VERY expensive and very time consuming. I submitted the one page proposal directly to the CEO. If you cannot reach the CEO, find an executive who cares about profit, because you’re going to convince them that the company will be more profitable (higher sales and/or lower costs) by hiring you as a consultant!

    The One-Page Proposal

    The one-page proposal is full of examples, clear steps and strategies as well as great stories to help you build the most persuasive one-page argument. It will change how you think. Everything is a proposal. If you are to influence someone’s opinion or behaviour - ask them to take action - you can leverage the one-page proposal.

    I won’t walk through the book, it’s inexpensive and something you should have on your shelf for reference.

    I look forward to your comments. All the best in 2011 everyone!

    Cheers, Dan

    @dHolowack

    December 20, 2010 at 4:28pm



    2 notes

    How I Sell QlikView

    How I sell QlikView to a business already sold on BI.

    I recently spent an afternoon with the CEO and CTO of a Toronto based firm. They requested a QlikView demo and also some recommendations on how to build a strong Business Intelligence (BI) strategy. Both executives understood the value of BI and the opportunities for developing better insights into their business - it was a terrific 3 hours.

    This post highlights some of the rather unique factors I speak to when demoing QlikView. This is by no means a complete list, just some fun topics. I’ll elaborate further on the ‘BI strategy’ portion of our 3 hour discussion in future blog posts.

    Sales-presentation-training

    Sexy.

    A BI dashboard must be sexy. If you expect busy managers to review the dashboard regularly, it better be beautiful. Yes, the metrics themselves must be meaningful and actionable and all that jazz - that’s top priority - but a beautiful interface just improves the experience overall.

    QlikView provides great control over the appearance of every single object, graphs, listboxes, gauges and more. You must check out this recent post on the Qlik Fix about manipulating the colors of object dimensions across a dashboard. Color themes and background images can also be setup easily.

    And it turns out that sexy was a good choice of words in this meeting. Simply by chance the CTO had written ‘Sex Sells!’ across the CEO’s office whiteboard in a recent brainstorm session. He got it. Users spend more time on a sexy dashboard, they make more clicks! And in QlikView every click counts, every click means more insights!

    One Powerful Data Model.

    QlikView doesn’t care how many different (or obscure) data sources you have - from Oracle and mySQL to CSV and Excel to an HTML table on the web - once you define the relationships between each data source QlikView does the rest. It all plays nice in QlikView.

    The design of the data model is extremely important. In essence, the tables and relationships in the data model define every possible query. This is powerful stuff. No more cubes. No need to predefine your queries up front. All analytics are naturally driven by a model with data relationships that make sense for your company and information.

    Developers Love it.

    Your developers will love QlikView. Everyone loves instant gratification, the feeling of making progress! Speaking as a developer myself, it’s fun developing with QlikView. Start with one or two tables. Load the tables into QlikView and then add a few listboxes and a chart. Done.

    Before the meeting I asked the CTO to download a personal version of QlikView 10.
    It turns out he had written a Python script to extract visitor and sales funnel data from Google Analytics. I asked him to forward me the Excel file and in 10 minutes we were trending site visits by language, country and corporate partners - as well as their conversion rates. Connected to the projector, I built this demo app on his laptop so he could continue to explore the file with his Personal Version of QlikView.

    Rapid Prototyping.

    Ok. So you want to become a data-driven organization? There’s more to it than just building some pie charts. You need to evaluate the data sources, run scoping studies, build momentum and find your BI champions. Instead of spending days struggling with Excel to prototype first dashboards, start with QlikView (the free personal version of course :).

    After the data model is loaded, metrics can be built and modified very quickly. Believe me, you want a 1 day turnaround on change requests, not 3 weeks when developing these dashboards. Often managers don’t know what they really want until they see what’s possible. I find that often with QlikView.

    FAST

    In-memory is fast. QlikView is not the only ‘in-memory’ BI technology out there, but they were one of the first, and still are the best. They lead data compression and in-memory analytics. Data loads quickly, especially with the new multicore parallel processing. You’ll probably wonder how millions of records could fit into one compact QlikView file.

    And it better be fast, otherwise the dynamic click, highlight, search and drill-down functionality could be quite frustrating! Users love it because they can ask a question with a click, and QlikView answers. All these factors improve the overall experience and frequency by which users will reference the analytics.

    Click. Explore. Discover.

    Click once, and everything changes. Everything. Sometimes its great to explain a QlikView click in English. For example, I’ve built many dashboards for healthcare regions to track how patients are referred to services. With one click on St Joseph’s Hospital we now see…

    - The referral volume from St Joseph’s Hospital
    - The denial rate of referrals from St Joseph’s Hospital
    - The primary care needs of patients in St Joseph’s Hospital
    - The wait times for patients referred by St. Joseph’s Hospital
    I could go on…

    If we see a particularly high wait time, click it. Now explore the primary care needs of patients experiencing the long wait and the services delaying their admittance.

    This sounds strange, but it’s like taking a journey through your own information. You see something of particular interest and click it to drill-down and investigate. Then repeat. Often you discover something unexpected and that’s valuable.

    Be Intelligent.

    You receive a phone call. It’s a complaint from a customer. You immediately open QlikView and simply clicking the customer name will give you immediate insight into their history with your company - purchase trends and performance. If a particular shipment was late you can run a search for the order number (yes that’s fast too). You become informed immediately can now speak intelligently to the customer and resolve the issue.

    Another example. The decline of sales in China becomes a hot topic in your meeting. Open the QlikView app on your iPad and get insights into the sales trends. Then select your partners and sales teams to investigate who experienced the greatest decline. Don’t book another meeting, answer the questions now.

    If information is power (and it is :), then fast insightful access to clear and meaningful information is very powerful. And that’s it.

    Some of these topics are more general to BI, but I believe all of them are very applicable to the features and overall architecture of QlikView. They are just a select few of the benefits I mention when people stop and ask me, “Why do you use QlikView?”

    I’m a QlikView guy. I can’t speak intimately to other BI products, but I know why I use QlikView and there has never been a reason to look elsewhere. I would love to hear more in the comments about interesting stories, metaphors and unique approaches you’ve used when explaining QlikView to those you meet.

    Cheers everyone,

    Dan @dHolowack

    December 1, 2010 at 3:16pm



    0 notes

    Nice try, Facebook. You will not be my Google.

    See what’s happening with friends when opening your browser.

    Picture_32

    Nice try, Facebook. You will not be my homepage.

    What is Facebook really saying? “Make Facebook your Google.”

    This is a silly message. Hello Facebook person, we want you to go on Facebook every time you open your browser! No, don’t do anything productive first. Start on Facebook, waste a few hours, then maybe move onto something else, if there is time.

    Just Drag this to your home button! Isn’t that easy? I know several people that type Facebook.com into their browser window on autopilot already, and then wonder how they got to Facebook…

    With Facebook Email and their other advancements its clear they want to be your Google. Will they be?

    Cheers, dh.