Show HN: Heap is a new approach to analytics. Just capture everything
heapanalytics.com
heapanalytics.com
If there's something wrong with your DBMS where the alter table to add a row is an expensive or dangerous operation, just add a new table for every attribute, having lots of tables in a database is no worse than having lots of variables in a program.
If your DBA gets angry at you for adding new tables all the time, get a new DBA.
I think it can actually work quite well, provided you can setup a separate service just for analytics. It's not too unreasonable to assume there are sites already doing this since the concept of a central repository that you alone control (and isn't provided by a third party) can be appealing.
Also, you have to worry less about privacy and just concentrate on keeping your own systems and services secure.
But, seriously, everyone rolls this themselves and does it wrong. If you've done it right, and can release it, you'd be doing good for the world.
http://d.pr/i/T7Wq Chrome 25
http://d.pr/i/p0AO Firefox 19
We've run into this issue before, and it seems to have something to do with the font's Unicode values being "out of range" on Windows, whatever that means.
http://blog.heapanalytics.com/wp-content/uploads/2013/03/blo... for example.
Now can I have an invite? ;) mattl [at] gnu org
Based on the user string, we would serve up a version of the HTML that didn't request the embedded font, and then those users would see Arial instead of, for example, Proxima Nova.
Super-annoying to have to deal with. But it works.
But we plan to offer caps and the option to auto-sample if you exceed your tier.
Also, I assume anonymous visitors are also users?
Seriously though, for my purposes I'm much more interested in tracking events of my current users. Obviously for you conversion funnel analysis is important, and thats cool, but realize everyone has different needs (and budgets!)
I, for one, very much object to all my clicks and "activity" on a page being captured and streamed down some black hole for god knows what purposes. Not to worry though - you are in a good company with all other analytics services out there. The only difference is that you are far more open (and proud?) about how obscenely intrusive your service is, so you get an honorary 2nd spot, right after KissMetrics.
Why should you have the choice to object? What is obscenely intrusive about tracking how you use an application you (may or may not) pay for? I don't see why anyone would have any reasonable expectation of privacy when they're using a service online.
Note I am only referring to analytics contained on a single domain. I'm not making an argument for or against services like FB that track activity across multiple domains.
What? Are you asking me to justify having an option of being able to object? That's a bit too meta, with today being Friday and all.
Does that bother you too? (A service recording your usage of it)
Why is measuring on the client-side different from measuring on the server-side?
Server-side tracking is much more controllable in what and when the information is sent, instead of essentially having Telescreen[1] websites.
The trade-offs of a page that keeps pinging a mothership with every mouse wiggle are less comfortable.
The trade-offs of a page streaming out user's activity to a dedicated service are even more troublesome.
In other words, if you are object to website owners tracking you on their site, then basically you can't use the internet. And to be clear, if you object to in store tracking in physical locations, you are going to be able to shop at fewer and fewer locations (anyplace with a security camera).
If you are concerned about cross site tracking or permanent cookies, that is a different issue. Did you see any mention of that for this product? KissMetrics has definitely taken heat for this.
if you object to in store tracking in physical locations, you are going to be able to shop at fewer and fewer locations (anyplace with a security camera).
Maybe, but at least here in the EU you can't use that footage for analytics or share it with any company. Even our government got CCTV project shut down because they didn't comply with Data Protection laws.
I don't advocate for Internet legislation, but I too will block it and wish people were more respectful of others' privacy.
Yes, if the product is collecting usage information (which does not include personal information) to help the software vendor improve the product, I have no problem with it. I like using good software. It's particularly potent in the context of web software, because you can A/B test and rapidly adapt the product to signals from your analytics packages in order to make sure that you are providing the most usable, most user-friendly product possible to them.
This seems like a common anti-pattern.
We tried to include as much tangible product as is possible with an invite-only product.
My reaction anymore to consumer "sign-up required" sites or saas "request an invite" products is usually to close the tab, even if my interest is piqued.
I do believe that this used to be a powerful design pattern (Gmail, and as pointed out elsewhere Dropbox) but its prevalence has also become its undoing for me personally.
Start up founders often worry about becoming too popular too quickly -- when usually they should be worried about not becoming popular fast enough.
They may just not have the infrastructure to support a widely available service yet.
Good point, thus those customers might be "load test" and "POC" and not necessarily paying...
Just that on my first post I saw "customers" thinking they may have been more traditional customers.
But after being informed they were YC - it made sense they were more likely load-test and POC customers that help participate in the product evolution.
Most of their visualizations - while useful in their own right - are pre-built reports that serve a different role than the flexible reporting capabilities in Heap (and Google Analytics et al).
This is something we're thinking about and are definitely conscious of.
I once created a model that showed very strongly that US/China exchange rates were a driver of revenue. This model was intuitive based on the market dynamics as we understood them, and they helped provide a strong predictive power which helped reduce operational costs. Over time, this model began to be taken as irrefutable truth among quite a few people in the org. Then when the economy collapsed, we very quickly learned that it wasn't US/China exchange rates that was the strong predictor, but rather something else which correlated with those rates.
Not only was the model broken, but it had now breeched trust in the ability of model based forecasts. In other words, if I were a business, I would be bankrupt.
I think the best value-add that you can possibly provide with your service is a way of helping your customers understand what is meaningful and what isn't.
Is it just me or IE8 is just not considered by web startups anymore ? Sorry to deviate a little but every time I try to look at a "Show HN" in IE8 (work computer), it fails for about 85% of the time. I could understand that some startups heavily depend on latest browsers but what about others ?
If you have an analytics software that doesn't work in IE8. You lost analytics for 20-30% of your users.
And since array.prototype.slice.call is not supported in IE8, this analytics software is about 80-70% useful. And maybe even less if you have a large IE clientele.
Seems strange to me that one would limit themselves that much.
Perhaps in some markets.
For one of the sites I write for, it's less than 5% over a large sample.
No, its really not, its a huge pain in the ass to support unless you handcuff yourself to its limitations.
> and also somewhere between 20-30% of your users.
Those numbers are wildly skewed by market segment. IE8 is a relic that mostly only exists on corporate controlled laptops at this point. If they aren't your target user, you can pretty much ignore them. None of the sites I work on see over 5% IE8 usage.
Around here IE8 is at < 7% market share; if your product is slightly related to tech that's more like 0%.
Sure it doesn't support a lot of HTML5/CSS3. But if you build a site using 100% HTML5/CSS3 then why do you even care what it looks like in anything but WebKit. Why spend 15 hours getting it to work in IE8. Let IE8 look like IE8, and the rest look like the rest. That's how it's suppose to be done.
IE8 is old, if you want to support it. You use older technologies. That's the point. If you want to use the newest and greatest you lose old support.
But to call it terrible is wrong, it is/was a solid browser.
Oh technology...
http://royal.pingdom.com/wp-content/uploads/2011/12/111206-c...
Full article:
http://royal.pingdom.com/2011/12/06/comparing-chrome-and-fir...
So no I'm not trolling, I'm being 100% honest.
For Heap, it would be a bit unwise to ignore IE < 9 still since they're limiting themselves from the start.
A lot of new projects on the front page lately don't work on IE9 either. I lost count of the number of shiny new things (usually involving HTML5) that just show a plain black (/white/gray/blue etc...) screen on IE9 and I'd need to fire up Firefox or Chrome just to look at it.
To be fair, not all of these are catering to IE based browsers (and I dread to think how some of these would look on a Nokia mobile... or, heaven forbid, a BlackBerry), but they're effectively ignoring a very, very, very large percentage of users worldwide -- of not just IE -- to be first out of the gate. BlackBerry in particular is still very popular in Latin America and Southeast Asia.
That foot in the door is all important, I suppose, since the buzz will help sustain at least an initial signup for whatever it is.
The web applications in particular are exactly that. Because they're applications they're crafted to a very select set of platforms since they're executed. For better or for worse, a lot of new projects are already going in the direction of the browser as the OS.
I presume backwards compatibility will be tacked on later and maybe removed as those browsers fall further behind.
Chartbeat has never supported IE, which as you say sounds like cutting off a major part of your market. Even moreso when you consider our customers which include pretty much every major publisher in the US. However what we've learned is that if your product provides enough value, people have no problem installing Chrome or Firefox or whatever.
To this day we receive pretty much no requests for IE support at all, which enabled us to build a product with heavy HTML5 (mostly canvas) and CSS3 usage.
Also people need to realize that client-side library support is different from what the product's website itself supports. Chartbeat, and every analytics provider I know of supports IE for their tracking library.
I mention this because it looks like Heap devs are monitoring this thread--Heap addresses real problem for me that I'm willing to pay money to solve. Codegeek's post literally stopped the sale.
On the other hand, the dynamic nature of the data makes me inclined to think that they're using MongoDB or something similar. In the past I've had to create similar systems but we denormalized the data coming in based on pre-defined Group By settings.
I'd love to learn more about the stack and database used for HeapAnalytics and any other similar services.
For my past implementation of a similar data-store we had some different requirements that let us cut a few corners. But, if I were to take another stab at it with your requirements then I would try a new approach.
I think I would use a single table to represent the 'event' itself and have that table be essentially owned by the customer. This table could be put on a specific shard set aside for each customer or you could just name it "{customerId}_{eventName}" and have a lot of tables. Then each event coming in would potentially perform an 'alter' on the table in order to make sure all custom properties have a column.
Are there any downsides to this approach I'm not considering?
But I don't really get the pricing structure:
What if I have less then 2500 unique users/month? Do I pay $25? Is it free? If it's $25 what then if I have more than 2500 but less than 20000 users? Is it $150 then?
Any plans for either a free trial period or a very small (<50 users?) free plan?
For orgs like us, your pricing seems rather brutal, as we're probably much lower in pages/visit than an "app" type website. (We're at ~10 page views per visit, average)
Also, content-heavy sites have different analytics needs from applications. It'd be interesting to see where Heap fits in, but most of the analyses you can run in KISSMetrics, Mixpanel and other app-focused analytics tools aren't of much use for news organizations.
P.S. We used to have Omniture, and switched to Google to save $.
Something like
* Users 1-2,500: $0.01/user
* Users 2,501-20,000: $0.0625/user
* Users 20,001-80,000: $0.0583/user
might be a tad more intuitive, especially if you listed the top-end price along with that.
For analytics, simple tiers (without pro rating) should work fine.
Someone below said that you should base your pricing on cost - I completely disagree. You should absolutely NOT look at cost when you put pricing together - rather, you need to ask your customers about the value of what it is you're providing. For example, Heap will be saving the time and hassle of deploying a generic solution on a server and the time of customising it. Plus Heap will be improving their product every day whereas the self-hosted version would need a developer to add new features. These sort of things all add up - you'll be surprised what you find out when you ask your customers.
Pricing is hard. There are a lot of good articles and discussions on HN if you do a bit of searching.
Good luck. Heap looks good
Anyone who'd use your service can look up their existing active user counts and plan accordingly -- much easier than estimating data points. However, you're going to lose some people if you require mental gymnastics to get an estimate based on arbitrary tiers and pro-rated pricing.
In my app, I actually track client-side actions -- essentially, clicks, but with more context. Anyway, you can treat a single user session like you would the text of an email, where the "actions" are the words.
From there, all you need to do is capture a bunch of sessions and tell the classifier which users are not strong computer users and which know what they're doing, passing the corresponding "documents".
Now you can feed in new documents and determine which of your users know what they're doing, and which aren't really computer users.
(It my experience, people fall into one of those two camps.)
Eventually, you can pretty easily detect the best way to approach each potential client from a marketing perspective.
Since Heap captures everything from day 1, all analysis is automatically retroactive. There's no need to wait days for data to accumulate.
So it studies my server's web logs? I'm confused about what this means.Comparing prices though, a question: is every visitor of my site a new "user" for you? If it so, then my monthly average events for user would be very low, then an "event based" pricing would be better for me than a "user based" pricing. Comparing prices with KissMetrics, my guess is KM would be cheaper for me with an average of 3 events per visitor. But if your "user" entity doesn't consider, at least, the ones that bounced, then maybe is a good deal.
PS: "tchanananam" is a brazilian expression onomatopoeia when there is a punch line revelation...
My first impression is that it would be a bargain for some businesses (low number of users / high value) and far too expensive for large consumer sites with low user value, I guess this is the case for most analytics providers though.
Would it be possible to create a price option for even smaller companies, demo sites, etc, at a higher rate?
Say, what if the owner of a small blog wanted to use this to do really fine grained analysis of users actions but they average 250 hits a day?
That said, pricing is really hard to get right. There's basically zero chance we nailed it on the first try.
Even for a "successful" site (>1mm MAU) $2,000 a month feels insanely expensive. The performance difference between this and GA ($0) is not high enough _initially_ to offset the sticker shock.
Look at NewRelic, Tracelytics or even Mixpanel (expensive IMO) for better pricing levels. You've built the equivalent of "hosted snowplow" (https://github.com/snowplow/snowplow) with a nice GUI and tools, you should expect to charge something much closer to cost than your current approach appears to.
Pricing is hard. There are a lot of good articles and discussions on HN if you do a bit of searching.
div.star.empty
button.btn.btn-primary
button#nodisturb.muted
a.bold-text.text
Do you have any ideas how you are going to overcome this? It seems unintuitive.But the right interface for defining events helps even more.
Sorry for the frustratingly mum response.
One of the downsides of the cheap bit-bucket approach of tech like NoSQL and Hadoop is that it's easy to get the data in, but harder to get it out. The producer of the data has less work. The consumer of the data now has more, since there are no longer guarantees on the structure.
An emerging 3rd-wave approach is that of an "eventual schema" (see http://arunxjacob.blogspot.com/2011/11/schema-on-read-not-so... by Arun Jacob, chief of data at Disney). But best practices for eventual schema are immature and evolving.
How do you approach the problem of getting data out, and allowing people to use common concepts to query their data?
How does it affect network performance? If I click a link and it takes me to another page, how do you track that?
For link tracking, our method is similar to how other analytics products track link clicks - we delay the page navigation the min of: 1) 250ms, 2) the time it takes for our server to respond to a click event.
So if your server takes 10 seconds to respond to a click event, the user waits?
But that doesn't mean they aren't important. Agreed the data can be very useful.
Perf??
And of course, this follows the "include a script tag to our server" cloud product web API pattern. This isn't setting off giant alarm-bells for anyone else? This gets past the sniff test?
The fact that this doesn't fail the sniff test for most people is probably why most web-apps feel like most web-apps feel, instead of like http://prog21.dadgum.com/.
In addition, the fact that you're able to associate identity data with past actions should help tie users together across sessions and devices, if I'm understanding correctly.
From the Heap docs: User properties are associated with all of the user's past activity, in addition to their future activity. Custom user properties can be queried in the same fashion as any other user property.
Also, while 'capturing everything' sounds like an awesome idea it can lead to worse performance if you don't take into account that your data now has more variables that can each introduce noise.
My app is in dire need of user-tracking and analytics, but it's a self-hosted application and many of my clients run it on LAN segments that don't have WAN connectivity.
Would this still be able to capture those events? And if so, how?
@Founders of Heap:
I would love to do beta test for you guys. When do you guys open the gates for beta?
edit: Sort of already does it seems: https://www.fanboy.co.nz/
But, what's with the robot and spaceships blowing up a city in the background of your site?
1) why would i need this info?
2) how do u track follow/like events
"Get exclusive access"
"Learn more"
"Take a better look"
"Find why N is for you"
"Join our FREE client club."
"Get a FREE account" Note that free account != free product. Just give then login details.
Wow, that's really sleazy. I really hope nobody actually uses that idea.
If you build a button that promises something for free, you need to give something for free — free tier, 30 day trial, ebook, screencast, etc. Having visitors fill out an account form is not a gift to them, it's a gift to YOU.
If you build a button that promises something for free, you need to give something for free — free tier, 30 day trial, ebook, screencast, etc. Having visitors fill out an account form is not a gift to them, it's a gift to YOU.
See, this is where you miss the point. The person is getting a free account. You might not think its something, but there are a lot of accounts out there for which you have to pay. Need to go to Costco? Hey, you have to pay for membership (an account), just to make sure you can enter the store. Free accounts may not be what they used to be (in your opinion), but they are still very valuable overall.
Now, of course you are not going to just give them an account. That would be a waste of a good lead. You will then follow up with another offer. Say, pay half-off your service price for the first month. And so on.
I know some of this stuff looks rather strange to people here. But the business world is very, very different from programming.
From your last comment, I gather that (to you) 'account' surmounts to 'access to the service or product'. If so, we agree.
When you apply for Costco membership, you get something in return: the chance to buy products for less than they would normally cost. I don't see how that translates to the example provided.
NB: I'm a publisher, marketer, editor, and designer. I develop software, but I'm not a programmer.