The idea of a one size fits all is almost always all Bullshit. You are CONSTANTLY going to get edge cases over and over again. Rather than biting off more than you can chew, it’s better to start small with a niche and add features that are requested. Focus on building a platform or better yet a system with an API and let your community build it out for you… cough cough twitter cough.
I use a lot of analytics tools and every now and again get the thought that I want to perosnally build my own. Create a platform that can handle and be custom targeted towards my own voids in the analytics world like monitoring PageRank, backlinks, and maybe even innerlinks. I guess you would describe that more of a SEO monitoring system then anything. In most cases I search the web and find some startup that is doing this and I just haven’t heard or knew them. If I can’t, I try to encourage other business to take that idea and run with it.
Anyway, thinking of enterprise level business solutions and a massive list of tools that should “fit any enterprise” makes me laugh. Just think if you are a Fortune 500 company trying to built out a system that requires all of the leg work just to get a system created let along the time for the copmany who bought it to setup and installed because that fortune 500 business you sold it too requires the basics but also has a custom solution for it’s checkout. The platform you sold was a one size that fits all model, right? Do you think you this client will be able to easily implement those configurations for all of those edge cases or require custom code that you forgot to build because you never thought of it. Just think of that fortune 500 company and all the inner office politics and requirements from multiple departments…just think about it. The point is that building a solution to solve ones need is difficult, especially when you are not the company who is buyin git. Just focusing on one business and never on ALL businesses.
Taking this a step further, how can you test software vendors tools. Think about it, how do you know your current system will mimic your new system with every caviot that you have or feature you had put in.
Now let’s say you are buying new analytic software to monitor your sites traffic. How can you test to see if they count visits the same way your current analytic software does? So when you are doing Month over Month or Year over Year reporting that happened before or after the switch, how do you know the numbers will be close or match? You could just install both of them and watch the numbers during the migration, but that could take a LOT of peoples time and resources to conduct this test. If you buy software from a vendor, how can you test every feature/tool/etc. and know all thoe bells and whistles are working. I guess you could use three vendors to see what the average or normalization of the 3 are in terms of visits, page views, etc., but that could be a eve MORE work and maybe even not possible in every case.
Analytics is tough, it’s like building software. Writing code is easy, it’s the software development that is hard.
People normally don’t get or understand the difference between the two. The better analogy is writing…Try and write short and concise as possible, it takes longer than just getting your thought out and in a paragraph. Think about twitter, ever wish you had mor characters to work with? Do you go over the limit? Better yet, think poetry.
Okay, now Tools are supposed to help simplify the process not complicate it, right? With analytics the reason Google Analytics is so widely used and amazing is (well, it’s free) and because of it’s versatility. You can get it up and running with basically 1 line of code on a header or footer of your website. If you want to setup additional options like for a ecommerce store, you can, but it will take some doing and… and custom work. The platform that you built should make it easy to implement that basics and then require a little leg work for customization, but you shouldn’t force customers to fit into a all in one solution. It’ should be a solution that is unique to every business, because if all business were a one size fits all model, then every business would be a competitor to each other. Think about it…
Okay, back to the codeing, this is the hard part for most analytics packages. There has to be a way to automate this either through javascript or other means to simplify the installation. Software should be easy to install, built for versatility, and written as DRY (Don’t Repeat Yourself), right? But remember, coding is easy, it’s software development that is hard. There should be a script to validate the code is installed properly to completely test everything is working and firing correctly should be an automated task in the background you can manually fire or automatically happens at off-peak hours.
Analytics should be all about 80/20. Focus on what you can change easily and do what you can for the rest. My experience with analytic programs is that none of them have gotten it right or have clients who are 100% correct for implementation. There is always some type of issue, but if you can be close most of the time, then you are moving in the right direct. So rather than be a solution for everyone, focus on be a solution to a specific one.
Thinking more how this gets into my daily life. I once had a golf lesson, where we spent 20 minutes focusing on putting the ball near the hole and not going for it. Why? 99/100 times you are going to miss every time, but if you focus on 2 putting you will have better odds and most likely cut down a stroke since your focus is to get close, but not perfect.