深入了解 Mixpanel 的产品之旅 | Vijay Iyengar
An inside look at Mixpanel’s product journey | Vijay Iyengar
Investment Traps in Core Products
Vijay Iyengar:
The issue for us at the time was that we took people away from the investment in our core product to go do those other things. We moved people, right? And so the trap there is that you leave yourself right for disruption in your core because someone else can out invests you in that core. And so if you are the leader in some core product, our takeaway here is you should continue to out invests everyone else in that core and then invest the profits that come out of that core into the next venture. Invest profits and not people, or venture capital, which is maybe net present value of profits or something to that effect. But don’t take people away from the core to go to these other things because then you end up distracted.
Introducing the Guest
Lenny:
Welcome to Lenny’s Podcast where I interview world class product leaders and growth experts to help you get better at the craft of building and growing products. Today my guest is Vijay Iyengar. Vijay is currently head of product at Mixpanel. He actually has a very similar career trajectory to myself where he started as an eng intern at Amazon. Then he was an engineer for a while at Uber, then he became an eng manager at Mixpanel. But then he shifted from an ENG manager to director of product, and now head of product at Mixpanel. You don’t often see people moving from an leadership role straight to director of product, so it was really interesting to hear what he took from his eng experience and brought into his approach to product leadership. But we spent the bulk of our time talking about what he’s learned from the journey that Mixpanel has been on, where they started with a simple product, then scaled to a number of different products, solving many problems for customers, and then made the hard decision to scale back to just a single core focused analytics product.
We talk about why they made that choice, what they learned about when it makes sense to expand a new product and when you probably shouldn’t, and how they approach that organizationally. We also talk about how Mixpanel builds product, how they think about products philosophy, how they prioritize, and also what you’re probably doing wrong in how you set up your analytics for your own product. With that, I bring you Vijay Iyengar after a short word from our wonderful sponsors.
Vijay Iyengar:
Thank you, Lenny. Great to be here. Huge fan of the pod, and so glad I can contribute.
From Engineer to Product Manager
Lenny:
I definitely want to talk about Mixpanel’s journey both as a product team and a product. But before we get there, as an engineer, you were in a longtime engineer and then you became a product leader, is there anything you had to unlearn as an engineer in the way you thought about leadership and product and business?
Vijay Iyengar:
One of the things after you’ve been in engineering for a while is that develop this tendency to immediately respond with no to new ideas. And I think from the engineering perspective, this is because you spend a lot of your time building and maintaining ideas that maybe are half thought out or didn’t really go anywhere, and you just feel like the full brunt of the maintenance cost of that. And so you build up the scar tissue and this immune response to say no to new ideas, and it’s a hard no, like no, we’re definitely not going to do it. And I think I had to unlearn that moving into product because you get a lot of ideas coming from a lot more places in the organization, and ideas are fragile in their agency and it’s a hard no can really kill a whole direction that you could potentially go.
They could be very high reach and high impact. So, one thing that I’ve found is the best way to get to a no, if you ultimately need to get there, is to try to make it work. Start trying to make yes work and document how you’ve tried to make yes work. And do that earnestly, not as an exercise of just an alternative that you’re considering. Try to do it sincerely and get to know after trying to make yes work. And so that’s one thing I’ve been trying to just apply my engineer problem solving brain to do that instead of thinking about how it might not work and saying no.
Mixpanel’s Product Journey
Lenny:
Is that something that you recommend engineers work on looking back? I know as a PM, it’s like, oh, I love when engineers say yes. This is awesome. I’m going to actually help everyone learn to say yes. But as an engineer, obviously that’s a challenge often. What do you recommend to folks that are engineers currently that maybe want to improve on this or shift in how they think about saying yes, saying no when they’re asked about something new?
Early Success and Expanding Boundaries
Vijay Iyengar:
I think some of the best engineers that I’ve worked with actually already do this, but [inaudible 00:05:53] they’re able to balance both in their head. So, ultimately this balancing act, you just want on-call, you were woken up three times at 3:00 AM due to various bad ideas, and the next morning you wake up and then stand up, it’s like, “Hey, can we do this new thing?” You kind of have to have that empathy and do that. So yeah, I think the exercise is just take 10 minutes to consider the idea and just sincerely consider how might we make it work. And if at the end of those 10 minutes, it’s like futile and there’s no path, it’s fine to say no. And it’s a good instinct to say no, actually in a lot of cases. But yeah, I would recommend that to engineers. I think it would’ve been better in my career, for sure, if I had learned that sooner.
Lenny:
I want to spend some time on the Mixpanel product journey. It’s been an interesting rollercoaster. I think the company’s been around for how many years? Since 2010? 2009?
Churn Crisis and Tough Decisions
Vijay Iyengar:
20009, yeah.
Lenny:
So, I know it started as kind of a very simple product analytics product back in the day. And then as you do with ambitious companies, you look for more problems to solve. You look for more problems to solve from your customers. So as I understand it, you guys added a lot more products to the suite of Mixpanel products. And then I know that there are some challenges with scaling that, and maybe the products didn’t stick as much as you’re hoping. And what I understand is recently, you moved back to just the single core analytics product. And so I’d love to just hear that journey of what that process was like, what you learned as a product leader and as a company about scaling, expanding, trying to solve a lot of problems, and then coming back to one core straightforward problem.
Design-Driven System Architecture
Vijay Iyengar:
Mixpanel started in 2009 as provide product analytics to EPD teams. And I think early on, it saw a lot of success because it built this in-house database called Arb, which stands for arbitrary segmentation. And that was necessary because events data, which is the fuel for product analytics, is few orders of magnitude larger than most other types of data that people collect, and so you need a specialized approach to deal with it. And so that I think spurred the first wave of explosive growth, because product analytics was a really burning problem at the time. People were shipping mobile apps like crazy and they needed a solution that could scale, and that was kind of a durable mode for Mixpanel for a while. And I think because we had this SDK that was installed in so many apps and we had this really scalable event collection and analytic interface, it was just natural to expand into a few adjacencies that would leverage those same technologies.
So, the first one was messaging, being able to send targeted messages to users, which is something that’s fairly natural, you might want to do, especially if you have an SDK already installed. Yeah. The other aspect that we’ve added into was data infrastructure and trying to be the single source of truth of data in companies. And what ended up happening was that by 2018, we had this big churn problem. We had something like 40% churn, revenue churn, our core product. And when we dug into, it wasn’t that people were churning because they didn’t need product analytics anymore. They had the need. They were just churning to competition because we were just not up to the market in terms of the features we had in our core. And when we dug into why that was, it was just that we had a 50% engineering team that was building products across three domains, product analytics, messaging, and data engineering stuff.
Our engineering team was just spread too thin to address all of those core gaps in functionality. And so we made a really hard call at the time. We said the hard no to those two other categories and decided to focus our entire engineering team on closing the gap on product analytics and innovating there. And from a process standpoint, how we operationalize this was we threw away all our planning and all the execution and that we work that we’d planned to do so far, and we did something very simple. We took all the churn reasons that our customer success and sales teams had been painstakingly collecting for years, grouped them by category, which was roughly product features we needed to build, sorted descending by ARR, took the top 10 things and made that our roadmap, just give every engineer direct access to customers and give them a bucket to go work on, which I think goes against about a million product best practices out there of just doing that.
But I think given the context at the time, we needed to optimize for speed, and speed comes when you have extreme clarity on what you want to do and focus. And so we really just optimize for speed in that time. And so in that first year we moved really quickly and we shipped something like a hundred features in that year and closed a lot of gaps. Again, these are all vanity metrics. Measuring number of features doesn’t mean anything.
A Strategic Retrospective
Lenny:
And what year was this by the way?
Vijay Iyengar:
This is 2018 to 2019.
From Feature Stacking to Design-Led
Lenny:
Got it.
Vijay Iyengar:
Yeah. So, we moved really fast shipping all these features and instantly saw the improvements to win rate and to retention. But one of the cracks that started to emerge was we neglected the holistic design of our product at the time, right? And if you’re shipping features that quick leads, you don’t have time to stop and think, where does this go, and how does this fit into our overall system architecture? And what started to happen was that we were hitting diminishing returns with some of these features. And not considering the holistic design and consistency meant the reach of every feature was low. You had to rebuild it for every part of the product that we were in. And so at the time we made… We spun up the second stream that was very design led. And I think this was also coincided around the time we adopted Figma, and it’s a really broad design at seat at the table of the company, and we just set up this goal to make design one of our key differentiators.
So, this design driven initiative was really about how can we think about the system architecture of our product? What are the key building blocks of Mixpanel? Where do they need to fit? How few of them can we have, which is a really important step? And then how will users discover them and how do they relate to each other? But I think this realization was born out of the fact that so many great products win or lose based on their architecture. I think Notion, for example, that pages in blocks architecture is so strong, and you can hang so many features off of those core building blocks in a way that has such high impact on region and discovery of those features.
So anyway, we did that in parallel with the… And continued that grind on core jabs. And so the end result of that phase, which is from 2018 to maybe late 2021, 2022, was our retention went from about 60% to 90%, and our NPS went from 16 to 50. So I think, yeah, there’s a lot in there to unpack, but refocusing on the core really helped us achieve those results.
Timing and Lessons in Product Expansion
Lenny:
Got it. Yeah. I have a lot of questions about this. So interesting. So, that phase that you went through where you sorted things by potential ARR, was that the phase of expanding to multiple products or that was post we’re going to focus on analytics and go all in there?
Product Planning and Cycles
Vijay Iyengar:
Oh, that was post focusing on analytics.
Lenny:
Okay.
Planning Outputs and Priorities
Vijay Iyengar:
Yeah. Yeah.
Lenny:
And you’re saying that you had a stream of just builds all the features that were lacking that are causing customers to churn, and in parallel, there was a track of let’s build this product, such that it all connects and works together well and it’s really well thought through long term?
The Prioritization Framework
Vijay Iyengar:
The first thing, I might have made it seem like it was just the buckets were features. We did take the step of turning them into problems and being clear, exposing engineers directly to the customers that had those problems and then invent a solution to solve them. So I mean, loosely there were features involved, but a lot of them were kind of core problems we needed to solve.
Estimation and Timeboxing
Lenny:
That first approach is so interesting. It’s kind of like, yes, we will make more money if we focus on these features. To your point, it ends up being just a bunch of features and products that kind of maybe don’t synergize. Looking back, was that a good idea to approach it that way, at least for a while?
Vijay Iyengar:
It highly depends on your context. In a very competitive context where there are just table stakes features that customers need and that it’s been validated by the market, you need to optimize for speed more so than anything else. But it is an approach that outlives it’s usefulness pretty fast, and we’ve put that approach behind us relatively quickly after that phase. And I would actually say that design driven phase was the next phase, where it was, okay, we’re not bleeding on the table stakes anymore, but we want to make a holistic product that has high reach, high impact on the features and is actually usable. And so that was I think a follow-on phase that’s necessary. Obviously, depending on your particular circumstances and competitive dynamics, you can sequence them differently, but I think it was the right call to just… Sort of the on-call thing again where when you’re in trouble, you got to get out of trouble. You can’t mow your lawn while your house is on fire. You kind of put out the fire and then deal with everything else.
Staying Close to Customers
Lenny:
Yeah.
Data Stack Value and Workflows
Vijay Iyengar:
So, that’s kind of the approach we took.
Lenny:
What’s an example of a feature or product that you launched within that first track? And then what’s an example of something that came out of the designer led approach, if anything comes to mind?
Balancing Feedback and Responsiveness
Vijay Iyengar:
I think out of the first track, oh man, there’s so many that were just core. We didn’t have a good cohorts product at the time, just being able to create behavioral cohorts users and create them from any report that we built, right? And I think that, I mean it’s just table stakes and analytics to be able to do that. So, that was one of the first things we built, and it was fairly obvious. There’s a lot of other things in more advanced types of funnel analytics and a flows and visualization that was really interactive. I think on the design-led phase, the biggest thing I think was visualization consistency and making our charts interactive in a consistent way across our entire product. And so there’s two things that enabled. One was that every time we added a new visualization or a new enhancement to a visualization or how something is sorted in one report, it just instantly applied everywhere.
So, just the reach was multiplied for everything we added. And the other thing is it just made the product more accessible, let us add dark mode. So, it made our visualizations really stunning and really easy to see what the takeaways were. And then every new visualization we added inherited all those benefits.
Team Collaboration Tool Stack
Lenny:
I’m trying to think about being at a company that goes through this phase of, “Hey, we’re just going to build a bunch of stuff that we know we need.” And it feels like hearing it, it’s like, “Oh yeah, and then we’re just going to make it all look great and connect and work well.” I imagine that wasn’t planned, and I imagine that wasn’t easy to get people to maybe slow down on just building more products and features or push it in a direction where it’s all going to make sense. Can you talk at all about what that process was, how hard it was to shift from we’re just going to knock through all this checklist of things to let’s just bigger, let’s slow down, let’s spend a lot of time designing?
Vijay Iyengar:
It was definitely more messy internally than I described it. One of the key junctures was when we had this really talented design team and we were putting them on these very tactical projects that was, frankly, that was very engineering led, right? And design would often come in at the end and be asked like, “Hey, can you just make this look nice and put some pixels on it?” And it’s just such a waste of your design team to have them do that. But at the same time, the pace was so high that they didn’t have time to come up for air and do anything else. And so there’s actually this moment where I was an engineering manager at part of this.
And had a meeting with our BM and our head of design at the time, and we said, “Hey, we can actually do the next three months of projects about any design,” which was a kind of controversial thing to say, “but we’re doing this so that you can take three months with a set of designers and go think about the system architecture of the product, and we’ll wait for that to be done before we do any architectural things that might impact the architecture.” And I think that gave designers a bit of breathing room to go do that, just separating them for a bit from the tactical fire. Because what was happening instead was we would get towards the end of the project, bring design in, and they would use each project as an opportunity to squeeze in like, oh, and we can simplify here. And that’s just a classic way to blow up scope at the end of the project because there wasn’t a dedicated space for design led projects.
And I think that that was kind of a key friction point that we ultimately had to decouple for a bit, and then regroup and say, “Okay, now we’ll look what’s our strategy,” and just take on projects purely for the sake of improving consistency, reach depth of our UX.
Common Product Analytics Misconceptions
Lenny:
Also, looking back, the process you went through adding a bunch of products to solve more customer problems, something every founder and product team thinks about, when should we add new product lines? When should we expand beyond the core? I’m curious what you take away as a lesson and what you’d advise other founders and companies when it comes to when is the time to expand and think about a new product and a third product and a fourth product?
Vijay Iyengar:
I don’t know if there’s a hard and fast rule here. I can just maybe say what made sense and didn’t make sense in our context. The issue for us at the time was that we took people away from the investment in our core product to go do those other things. We moved people, right? And so the trap there is that you leave yourself ripe for disruption in your core because someone else can out invest you in that core. And so if you, you’re the leader in some core product, our takeaway here is you should continue to out invest everyone else in that core, and then invest the profits that come out of that core into the next venture. Invest profits and not people, or venture capital, which is maybe net present value of profits or something to that effect. But don’t take people away from the core to go to these other things because then you end up distracted.
And the other aspect of that is that those secondary products we took on were in categories of their own. And it’s really tempting and you’ll often get dragged into accidentally entering another category, and then you’ll end up building these bolt-on products that are the best in their category, right? And the adjacent categories for analytics are CDPs or message targeting or feature flagging or something, but there’s not that many people that need the sixth best CDP or the eighth best feature flagging or the 10th best message targeting tool. And it ends up being, in aggregate will contribute five to 10% to your revenue, won’t seriously accelerate your growth rate, and then takes engineers away from the core product. And so those were the circumstances that we were.
And I think if you’re seeing churn to your competitor on your core product and you’re not best in class on any of the other ones, then maybe it’s time to reevaluate. And then the last thing I’ll say there is that it’s also 10x more painful than you think to cut mild successes than anything else, and just organizationally painful. And there’s teams that have whole roadmaps, and it’s a really painful experience, so you have to think really hard before you kick those off.
Trends and Future of Data Analytics
Lenny:
That is really, really insightful advice, makes me think about if you bundle good enough solutions, there needs to be kind of this anchored tenant that I will not give this thing up and I’ll use the third best version of something else, if you have it. But if you’re not that valuable and important, you’re not going to convince people to use something because they’re competing against the best in every category.
Evolution of Event Data Models
Vijay Iyengar:
Exactly. Yeah.
Mixpanel’s Position in the Data Ecosystem
Lenny:
That is really interesting. I’ve been doing this kind of series on how different companies approach building product and I have a few questions I’d love to ask around the product development process and Mixpanel.
Vijay Iyengar:
Sure.
Lightning Round Q&A
Lenny:
The first is just like, how do you plan? How do you plan? I know it evolves, but just how do you plan currently? How long are your planning cycles? How far ahead do you plan in detail? Do you use OKRs? Maybe let’s start there, those three kind of sub-questions.
Contact Info and Listener Support
Vijay Iyengar:
We have these unsolved problems and analytics that we’re going after. For us that’s like, people always want more power, more simplicity, better data trust, faster onboarding, better collaboration, better price performance. And so we largely organize our teams around those problems and those missions. One quick aside there is that some of those problems have attention with each other. Power and simplicity, there’s a trade off there, right? And we want one team to own both, so that they’re kind of forced to confront that tension and beat that trade off. And so that’s kind of how we think about generally our product team, is these cross-functional EPD teams, each of which that’s focused on solving these long-lived paired problems for customers [inaudible 00:20:41] our core analysis team focused on that power, simplicity, trade off problem. In terms of planning, the way it works is that we plan on a six month time horizon. And I can talk about our most recent planning cycle actually, because we’re just completing it.
Final Thoughts and Outro
Lenny:
Yeah, let’s do it.
Vijay Iyengar:
Yeah, basically it started out with this strategy memo that our leadership team wrote that basically just conveys this is where we want to go as a company in the next year, and here’s how the product team can contribute most of that and just established these key pillars. We shared that with the teams, and they took that and also combined that with all the quantitative and qualitative context they’re constantly consuming about the problem they’re working on and our customers, and ideated and developed the series of bets for the next six months, which I think are some extent similar to OKRs, where ABET… The anatomy of ABET is that it’s problem we want to solve, our hypothesis on the solution, and then some plan to win, some plan to actually get there and a way to measure that you got there.
And I think one of the unique things that we did relative to other companies that do planning is… I think it usually is sort of this W process of there’s the strategy memo, and then teams generate bets and there’s a review, and then they go back and I iterate and then they finalize. And we kind of collapsed the middle part of the W where myself and our head of design actually spend time with each of the teams actually ideating on the bets and participating in the solution discovery process, going into the jam sessions and adding fig must keys ourselves with ideas and thoughts on things, which we did because we aren’t a huge product team, and we are not going to do 50 things and a half. We’re going to do maybe 10 to 12 things.
And so that’s enough that we don’t… We can do something that doesn’t scale if that enables high bandwidth communication between us and the teams. And it ends up being more messy and unstructured ABET in that phase because we’re in there contributing ideas as well. But by the end of it, I think the team leaves feeling both more competent in their bets because there’s more thought that’s gone into it, and then more aligned top to bottom line why we made certain decisions. And so I think that that’s one thing that’s different. And then we conclude that process with the roadshow where we presented the rest of the company, and then get their feedback as well.
Lenny:
How long is this process generally?
Vijay Iyengar:
The teams did pre-work for a couple of weeks, like two weeks in December, and then we did a two week sort of sprint on solutioning and ideation in January, the first two weeks of January.
Lenny:
Awesome. And what’s the end result of planning for each team? Did they deliver a document with, here’s our strategy, here’s the big bets, here’s a roadmap? Is there a template you pass around? How do you get to a thing that people share and present and comment on?
Vijay Iyengar:
Yeah, I think there’s basically three artifacts that are kind of linked to each other. So, the first is we use Notion, and so we have a database in notion called bets, which is where each page in the database is [inaudible 00:23:22]. And that has a template, yeah. So, it’s kind of roughly what I described with a few more sections of what problem we’re solving? What’s the evidence of demand? What’s the region impact of this problem? How do we know we’re successful? And then what’s the key driving hypothesis behind the solution? And then a rough line. And then that’s tied with a presentation that’s kind of like a tight summary of that that has one slide per bet, and then is also tied with more of an execution focused, how do we sequence and staff this thing and eliminate dependencies, which the engineering team contributes to. So, I think those are the three artifacts that are linked together.
Lenny:
And if you start the process now, you can claim a special discount exclusively for Lenny’s Podcast listeners, 15% off your first four weeks of working with your new software developer. Grow faster With an extra pair of hands, visit lemon.io/lenny.
I know you have some insights on prioritization and some strong opinions on how to prioritize. Can you talk a bit about that and how you advise your product teams to prioritize?
Vijay Iyengar:
One really common framework in prioritization is RICE, reach, impact, confidence, effort. And I think it’s simple and fairly robust, which is generally good qualities of a framework. But one of the traps with RICE that we observed is that the C and E, the confidence and effort tends to cause you to prematurely deprioritize potentially high reach, high impact bets, really innovative things. And we encountered this on one of our teams early last year were we just RICE’d everything, all the ideas, and a lot of the high reach, high impact things ended up at the bottom because confidence and effort were just so murky for them, as they should be typically for high reach, high impact ideas.
And so one exercise that we push our teams on is just ignore the C and E for a little longer than it’s comfortable, and just sit with those high reach, high impact ideas with engineers and designers in the room committed to actually trying to solve them. Give it a fair shot. And you’ll often find if you spend a week on that set of ideas, you can get pretty far in understanding the confidence and the effort. You can probably find a higher confident lower effort way to do them. Then add the C and E back in, and then RICE as usual. And the goal is to end up with a reasonable mix of innovative bets, incremental bets, and then ones that are technical debt or product debt that you need to address.
Lenny:
I usually just cut out the C myself. I find that it’s not that powerful. Do you do this in a Google Sheet? Do you use this in Notion? How do you actually recommend teams do this prioritization, or just eyeball it?
Vijay Iyengar:
I’m not super opinionated on the exact tools that teams use. I think this is a team local exercise typically, but most teams use Notion and just simple tables or databases in Notion-
Lenny:
Sweet.
Vijay Iyengar:
… work fine for this. I think the other thing on prioritization that’s always tricky is estimation. And every engineer will value you estimates are all lies, and if you say it’ll take eight weeks, it’ll take eight months. But I think the core problem with estimation is you’re asked to estimate things before what the thing is, and it’s just a strange output to be expected to produce. And one approach that I found really interesting is from this book called Shape Up by Basecamp, which this idea of appetite overestimates, where instead of making the estimate an output of planning, you make the time box or an appetite the input, and you say, “We want to solve X problem and we’re willing to invest six weeks solving that problem.”
The obvious question there is how do you pick that time window? It just seems arbitrary. And so the base camp people suggest just pick six weeks for everything, and they’re really austere about if you can’t scope hammer something down to six weeks, you’re doing it wrong, which I think is… It can work and has a lot of benefits if you creates a rhythm in your company, but one approach I found that works better is pick a reasonable sounding appetite and just explore the two to three options around it. Pick six weeks, and then say, “What would we do differently if we only had four weeks or eight weeks?” And you’ll kind of naturally find the efficient frontier of cost and impact, and then align on that. And the important thing is that you check in after that time period and say, “Is there any new information that’s just we should continue? Did we uncover the biggest risks, and are we just on the long tail of things?” And actually be honest with yourself about that. I think that’s important regardless of what framework you use.
Lenny:
I really like that. So, is that how you actually operate, you create a time box, we have four weeks for this project, whatever we get done, we ship whatever we don’t, we push out?
Vijay Iyengar:
We operated that way in engineering, particularly on the infrastructure side, because we have this series of projects that would just take forever, and the longer it takes, the longer it’s going to take. And so we’ve done that exercise quite a bit. I’d say more on the more engineering heavy projects than others, but we’re starting to adopt it more in the product side as well. The main exercise we’ve taken on the product side is more the consider, what would you do differently with different time boxes approach?
Lenny:
Just a thought exercise.
Vijay Iyengar:
Yeah, it’s a good thought exercise. Then it just forces everyone to truly score the requirements. Critical, nice to have, is nice, but really if in two weeks, you’re going to get pulled off to do something completely different, what would be a complete solution that addresses the core problem. And it forces you to peel the meat of the problem in first, as opposed to just doing the things that are surrounding it.
Lenny:
That’s cool. I really like that. I’ve done that myself. I’m curious if anyone ever does the shape up process for real or it’s just like we will ship anything that is ready within six weeks and not actually have specific deadlines or kind of concrete goals of products they need to ship in specific ways.
Vijay Iyengar:
Yeah. Well, I think the shape up process, if you run it all the way. They do… Their idea is that you can actually predict on a six week time horizon. So, you can just hammer down scope to something that is complete. It needs to be complete. It can’t be milestone one that’s like a half baked thing in six weeks, which I think that rigor… The rigor they applied to that across the board, you need to do it all the way. You can’t adopt the process halfway. I think the is the challenge. Otherwise you end up with people shipping milestone one and then moving on, which is not the complete product.
Lenny:
Makes sense. A couple more questions around how you build product. You mentioned that you have a unique approach to keeping product teams close to customers. And I’m curious what you’ve learned there, what you found to be helpful and just kind of keeping product teams close to your customers.
Vijay Iyengar:
I think this is one thing that is something we invested in pretty early on at Mixpanel. Actually around that time, in 2018, when we refocused on our core product, one of our sales engineers, Aaron, built this automation where he piped all these customer gaps that we got that were reported by our customer success and sales teams, piped that into Slack and just a feed. And what this created was this culture where all engineers and designers could consume that raw feed of direct points of customer with no gatekeeper, no process to access it, no pre-aggregation, right? And I think this scale’s pretty far. At a product team of our scale and with our reach of customers, we don’t get so much feedback that someone couldn’t read it in 20 minutes every day. And for four or five years in engineering, every day I would read all the gaps that we got, and many engineers would do that.
And one of the rituals that it’s enabled is we’ll find that engineers will go into that channel and react with a message with an email emoji, which means I’m going to email this customer and find out more, right? And they’ll just email the customer and say, “Hey, I’m the engineer that built this feature. I saw you said this specific thing. Can you tell me more? I’d love to understand.” They ask the five why’s, and then they improve the product on their own. And I think that culture is just so important, and it just empowers all engineers and designers to think a PM a little bit, which I think takes a little bit of a load off on the PM to be the gatekeeper of all that information.
And then over time, we’ve evolved it quite a bit as our data stack stack’s involved. So, we now not just take customer requests, but we take things that are posted on Twitter and NPS survey feedback and win loss notes from our competitive deals and pipe them both into Slack and into Notion so that we can both get the realtime feed, and then we can sort and aggregate and tag things accordingly. But the key artifact of this is that it’s all open. There’s no gatekeeper behind that process.
Lenny:
That sounds both amazing and wild. Do you still allow engineers just to email customers and ask them questions about this stuff, or is that harder to do it as you’ve grown?
Vijay Iyengar:
Oh no, we still allow that. Yeah.
Lenny:
Wow, that’s awesome.
Vijay Iyengar:
One nice thing about the stack actually, the data stack, is that… So, basically all these feeds information land in our data warehouse, which is BigQuery. And from there, they’re pushed out via a reverse CTL tool we use called Census to Slack and Notion that make the note code. But one of the benefits of that is that we can enrich all of these feeds with who’s the account? What’s their ARR? Who’s the CSM? And all that other contact information. So, it’s usually not an engineer’s blindly reaching out to a customer without letting a CSM know if it’s a million dollar account or something. The idea is just trust them with that context, and they can tag the right people and make the right call on that.
Lenny:
I’m so curious how that gets prioritized and how PMs are looped into all that, but we don’t have to get too deep in that. That’s a really cool process. I haven’t seen that before. Our engineers were just emailing customers, digging into questions and problems.
Vijay Iyengar:
The trap of course is what you just called out is you can’t be reacting to everything all the time. And certainly if you ship a redesign, the first two weeks of that, there’s going to be a bunch of feedback that’s like, I hate this. Go back. And I think that’s sort of an organizational muscle you have to build, balance the reaction, and that’s just a thing we’ve had to practice doing, but I think the trade offs are worth it.
Lenny:
Awesome. One last question along these lines, can you just talk about the tools you use, the SaaS products you use to run your product team for collaboration, communication, notes, docs. You mentioned Notion as an example.
Vijay Iyengar:
I think our stack is actually fairly standard these days. So, we have Slack, Zoom for communication, Notion for docs and any long form writing, and it’s a [inaudible 00:33:42] database, and Figma and FigJam for design and whiteboarding. I think what’s actually more interesting is our data stack and the productivity we get out of that. I briefly touched on this, where basically all of our data gets EPL’d out of all the systems we have, lands in BigQuery, gets joined and modeled, and then pushed out via census to all the other tools in our stack. And I think that’s been a huge productivity unlock because you can build internal tools with very little code. If you can write SQL, you can build an internal tool basically, and that pushes information to the teams that need it. And so that, I think, just has unlocked a lot of these types of things like automating qualitative signals with no code in a reliable way.
And then if someone like, “Oh, can I get ARR on this?” Yeah, sure it takes two seconds to do that. So, I think that data stack has been a huge productivity unlock for us.
Lenny:
Awesome. Have you guys shared that anywhere online, just to show kind of the stack you guys have built?
Vijay Iyengar:
We have a couple blog posts that talks about our stack for… We use this both for our PLG infrastructure and our product, let sales, defining a PQL and alerting a new user who fits that criteria, but then we also use it for internal tools. We have a few blog posts on that topic.
Lenny:
Sweet. We’ll follow up and include some of that in the show notes.
Vijay Iyengar:
Yeah, definitely.
Lenny:
Final line of questioning, you’re one of the smartest people in the world on product analytics heading product for Mixpanel. I’m curious what you think most people get wrong when they’re setting up product analytics for their site, their product, their company.
Vijay Iyengar:
It’s maybe a bit of a hot take because I think so many people-
Lenny:
There we go.
Vijay Iyengar:
Yeah, so many people still do this, but I think the biggest mistake is setting up analytics using client side SDKs, client side tracking. So, web and mobile SDKs, putting a mixpanel.track or segment.track in your web app or your mobile apps. And reason it’s a hot take is that for many people that’s product analytics and SDK tracking are synonymous. They’re like, “All right, Mixpanel means SDK, I have to put an SDK in my web and mobile app. But that’s a mistake because it… We’ve just seen time and time again, it leads to poor data quality and difficulty to maintain that data. So, the problem on web is, just due to app blockers and other unreliable things, in the JavaScript world, you end up dropping 20 to 30% of your events, and so it just doesn’t match your internal databases.
And then on mobile there’s two problems. The first is that you have to reinvent tracking for both iOS and Android because it’s two different languages and two different platforms, generally speaking. And so you end up with many duplicate events that semantically mean the same thing, but are just different because of the two platforms, and you might have two teams owning that. And the second issue, which is I think even worse, is that you are kind of beholden to clients updating their mobile app to get to the latest version that has your latest tracking. So if you want to add new tracking, it’ll only apply to people at the latest version and beyond. Whereas yet all of your old tracking, whether it’s broken or you made a mistake, is still out there in the wild, and so you’re constantly getting events that are old and broken.
And so what we recommend instead, and that we’ve seen a lot more customers adopt recently is just track events from your servers instead of your clients. And that has three benefits. One, it’s instantly cross platform. Web and mobile and TV and whatever other platform, they’re all going to go through your servers, so you instantly get a hundred percent reach. The second is it’s in an environment you control. So if you want to update tracking, you can update it and updates for a hundred percent of users. And then the third thing is that… And this is I think maybe unintuitive, but it’s true, is that engineers have been tracking events from servers forever. It’s called logs, right? And events are just logs where they user ID in them. And so they don’t need to deal with learning a new SDK and dealing with all of that. They just have to track logs that have some structure and a user ID in them. They’re tracking events.
And so if it’s easier for the developer, it’ll get done in a higher quality way. So, I think the really simple advice there is just start tracking events from your servers instead of from your clients. And if you need to supplement it later on with context that’s only on the client, you can add that on later, but server side should be the default.
Lenny:
Maybe a last question is just what’s changed most and how companies work with analytics in the past few years? And then just where do you think things are going in the space of analytics?
Vijay Iyengar:
Yeah, so I think one huge trend is the rise of the data warehouse. So these are Snowflake, BigQuery, Redshift, and they’re really scalable and they speak this SQL standard, which has led to this explosion of tools that have emerged around them and make it really easy and cheap to load data into the data warehouse, and then also easy to push data out of the data warehouse by tools that can just do that. And this has a few implications. So, the first is that the data warehouse becomes the center of gravity for all data in your company. Whether it’s product marketing and sales data, they all land there. And I think that’s really valuable today in this product led growth world, and a lot of incus filled my bad. But from a data standpoint, that means all these teams need to be operating off of the same version of the truth, and that version of the truth is sitting in the warehouse, and it just needs to be joined correctly.
The second thing in terms of where things are going is the events, a time series of users at this action at this time, are the universal data model for analytics. And the reason for that is every action, every interaction a customer has, whether it’s with your sales team, like a gong call, or with your marketing team, they clicked on that or viewed marketing article or their product, which is more well known, those are all events. They can all be modeled as events. And it’s super granular, super intuitive as a way to understand what people are doing. And it’s really powerful, because oftentimes you want to ask questions about sequences of events, right? Which user has spent this much time on my pricing page and then looked at three developer docs? That’s probably a user I want to reach out to. So many things can be modeled off of that.
And so I think data warehouse is becoming the loading dock for all this data, which can be very easily modeled this events, but it’s not a very great analytical tool for events because SQL is optimized for rows and tables and joints, and not events and sequences of events and segmentations of events. And so one of the things that we’re spending a lot of time thinking about is how do we get that really rich, trusted, comprehensive dataset from the data warehouse into a tool that’s optimized from the UI down to the data model for events, because that unlocks really fast intuitive exploration of data on dataset that people already have in trust? So, that’s, I think, one of the big trends we’re excited about and what we see as the future.
Lenny:
Interesting. And you think Mixpanel is in a good place to help people do that? Is that how see this, there’s something that companies like yours will help people solve, or is this something everyone’s going to have to figure out for themselves, or there’s like a whole new class of startups launching to help them make the mess out of data warehouses?
Vijay Iyengar:
No, there’s always a new class of startups joining in the analytics space. It’s never dull moment. Yeah, I think this is something that we are looking to solve, because I mean, analytics only as good as the data. And if people are already collecting great data in the warehouse, I mean we integrate with the warehouse really well, then we get access to that good data. Increasingly, what we’ve been seeing is that companies like in the reverse ETL phase, like Census and Hightouch are effectively reinventing the CDP reinventing, data movement tool like segment on top of the data warehouse. And so really our strategy there is just tightening our integration with those tools. And we’ve seen just huge growth and people using their data warehouse as the source for events, not adding SDK tracking anywhere, and just saying, “I already have events sitting here. I trust all of them. They’re from all parts of my business. Why can’t I do analytics on my support tickets and my gong calls just as easily as I can do it about my user behavior.” And so I think that’s something we’re seeing and we’re investing in.
Lenny:
Awesome. Anything else you’d like to share before we get to our very exciting lightning round?
Vijay Iyengar:
Yeah, we opened talking about the transition from engineering to product, and I think one of the things that’s just been really fruitful in my career, both on the engineering side and product side, is just adopting that product mindset and getting closer to customers, consuming the raw feed of customer context, taking every opportunity to talk to them. And I’m really excited to see things like this podcast and your newsletter and other forums for engineers to also develop that product mindset then and get closer to customers, because I think long term, that just means better products and services at lower and lower prices, which is just innovation. So, I’m really excited to see more of that in the world.
Lenny:
Here, here. With that, we’ve reached our very, very exciting lightning round. I’ve got six quick questions for you. I’m just going to go through them pretty fast. Whatever comes to mind, just share, and we’ll see how it all goes. Sound good?
Vijay Iyengar:
Sure. Let’s do it.
Lenny:
Okay. What are couple books that you recommend most to other people?
Vijay Iyengar:
On the business book standpoint, there’s this book called The Goal by Eliyahu Goldratt. And it’s kind of an old book, but I like it because it’s sort of written in this fast-paced thriller model. It’s like a fiction book, but it’s about this idea of the theory of constraints, finding constraints in a system and how you can remove them to improve productivity. So, I found it’s just a fun read, and also really insightful non-technical books that I recommend to folks, particularly those that live in SF, which is Cool Gray City of Love by Gary Kamiya, who is a longtime SF president. And it just goes into the history and the communities, and even the geography of San Francisco, and I’ve just discovered so many little pockets in the city from reading that book, so it’s something I recommend to people who live in San Francisco.
Lenny:
What’s a favorite other podcast that you enjoy other than this podcast?
Vijay Iyengar:
I’ll do non-tech one for this. So, I’m a huge fan of the show The West Wing, and so there’s this podcast called The West Wing Weekly that goes into each episode of the West Wing and brings in actors from the show, as well as folks from government to talk about each episode, and it’s just a delight to listen to if you love The West Wing.
Lenny:
Wait, so they go back to the old show, The West Wing and talk about old episodes with politicians?
Vijay Iyengar:
Yeah.
Lenny:
That’s cool.
Vijay Iyengar:
Yeah.
Lenny:
Wow.
Vijay Iyengar:
Exactly. So, the show’s over. The podcast is over.
Lenny:
Oh, okay.
Vijay Iyengar:
You have all seven seasons, but I think it started in 2016 or 2015 or something.
Lenny:
Got it. So cool. Favorite recent movie or TV show that you’ve really enjoyed?
Vijay Iyengar:
Pretty mainstream TV tastes. So, I really enjoyed We Crushed and Severance. Those are two good shows I really enjoyed last year.
Lenny:
Awesome. Favorite interview question that you like to ask people that you’re interviewing?
Vijay Iyengar:
I’m a big fan of open-ended questions, and so one of the questions I ask in the behavioral interview at the start is, walk me through the story of you from college to now, or high school to now, if they’re a more junior candidate. And couple interesting things here, interesting to see where people spend most of their time talking and where they don’t, and also how they describe the other people on that journey. And do they use a standard framework to describe everyone, or do they go into each person uniquely? So, just tons of follow up questions from that.
Lenny:
Final question is, who else in the industry do you most respect as a thought leader?
Vijay Iyengar:
Got a lot of inspiration from Gibson Biddle and his product strategy medium thing. And in particular, there’s a piece on proxy metrics and the shape of metrics you should use, which I found is a really… The way he frames it is a really elegant way to measure, reach and impact at the same time of your metrics. And then also a big fan of Shishir from Coda, specifically his essays liaison on [inaudible 00:44:37] questions, framing problems, and the one on marginal churn contribution. It’s really interesting.
Lenny:
Amazing. Both guests of this podcast and people I love. Great choices. Vijay, this was awesome. Thank you so much for joining me. Two final questions. Where can folks find you online if they want to reach out, learn more about what you’re up to? And then how can listeners be useful to you?
Vijay Iyengar:
I’m on Twitter and LinkedIn. I think my handles will be in the show notes. Not super active there, but I definitely check DMs and would love to connect on either of those. And then how can listeners be useful to me? Yeah, I mean, ultimately at Mixpanel, we’re building a product for product teams. So, two things. If you haven’t used Mixpanel in the last four years, we’ve changed a lot, as I’ve described on the pod, so check it out, and happy to take any feedback to help us improve the product.
Lenny:
Awesome, Vijay, thank you so much.
Vijay Iyengar:
Thanks, Lenny. It’s been great.
Lenny:
Thank you so much for listening. If you found this valuable, you can subscribe to the show on Apple Podcast, Spotify, or your favorite podcast app. Also, please consider giving us a rating or leaving a review, as that really helps other listeners find the podcast. You can find all past episodes or learn more about the show at lennyspodcast.com. See you in the next episode.
Glossary
| English | 中文 |
|---|---|
| Aaron | Aaron |
| appetite | 投入意愿 |
| blow up scope | 导致范围失控 |
| building blocks | 构建块 |
| churn | 流失 |
| cohorts | 分群 |
| data infrastructure | 数据基础设施 |
| diminishing returns | 边际收益递减 |
| efficient frontier | 有效前沿 |
| Eliyahu Goldratt | Eliyahu Goldratt |
| events data | 事件数据 |
| feature flagging | 功能开关 |
| Gary Kamiya | Gary Kamiya |
| Gibson Biddle | Gibson Biddle |
| holistic design | 整体设计 |
| Lenny | Lenny |
| marginal churn contribution | 边际流失贡献(marginal churn contribution) |
| messaging | 消息传递 |
| net present value | 净现值 |
| product analytics | 产品分析 |
| proxy metrics | 代理指标(proxy metrics) |
| retention | 留存率 |
| revenue churn | 收入流失 |
| reverse ETL | 逆向ETL(reverse ETL) |
| Shishir | Shishir |
| show notes | 节目备注(show notes) |
| single source of truth | 唯一真实来源 |
| system architecture | 系统架构 |
| table stakes | 必备功能 |
| time box | 时间盒 |
| vanity metrics | 虚荣指标 |
| Vijay Iyengar | Vijay Iyengar |
| win rate | 赢单率 |
Reformatted by reformat_english.py
许多企业在取得成功后,极易陷入盲目扩张的陷阱。本文基于 Mixpanel 产品负责人 Vijay Iyengar 的深度复盘,揭示了产品探索中的核心洞见。文章指出,企业进军新业务时最致命的错误是抽调核心人员,这会让护城河面临被颠覆的风险,明智之举应是用核心利润而非人力去投资新项目。此外,作者还分享了从工程师转型产品领导的独特视角,强调需克服“习惯性拒绝”,先尝试让新想法行得通。Mixpanel 从盲目扩张导致高流失,到艰难收缩回归核心的真实经历,为所有思考资源分配与产品专注度的团队敲响了警钟。
深入了解 Mixpanel 的产品之旅 | Vijay Iyengar
核心产品的投资陷阱
Vijay Iyengar: 对我们当时来说,问题在于我们把人员从核心产品的投入中抽调出去,去做那些其他事情。我们调动了人员,对吧?其中的陷阱在于,你会让自己的核心产品面临被颠覆的风险,因为其他人可能会在核心领域投入超过你。因此,如果你是某种核心产品的领导者,我们这里的经验教训是,你应该继续在核心领域投入超过其他所有人,然后将从该核心领域产生的利润投入到下一个冒险项目中。投入利润而不是人员,或者风险投资,这大概是利润的净现值(net present value)之类的东西。但不要把人员从核心领域抽调去做这些其他事情,因为那样你最终会分散精力。
嘉宾介绍
Lenny: 欢迎来到 Lenny’s Podcast,在这里我采访世界一流的产品领袖和增长专家,帮助你在构建和增长产品的技艺上变得更出色。今天的嘉宾是 Vijay Iyengar。Vijay 目前是 Mixpanel 的产品负责人。他的职业轨迹其实和我非常相似,最初在 Amazon 做工程实习生。然后他在 Uber 做了一段时间的工程师,之后成为 Mixpanel 的工程经理。但他随后从工程经理转为了产品总监,现在是 Mixpanel 的产品负责人。你很少看到有人从工程领导角色直接转任产品总监,所以听到他从工程经验中汲取了什么并带入他的产品领导方法中,真的非常有趣。但我们把大部分时间花在了讨论他从 Mixpanel 的发展历程中学到了什么,他们从一个简单的产品起步,然后扩展到许多不同的产品,为客户解决许多问题,接着又做出了艰难的决定,缩减回仅专注于一个核心的分析产品。我们讨论了他们为什么做出这个选择,关于什么时候适合扩展新产品、什么时候可能不适合扩展,他们学到了什么,以及他们是如何从组织层面处理这个问题的。我们还讨论了 Mixpanel 如何构建产品,他们如何思考产品理念,如何确定优先级,以及你在为自己产品设置分析时可能做错了什么。Vijay,欢迎来到播客。
Vijay Iyengar: 谢谢,Lenny。很高兴来到这里。我是这个播客的超级粉丝,很高兴能做点贡献。
从工程师到产品经理的转变
Lenny: 我肯定想谈谈 Mixpanel 作为产品团队和产品本身的旅程。但在开始之前,作为一名工程师,你做了很长时间的工程师,然后成为了一名产品领导者,在领导力、产品和业务的思考方式上,有什么是你必须反学习的吗?
Vijay Iyengar: 在工程领域待了一段时间后,你会产生一种倾向,即对新想法立刻回应“不”。我认为从工程的角度来看,这是因为你花了大量时间构建和维护那些可能只考虑了一半或者没有真正结果的想法,你只是感受到了这些想法所带来的全部维护成本。因此你形成了伤疤组织,对新的想法产生了一种免疫反应,说“不”,而且是非常坚决的“不”,比如“不,我们绝对不会做”。我认为在转向产品时我必须改掉这个习惯,因为你会从组织中的更多地方获得想法,而想法在发挥能动性时是很脆弱的,一个坚决的“不”真的可能会扼杀你本可以探索的整个方向。它们可能是影响范围极广且具有高影响力的。所以,我发现的一件事是,如果你最终必须达到“不”,最好的方法就是尝试让它行得通。开始尝试让“是”行得通,并记录你是如何尝试让“是”行得通的。并且要真诚地去做,而不是把它当作只是在考虑一个备选方案的练习。尝试真诚地去做,并在尝试让“是”行得通之后去了解。所以这就是我一直试图运用我的工程师解决问题的大脑去做的事情,而不是去想它可能怎么行不通然后说“不”。
Lenny: 回顾过去,这是你建议工程师去努力改进的一点吗?我知道作为产品经理,就像,哦,我喜欢工程师说“是”。这太棒了。我其实想帮助每个人学会说“是”。但作为一名工程师,显然这通常是一个挑战。对于那些目前是工程师、可能希望在这方面有所改进,或者在被问到新事情时改变他们对说“是”和说“不”的思考方式的人,你有什么建议吗?
Vijay Iyengar: 我认为我合作过的一些最优秀的工程师其实已经在这样做了,但他们能够在脑海中平衡这两者。所以,归根结底这种平衡,你只想要值班时,因为各种糟糕的想法在凌晨3点被叫醒三次,第二天早上你醒来参加站会,有人会说,“嘿,我们能做这个新东西吗?”你多少必须要有那种同理心去这样做。所以,是的,我认为这个练习就是花10分钟考虑这个想法,真诚地思考我们怎样才能让它行得通。如果在10分钟结束时,发现这是徒劳的并且没有路径,那么说“不”也是可以的。在很多情况下,说“不”其实是一个好本能。但是,是的,我会向工程师推荐这一点。如果我能早点学到这个,我的职业生涯肯定会更好。
Mixpanel 的产品之旅
Lenny: 我想花点时间谈谈 Mixpanel 的产品之旅。这是一段有趣的过山车。这家公司存在多少年了?从2010年开始?2009年?
Vijay Iyengar: 2009年,是的。
Lenny: 我知道早年间它起步时是一个相当简单的产品分析(product analytics)产品。随后,就像有野心的公司会做的那样,你们开始寻找更多问题去解决,从客户那里寻找更多问题去解决。据我所知,你们在 Mixpanel 产品套件中增加了很多产品。但我知道在规模化时遇到了一些挑战,可能产品的粘性也没有你们期望的那么高。
我了解到最近你们又回到了单一的这款核心分析产品上。所以我很想听听这段旅程,整个过程是怎样的,作为产品负责人和作为一家公司,你们在规模化、扩张、试图解决许多问题,然后又回归到一个核心直接的问题上,学到了什么。
早期成功与边界扩张
Vijay Iyengar: Mixpanel 成立于2009年,旨在为 EPD 团队提供产品分析。我认为早期它取得了很大的成功,因为它构建了这个名为 Arb 的内部数据库,代表任意分段。这是必要的,因为事件数据(events data)——产品分析的燃料——比人们收集的大多数其他类型的数据要大几个数量级,所以你需要一种专门的方法来处理它。我认为这推动了第一波爆发式增长,因为产品分析在当时真的是一个迫切的问题。人们疯狂地发布移动应用,他们需要一个能够规模化的解决方案,这在一段时间内算是 Mixpanel 的一种持久模式。
我认为因为我们的 SDK 安装在了如此多的应用中,而且我们拥有这个真正可扩展的事件收集和分析界面,扩展到利用相同技术的几个相邻领域就显得很自然了。所以第一个是消息传递(messaging),能够向用户发送定向消息,这是一件相当自然的事,你可能会想做,特别是如果你已经安装了 SDK 的话。我们添加的另一个方面是数据基础设施(data infrastructure),试图成为公司中数据的唯一真实来源(single source of truth)。
流失危机与艰难抉择
最终发生的是,到2018年,我们遇到了一个巨大的流失(churn)问题。我们的核心产品大约有 40% 的流失率,是收入流失(revenue churn)。当我们深入调查时,并不是人们不再需要产品分析而流失。他们有这个需求。他们只是流失到了竞争对手那里,因为我们在核心产品所具备的功能方面没有达到市场水平。当我们深挖原因时,仅仅是因为我们有 50% 的工程团队在跨三个领域构建产品:产品分析、消息传递和数据工程相关的技术。
我们的工程团队被拉扯得太薄了,无法解决所有这些核心功能上的差距。因此我们在当时做出了一个非常艰难的决定。我们对另外两个类别坚决说不,并决定将整个工程团队集中在弥补产品分析的差距并在那里进行创新。从流程的角度来看,我们如何将此落地运营是,我们扔掉了所有的计划和所有执行,以及到目前为止计划要做的工作,我们做了一件非常简单的事。我们拿来了客户成功和销售团队多年来煞费苦心收集的所有流失原因,按类别分组,这大概就是我们构建的产品功能,按 ARR 降序排列,取前 10 件事作为我们的路线图,只是让每个工程师直接接触客户,并给他们一个任务池去着手处理,我想这违背了外面大约一百万条产品最佳实践。
但我认为考虑到当时的背景,我们需要优化速度,而当你在想做什么和专注什么上有极端的清晰度时,速度就会到来。所以我们在那个时候真的只是在优化速度。所以在第一年我们移动得非常快,那一年我们交付了大概一百个功能,并弥补了很多差距。再次声明,这些都是虚荣指标(vanity metrics)。衡量功能数量并不意味着什么。
Lenny: 顺便问一下,这是哪一年?
Vijay Iyengar: 这是2018年到2019年。
Lenny: 明白了。
Vijay Iyengar: 是的。所以我们非常快地交付了所有这些功能,并立即看到了赢单率(win rate)和留存率(retention)的改善。但开始出现的一个裂痕是,我们当时忽视了产品的整体设计(holistic design),对吧?如果你以这么快的速度交付功能,你就没有时间停下来思考,这东西该放在哪里,它如何融入我们整体的系统架构(system architecture)?开始发生的是,我们在某些功能上遇到了边际收益递减(diminishing returns)。不考虑整体设计和一致性意味着每个功能的影响范围都很低。你必须在我们产品所在的每个部分重新构建它。所以在当时我们做出了……我们启动了第二条非常以设计为主导的工作流。我认为这也恰好与我们采用 Figma 的时间相吻合,这赋予了设计在公司决策桌上一个非常广泛的席位,我们只是设定了这个目标,让设计成为我们的关键差异化因素之一。
设计驱动与系统架构
所以,这个设计驱动的举措真的是关于我们如何思考我们产品的系统架构?Mixpanel 的关键构建块(building blocks)是什么?它们需要放在哪里?我们能拥有多少的构建块,这是一个非常重要的步骤?然后用户将如何发现它们以及它们如何相互关联?但我认为这种认识源于这样一个事实,即许多伟大的产品因其架构而胜败。例如 Notion,它那种块中的页面架构是如此强大,你可以在这些核心构建块上挂载如此多的功能,这种方式对那些功能的触达和发现具有如此高的影响。
无论如何,我们与……并行做了这件事,并继续在核心问题上死磕。所以那个阶段的最终结果,也就是从2018年到大概2021年底、2022年,是我们的留存率从大约 60% 上升到了 90%,我们的 NPS 从 16 上升到了 50。所以我认为,是的,这里面有很多值得拆解的东西,但重新聚焦于核心确实帮助我们实现了这些结果。
战略复盘
Lenny: 明白了。是的。我对此有很多问题。太有意思了。那么,你们经历的按潜在 ARR 进行排序的那个阶段,是扩张到多个产品的阶段,还是在我们决定专注于分析并全身心投入之后的阶段?
Vijay Iyengar: 哦,那是在专注于分析之后的。
Lenny: 好的。
Vijay Iyengar: 是的。是的。
Lenny: 你的意思是,你们有一条工作流只是去构建所有缺失的、导致客户流失的功能,同时并行还有一条线,是让我们去构建这个产品,使得它所有部分都能很好地连接和协同工作,并且在长期来看是经过深思熟虑的?
Vijay Iyengar: 首先,我可能让这听起来好像那些任务池就只是功能。我们确实采取了步骤将它们转化为问题,并且很清晰地将工程师直接面对有那些问题的客户,然后发明一个解决方案来解决它们。所以我的意思是,宽泛地说其中涉及了功能,但它们中很多都是我们需要解决的核心问题。
Lenny: 第一种方法太有趣了。这有点像,是的,如果我们专注于这些功能,我们会赚更多的钱。按照你的观点,它最终变成了一堆功能和产品,可能彼此之间并没有产生协同效应。回想起来,至少在一段时间内,那样做是个好主意吗?
Vijay Iyengar: 这在很大程度上取决于你的具体情境。在竞争非常激烈的情境下,如果客户需要一些市场已经验证过的必备功能,你需要优先考虑速度,而不是其他任何东西。但这是一种很快就会失去效用的方法,我们在那个阶段之后相对较快地就摒弃了这种方法。我其实想说,设计驱动的阶段是下一个阶段,在这个阶段,情况变成了,好吧,我们不再在必备功能上失血了,但我们想打造一个整体的产品,在功能上具有高触达率、高影响力,并且确实是可用的。所以我认为这是一个必要的后续阶段。显然,根据你的具体情况和竞争动态,你可以用不同的顺序来排列它们,但我认为当时的正确决定就是……有点像我们刚才说的待命状态,当你遇到麻烦时,你必须先摆脱麻烦。你不能在房子着火的时候去修剪草坪。你得先把火扑灭,然后再处理其他所有事情。
Lenny: 是的。
Vijay Iyengar: 所以,这大概就是我们采取的方法。
Lenny: 在第一条线中,你们发布的某个功能或产品有什么例子吗?然后在设计主导的方法中产生的,如果有想到的话,又有什么例子呢?
Vijay Iyengar: 我想在第一条线里,天哪,有太多只是核心的东西了。我们当时没有一个好的分群(cohorts)产品,仅仅是能够创建行为分群用户,并能够从我们构建的任何报告中创建它们,对吧?我想,我的意思是,能够做到这一点在产品分析中只是必备功能。所以,那是我们最早构建的东西之一,而且相当明显。还有很多其他东西,在更高级的漏斗分析类型、流以及真正交互式的可视化方面。
我认为在设计主导的阶段,我认为最大的事情是可视化的一致性,以及让我们的图表在整个产品中以一致的方式变得可交互。因此这促成了两件事。一是每次我们添加新的可视化,或者对可视化进行新的增强,或者在某个报告中如何排序,它都会立刻应用到所有地方。所以,仅仅是我们添加的所有东西的触达率都成倍增加了。另一件事是它只是让产品更易于使用,让我们能够添加深色模式。所以,它让我们的可视化真正令人惊艳,并且非常容易看出要点是什么。然后我们添加的每一个新的可视化都继承了所有这些好处。
从功能堆砌到设计主导的转变
Lenny: 我试图想象身处一家经历这个阶段的公司,就是“嘿,我们就是要构建一堆我们知道我们需要的东西”。听起来感觉就像,“哦,是的,然后我们要让它看起来很棒,并且连接和协同工作得很好。”我想这并不是计划好的,我也想象要让大家放慢仅仅构建更多产品和功能的速度,或者把它推向一个一切都会变得合理的方向,这并不容易。你能谈谈这个过程是什么吗,从我们只是要勾选完所有这些清单上的东西,转变为让我们把眼光放长远,让我们慢下来,让我们花大量时间在设计上,这有多难?
Vijay Iyengar: 在内部,这绝对比我描述的要混乱得多。其中一个关键节点是,当我们拥有这支非常有才华的设计团队时,我们却把他们安排在这些非常战术性的项目上,坦白说,那是非常工程主导的,对吧?而设计通常会在最后介入,并被要求说,“嘿,你能把这个弄得好看点,给它加点像素吗?”让你的设计团队做这些简直太浪费了。但与此同时,节奏是如此之高,以至于他们没有时间喘口气去做任何其他事情。所以实际上有这样一刻,我当时是工程经理,也是其中的一部分。
然后我和当时的业务经理(BM)以及设计主管开了一个会,我们说,“嘿,接下来的三个月的项目我们实际上可以不涉及任何设计,”这是一种有点争议的说法,“但我们这样做是为了让你能带着一组设计师花三个月的时间,去思考产品的系统架构,我们会等这完成之后再做任何可能影响架构的架构性工作。”我认为这给了设计师一点喘息的空间去做那件事,只是把他们从战术性的救火中稍微分离出来。因为实际发生的情况是,我们会走到项目尾声,引入设计,然后他们会利用每个项目作为机会挤进去,比如,哦,我们可以在这里简化一下。而这只是在项目尾声导致范围失控(blow up scope)的经典方式,因为没有专门留给设计主导项目的空间。我认为这算是一个关键的摩擦点,我们最终不得不将它们稍微解耦,然后重新集结并说,“好的,现在我们来看看我们的策略是什么”,并且纯粹为了改善我们用户体验的一致性、触达深度而接手项目。
扩展产品线的时机与教训
Lenny: 另外,回顾你经历的添加一堆产品来解决更多客户问题的过程,这是每个创始人和产品团队都会思考的事情,我们什么时候应该添加新的产品线?我们什么时候应该超越核心业务进行扩展?我很好奇你从中得出的教训是什么,当涉及到什么时候是扩展并考虑新产品、第三个产品、第四个产品的时机时,你会给其他创始人和公司什么建议?
Vijay Iyengar: 我不知道这里是否有一个硬性规定。我也许只能说在我们的情境下,什么是合理的,什么是不合理的。对我们来说当时的问题是,我们把人员从投资核心产品上抽离出来,去做那些其他事情。我们调动了人员,对吧?所以那里的陷阱是,你让自己的核心业务容易受到颠覆,因为其他人可以在那个核心上超过你的投资。所以如果你,你是某个核心产品的领导者,我们这里的教训是,你应该继续在那个核心上投资超过其他所有人,然后将从那个核心产生的利润投资到下一个冒险项目中。投资利润,而不是人员,或者风险投资,这也许是利润的净现值或类似的效果。但不要把人员从核心抽走去处理这些其他事情,因为那样你最终会分心。
另一个方面是,我们接手的那些次要产品都处于它们自己的类别中。这真的很诱人,你经常会被拖拽着意外进入另一个类别,然后你最终会构建这些附加的产品,它们在自己类别中是最好的,对吧?而产品分析的相邻类别是 CDP 或者消息传递或者功能开关之类的,但是没有多少人需要第六好的 CDP,或者第八好的功能开关,或者第十好的消息传递工具。它最终的结果是,加起来会为你的收入贡献 5% 到 10%,不会严重加速你的增长率,然后把工程师从核心产品中抽走。所以那些就是我们所处的环境。我认为,如果你看到你的核心产品向竞争对手流失,而你在其他任何产品上又不是同类最佳的,那么也许是时候重新评估了。然后我在那里要说的最后一件事是,砍掉微小的成功比砍掉其他任何东西都要比你想象的痛苦十倍,而且仅仅是组织上的痛苦。有些团队拥有完整的路线图,这是一个非常痛苦的经历,所以你在启动它们之前必须非常仔细地思考。
Lenny: 这真是一个非常非常有洞察力的建议,让我想到,如果你捆绑了足够好的解决方案,就必须要有某种锚定的租户,即我不会放弃这个东西,如果你有其他东西的话,我会使用第三好的版本。但如果你不是那么有价值和重要,你就无法说服人们去使用某些东西,因为他们在每个类别中都在与最好的竞争。
Vijay Iyengar: 完全正确。是的。
Lenny: 这真的很有趣。我一直在做一个关于不同公司如何进行产品构建的系列,关于产品开发过程和Mixpanel,我有几个想问的问题。
Vijay Iyengar: 当然。
Lenny: 第一个问题就是,你们如何做计划?我知道这是在不断演进的,但你们目前是怎么计划的?你们的计划周期有多长?你们会提前多长时间做详细计划?你们使用OKR吗?也许我们就从这三个小问题开始吧。
产品规划与周期
Vijay Iyengar: 我们有这些正在攻克的未解决的分析问题。对我们来说,就是人们总是想要更强大的功能、更简单的操作、更好的数据可信度、更快的上手速度、更好的协作以及更好的性价比。所以我们很大程度上是围绕这些问题和使命来组建团队的。顺便提一句,其中一些问题之间存在张力。强大和简单之间就存在权衡,对吧?我们希望一个团队能同时拥有这两者,这样他们就被迫去面对这种张力并打破这种权衡。所以我们大致就是这样思考我们的产品团队的,即这些跨职能的EPD团队,每个团队都专注于为客户解决这些长期存在的成对问题,比如我们的核心分析团队专注于那个强大、简单和权衡的问题。在计划方面,运作方式是我们以六个月为时间跨度做计划。我实际上可以谈谈我们最近的计划周期,因为我们刚刚完成它。
Lenny: 好的,那就说吧。
Vijay Iyengar: 基本上,它始于我们的领导团队撰写的一份战略备忘录,基本上就是传达这是公司明年想要去的地方,以及产品团队如何为此做出最大贡献,并确立了这些关键支柱。我们与团队分享了这一点,他们以此结合他们不断获取的关于他们正在解决的问题和客户的定量与定性背景,构思并制定了一系列针对未来六个月的ABET,我认为这在某种程度上类似于OKR,一个ABET的结构是,我们要解决的问题,我们对解决方案的假设,然后是一个制胜计划,一个真正实现目标的计划,以及一种衡量你是否到达目标的方法。
我认为相对于其他做计划的公司,我们做的一件独特的事情是……我认为这通常是一个W型的流程,有战略备忘录,然后团队生成ABET并进行审查,然后他们回去,我进行迭代,然后他们定稿。我们基本上压缩了W型的中间部分,我和我们的设计负责人实际上花时间与每个团队一起对ABET进行构思,并参与解决方案的探索过程,进入头脑风暴环节,并自己添加 fig must keys,附上我们对事情的想法,我们这样做是因为我们不是一个庞大的产品团队,我们不会做50件甚至半件事。我们可能会做10到12件事。所以这就足以让我们不用……如果这能让我们和团队之间实现高带宽沟通,我们可以做一些不可扩展的事情。在这个阶段,它最终会变得更加混乱和无结构,因为我们也在里面贡献想法。但到最后,我认为团队离开时会感到对他们的ABET更有信心,因为有更多的思考投入其中,并且从上到下对我们为什么做出某些决定更加一致。所以我认为这是不同的一点。然后我们通过路演来结束这个过程,我们在路演中向公司其他人展示,并获得他们的反馈。
Lenny: 这个过程通常需要多长时间?
Vijay Iyengar: 团队做了几周的准备工作,比如在12月做了两周,然后我们在1月份,也就是1月的前两周,做了一个为期两周的解决方案和构思冲刺。
Lenny: 太棒了。对于每个团队来说,计划的最终结果是什么?他们会交付一份文档,写明这是我们的战略,这是我们的重大ABET,这是我们的路线图吗?你们有没有一个传阅的模板?你们是如何得出一个让人们分享、展示和评论的东西的?
规划产出物与优先级
Vijay Iyengar: 是的,我认为基本上有三个相互关联的产出物。首先,我们使用Notion,所以我们在Notion中有一个名为ABET的数据库,数据库中的每一页都是一个ABET。它有一个模板,是的。它大致就是我描述的内容,外加几个更多的部分:我们在解决什么问题?需求的证据是什么?这个问题的业务影响是什么?我们如何知道自己成功了?然后解决方案背后的关键驱动假设是什么?以及一个粗略的路线。然后这与一个演示文稿绑定在一起,它是对内容的简明总结,每个ABET一页幻灯片,然后还与一个更侧重执行的文档绑定,即我们如何排序和分配人员来做这件事并消除依赖关系,这部分由工程团队贡献。所以,我认为这就是联系在一起的三个产出物。
Lenny: 我知道你在优先级排序方面有一些见解和一些强烈的观点。你能谈谈这个,以及你是如何建议你的产品团队进行优先级排序的吗?
优先级排序框架
Vijay Iyengar: 优先级排序中一个非常常见的框架是RICE,即覆盖面、影响力、信心和精力。我认为它简单且相当稳健,这通常是框架的好品质。但是我们观察到的RICE的一个陷阱是,C和E,即信心和精力,往往会导致你过早地降低那些潜在高覆盖面、高影响力ABET,也就是真正创新事物的优先级。我们在去年初的一个团队中遇到了这种情况,我们对所有的想法都进行了RICE打分,很多高覆盖面、高影响力的东西最终排在了底部,因为对于它们来说,信心和精力实在是太模糊了,这对于高覆盖面、高影响力的想法来说通常是正常的。
因此,我们推动团队做的一个练习就是,把忽略C和E的时间拉得比让人舒服的程度更长一点,就只是和工程师、设计师待在同一个房间里,与那些高覆盖面、高影响力的想法共处,并致力于真正尝试解决它们。给它一个公平的机会。你通常会发现,如果花一周时间研究这组想法,你就能在理解信心和精力方面走得很远。你可能找到一种信心更高、精力更低的方法来实现它们。然后再把C和E加回来,像往常一样使用RICE。这样做的目标是最终得到一个合理的组合,包括创新性押注、渐进式押注,以及你需要解决的技术债务或产品债务。
Lenny: 我个人通常就直接去掉C。我觉得它没那么有说服力。你们是在Google Sheet里做这个吗?还是在Notion里用?你实际建议团队如何进行这种优先级排序,还是直接靠肉眼估算?
Vijay Iyengar: 我对团队使用的具体工具没有太多执念。我认为这通常是团队内部的练习,但大多数团队使用Notion,用里面简单的表格或数据库——这对这个工作来说就很好用。我认为优先级排序中另一个总是很棘手的问题是估算。每个工程师都会告诉你估算是谎言,如果你说需要八周,那就会花八个月。但我认为估算的核心问题在于,你被要求在弄清楚事情到底是什么之前就去估算它,这只是一种很奇怪的被期望产出的结果。我发现在 Basecamp 的《Shape Up》这本书中有一个非常有趣的方法,即投入意愿(appetite)优于估算的理念,你不把估算作为规划的产出,而是把时间盒(time box)或投入意愿作为输入,然后你说:“我们想解决X问题,我们愿意投入六周来解决这个问题。”
估算与时间盒
这里显而易见的问题是你如何选择那个时间窗口?这似乎很随意。因此 Basecamp 的人建议所有事情都只选六周,并且他们非常严格地认为,如果你不能把某件事的范围敲定在六周内,那就是你做错了。我认为……如果你在公司里建立了一种节奏,它是可以起作用的并且有很多好处,但我发现一种更好的方法是,选择一个听起来合理的投入意愿,然后只探索围绕它的两到三个选项。选择六周,然后说:“如果我们只有四周或八周,我们会做哪些不同的调整?”你会自然而然地找到成本和影响力的有效前沿(efficient frontier),然后就此达成一致。重要的是,你要在这个时间段之后进行检查并说:“是否有任何新信息表明我们应该继续?我们是否发现了最大的风险,我们现在是不是只是处于事情的长尾阶段?”并且对此保持诚实。我认为无论你使用什么框架,这都很重要。
Lenny: 我非常喜欢这个。那么,这就是你们实际运作的方式吗,你创建一个时间盒,我们有四周时间做这个项目,完成什么就发布什么,没完成的就推迟?
Vijay Iyengar: 我们在工程团队是这样运作的,特别是在基础设施方面,因为我们有一系列会永远做下去的项目,而且花的时间越长,它花费的时间就会越长。所以我们做了不少这样的练习。我想说在偏工程的项目上比其他项目用得更多,但我们也开始在产品端更多地采用它。我们在产品端采取的主要练习更多是考虑,在不同的时间盒下你会做哪些不同的调整?
Lenny: 只是一个思维练习。
Vijay Iyengar: 是的,这是一个很好的思维练习。然后它迫使每个人真正对需求进行打分。关键的、最好有的,这样分类固然好,但真正的问题是,如果两周后你将被抽调去做完全不同的事情,那么解决核心问题的完整方案是什么。它迫使你首先剥离出问题的核心,而不是仅仅做那些围绕在它周围的事情。
Lenny: 这很酷。我真的很喜欢。我自己也这样做过。我很好奇是否真的有人完全按照 Shape Up 流程来做,还是说就像“我们会在六周内发布任何准备好的东西”,而实际上并没有具体的截止日期,也没有需要以特定方式发布的具体产品目标。
Vijay Iyengar: 是的。嗯,我认为 Shape Up 流程,如果你全程贯彻的话。他们的做法是……他们的理念是你实际上可以在六周的时间跨度内进行预测。所以你可以直接把范围敲定到一个完整的程度。它必须是完整的。它不能是六周后像里程碑一那样半成品的东西。我认为那种严谨性……他们在所有方面应用的严谨性,你需要全程做到。你不能半途而废地采用这个流程。我认为这就是挑战所在。否则,最终的结果就是人们发布了里程碑一然后继续前进,而这并不是完整的产品。
贴近客户
Lenny: 有道理。关于你们如何构建产品,我还有几个问题。你提到你们有一种独特的方法让产品团队贴近客户。我很好奇你在那方面学到了什么,你觉得什么是有帮助的,就是那种让产品团队贴近客户的方法。
Vijay Iyengar: 我认为这是我们在 Mixpanel 很早就投入做的事情之一。实际上大概在那个时期,2018年,当我们重新聚焦于核心产品时,我们的一位销售工程师 Aaron 构建了一个自动化流程,他将我们从客户成功和销售团队那里得到的所有的客户差距,通过管道传输到 Slack 中,形成一个信息流。这创造出了一种文化,所有的工程师和设计师都可以消费这个原始的客户直接反馈流,没有把关人,没有访问流程,没有预先聚合,对吧?我认为这能扩展得很远。以我们产品团队的规模和客户触达范围,我们收到的反馈还没有多到一个人每天无法在20分钟内读完的程度。在工程团队的四五年里,我每天都会阅读我们收到的所有差距反馈,许多工程师也会这样做。
它所促成的其中一个仪式是,我们会发现工程师会进入那个频道,用邮件表情符号回复一条消息,这意味着我要给这个客户发邮件了解更多信息,对吧?然后他们就会直接给客户发邮件说:“嘿,我是构建这个功能的工程师。我看到你说了这个具体的情况。你能告诉我更多吗?我很想了解。”他们询问五个为什么,然后自己去改进产品。我认为这种文化非常重要,它只是赋予了所有工程师和设计师一点像 PM 一样思考的能力,我认为这也稍微减轻了 PM 作为所有这些信息把关人的负担。
然后随着时间的推移,随着我们数据栈的发展,我们对其进行了相当大的改进。所以,我们现在不仅接收客户请求,还接收发布在 Twitter 上的内容、NPS 调查反馈以及我们在竞争性交易中的输赢记录,并将它们同时传输到 Slack 和 Notion 中,这样我们既可以获得实时信息流,然后又可以进行相应的排序、聚合和标记。但这个过程的关键产物是它全是公开的。在这个过程背后没有把关人。
Lenny: 这听起来既令人惊叹又很疯狂。你们现在还允许工程师直接给客户发邮件询问他们关于这些东西的问题吗,还是随着你们的成长这变得更难做到了?
Vijay Iyengar: 哦不,我们仍然允许这样做。是的。
Lenny: 哇,那太棒了。
Vijay Iyengar:
数据栈的价值与工作流
Vijay Iyengar: 实际上,关于技术栈,确切地说是数据栈,一个好处是……基本上,所有这些信息流都会落入我们的数据仓库,也就是BigQuery。从那里开始,它们通过我们使用的一个名为Census的反向CTL工具,被推送到Slack和Notion来生成通知代码。但这样做的一个好处是,我们可以用“客户是哪家”、“ARR(年度经常性收入)是多少”、“客户成功经理(CSM)是谁”以及所有其他联系信息来丰富这些信息流。因此,通常不会出现工程师盲目联系客户,却不告诉CSM这是个百万美元大单的情况。核心思路就是让他们掌握这些上下文,他们就能标记对的人并做出正确的决定。
Lenny: 我非常好奇这些事情是如何确定优先级的,以及产品经理(PM)是如何参与其中的,不过我们不需要在这方面深究。这个流程真的很酷,我以前没见过。我们的工程师以前就是直接给客户发邮件,去挖掘问题和痛点。
平衡反馈与响应
Vijay Iyengar: 当然,你刚才指出的陷阱是,你不能对所有事情都一直保持反应。可以肯定的是,如果你发布了一个重新设计的版本,在最初的两周里,会有大量类似“我讨厌这个,改回去”的反馈。我认为这是一种你必须建立的组织肌肉,去平衡这种反应,这也是我们不得不一直练习去做的事情,但我认为这种权衡是值得的。
团队协作工具栈
Lenny: 太棒了。关于这方面最后一个问题,你能谈谈你们使用的工具吗,就是你们用来管理产品团队协作、沟通、笔记和文档的SaaS产品。你提到了Notion作为一个例子。
Vijay Iyengar: 我认为我们的技术栈如今其实相当标准。我们有Slack、Zoom用于沟通,Notion用于文档和任何长篇写作,它是一个[听不清]的数据库,还有Figma和FigJam用于设计和白板。我认为真正有趣的是我们的数据栈以及我们从中获得的生产力。我稍微接触过一点,基本上我们所有的数据都会从我们拥有的所有系统中进行EPL处理,落入BigQuery,进行连接和建模,然后通过Census推送到我们技术栈中的所有其他工具。我认为这在生产力上是一个巨大的解锁,因为你可以用非常少的代码构建内部工具。如果你会写SQL,你基本上就能构建一个内部工具,并将信息推送到需要它的团队。因此,我认为这解锁了很多类似以可靠且无代码的方式自动化定性信号之类的事情。如果有人说,“哦,我能在这里加上ARR吗?”当然可以,这只需要两秒钟。所以,我认为这个数据栈对我们来说是一个巨大的生产力解锁。
Lenny: 太棒了。你们在网上分享过这些吗,就是展示你们构建的这个技术栈?
Vijay Iyengar: 我们有几篇博客文章讨论了我们的技术栈,用于……我们将其用于PLG(产品主导增长)基础设施和我们的产品,让销售端定义一个PQL(产品合格线索),并向符合条件的新用户发出提醒,但我们也将其用于内部工具。我们在这个话题上有几篇博客文章。
Lenny: 太好了。我们会跟进一下,并把其中一些内容放到节目笔记中。
Vijay Iyengar: 是的,没问题。
产品分析的常见误区
Lenny: 最后一部分问题,你是世界上在产品分析领域最聪明的人之一,并且负责Mixpanel的产品。我很好奇,你认为人们在为他们的网站、产品或公司搭建产品分析时,最容易犯的错误是什么?
Vijay Iyengar: 这可能有点激进,因为我认为有太多人——
Lenny: 来吧。
Vijay Iyengar:
是的,有太多人仍然在这样做,但我认为最大的错误是使用客户端SDK(client side SDKs)、客户端追踪(client side tracking)来搭建分析。比如Web和移动端SDK,在你的Web应用或移动应用中放入一个mixpanel.track或segment.track。之所以说这有点激进,是因为对许多人来说,产品分析和SDK追踪是同义词。他们会觉得,“好吧,Mixpanel就意味着SDK,我必须在我的Web和移动应用里放一个SDK。”但这是一个错误,因为我们一次又一次地看到,这会导致糟糕的数据质量,并且很难维护这些数据。Web端的问题在于,仅仅因为应用拦截器和其他不可靠的因素,在JavaScript的世界里,你最终会丢失20%到30%的事件数据,所以它根本无法与你的内部数据库匹配。
然后在移动端有两个问题。首先是你必须为iOS和Android重新实现追踪,因为一般来讲它们是两种不同的语言和两个不同的平台。因此你最终会得到许多在语义上意味着同一件事,但仅仅因为两个平台而变得不同的事件,而且你可能有两个团队在负责这块。第二个问题,我认为甚至更糟,是你有点受制于客户端去更新他们的移动应用,以此来获取包含你最新追踪代码的最新版本。所以如果你想添加新的追踪,它只适用于处于最新版本及以后版本的人。然而,你所有的旧追踪,无论它是坏掉的还是你犯了错误,仍然在野外存在,所以你会不断收到那些旧的、坏掉的事件。
因此,我们推荐的替代方案,也是我们最近看到越来越多客户采用的方案,就是直接从你的服务器而不是客户端追踪事件。这有三个好处。第一,它天然是跨平台的。Web、移动端、电视以及其他任何平台,它们都要经过你的服务器,所以你立刻就能获得100%的覆盖率。第二,它处于你控制的环境中。所以如果你想更新追踪,你可以更新它,并且能覆盖100%的用户。第三点是……我认为这可能有点反直觉,但它是真的,那就是工程师们从服务器追踪事件已经很久了。这叫做日志,对吧?而事件只是里面带有用户ID的日志。所以他们不需要去学习一个新的SDK并处理所有那些事情。他们只需要追踪那些具有一定结构和用户ID的日志。他们就是在追踪事件。所以如果这对开发者来说更容易,它就会以更高的质量被完成。因此,我认为那里真正简单的建议就是,开始从你的服务器而不是客户端追踪事件。如果你以后需要补充只有客户端才有的上下文,你可以稍后再添加,但服务器端应该是默认选项。
数据分析领域的趋势与未来
Lenny: 也许最后的一个问题是,过去几年里,公司在使用分析方面变化最大的是什么?然后你认为分析领域的未来发展方向在哪里?
Vijay Iyengar: 是的,我认为一个巨大的趋势是数据仓库(data warehouse)的兴起。比如Snowflake、BigQuery、Redshift,它们真的非常具有可扩展性,并且它们都使用SQL标准,这导致了围绕它们涌现出了大量工具,使得将数据加载到数据仓库变得非常简单和便宜,同时也让那些专门做这件事的工具将数据从数据仓库中推出来变得很容易。这带来了一些影响。首先是数据仓库成为了你公司所有数据的引力中心。无论是产品营销还是销售数据,它们最终都会落到那里。我认为在今天这个产品主导增长的世界里,a lot of incus filled my bad。但是从数据的角度来看,这意味着所有这些团队都需要基于相同版本的事实来运作,而那个版本的事实就坐在仓库里,只需要被正确地连接起来即可。
事件数据作为通用模型与分析工具的演进
Vijay Iyengar: 关于事物的发展方向,第二点是事件数据(events data),即在特定时间用户执行特定操作的时间序列,它是分析的通用数据模型。原因在于,客户的每一个行为、每一次互动,无论是与销售团队比如 gong 通话,还是与营销团队比如点击了某个链接或查看了营销文章,或者与产品之间更广为人知的互动,这些全都是事件。它们都可以被建模为事件。这种方式非常细粒度,作为理解人们行为的一种方式也非常直观。它真的非常强大,因为通常你会想询问关于事件序列的问题,对吧?哪个用户在我的定价页面上花了这么多时间,然后又查看了三篇开发者文档?这很可能就是我想去接触的用户。很多事情都可以基于此进行建模。
因此我认为,数据仓库正在成为所有这些数据的装卸区,这些数据可以很容易地被建模为事件,但数据仓库并不是一个非常好的事件分析工具,因为SQL是为行、表和连接优化的,而不是为事件、事件序列和事件分群优化的。所以我们花了很多时间思考的问题之一是,如何将数据仓库中那些丰富、可信、全面的数据集,提取到一个从UI到底层数据模型都为事件优化过的工具中,因为这将解锁对人们已经拥有并且信任的数据集的非常快速直观的探索。所以,我认为这是我们感到兴奋的重大趋势之一,也是我们所看到的未来。
Mixpanel 在数据生态中的定位
Lenny: 有意思。你认为 Mixpanel 处于帮助人们做到这一点的有利位置吗?你是这么看这个问题的吗,这是像你们这样的公司将帮助人们解决的问题,还是说这是每个人都得自己摸索的事情,或者会不会有一大类全新的初创公司涌现,帮助他们理清数据仓库里的乱局?
Vijay Iyengar: 不,分析领域总是有新的初创公司加入。从来不会无聊。是的,我认为这是我们希望解决的问题,因为分析的好坏完全取决于数据。如果人们已经在仓库中收集了很好的数据,我们的意思是,我们与仓库的集成做得非常好,那么我们就能获取那些好数据。我们越来越看到,像在逆向ETL(reverse ETL)阶段的公司,比如 Census 和 Hightouch,实际上是在数据仓库之上重新发明了 CDP,重新发明了像 Segment 这样的数据移动工具。所以我们在这方面的策略就是加强与这些工具的集成。我们已经看到巨大的增长,人们将数据仓库作为事件数据的来源,不在任何地方添加 SDK 跟踪,只是说,“我这里已经有事件数据了。我信任它们所有。它们来自我业务的所有部分。为什么我不能像分析用户行为一样,轻松地对我的支持工单和 gong 通话进行分析呢。”所以我认为这是我们所看到的,并且正在投资的事情。
闪电问答
Lenny: 太棒了。在我们进入非常令人兴奋的闪电问答之前,你还有什么想分享的吗?
Vijay Iyengar: 是的,我们开场时谈到了从工程到产品的转变,我认为在我的职业生涯中,无论是在工程方面还是产品方面,非常有效的一点就是采用那种产品思维,更贴近客户,消费客户上下文的原始信息,抓住每一个与他们交谈的机会。我真的非常高兴能看到像这个播客、你的 newsletter 以及其他让工程师也能培养那种产品思维并更贴近客户的论坛,因为我认为从长远来看,这只意味着以越来越低的价格提供更好的产品和服务,这就是创新。所以,我非常高兴能在世界上看到更多这样的事情。
Lenny: 说得好。话虽如此,我们已经到了非常非常令人兴奋的闪电问答环节。我有六个简短的问题要问你。我只会过得很快。脑子里想到什么就分享什么,我们看看情况如何。听起来不错吗?
Vijay Iyengar: 当然。开始吧。
Lenny: 好的。你最推荐给其他人的几本书是什么?
Vijay Iyengar: 从商业书籍的角度来看,有一本 Eliyahu Goldratt 写的叫《目标》(The Goal)的书。这是一本有点老的书,但我喜欢它,因为它是用这种快节奏的惊悚模式写成的。它就像一本小说,但它是关于约束理论这个想法的,即找到系统中的约束以及如何消除它们来提高生产力。所以,我发现它读起来很有趣,也非常有启发性。我向大家推荐的另外一本非技术书籍,特别是对住在旧金山的人来说,是 Gary Kamiya 写的《Cool Gray City of Love》,他是一位长期的旧金山专栏作家。这本书深入探讨了旧金山的历史、社区,甚至地理,通过读那本书,我发现了城市里许多小角落,所以我把它推荐给住在旧金山的人。
Lenny: 除了这个播客,你最喜欢的一个其他播客是什么?
Vijay Iyengar: 这个我说一个非技术类的。所以,我是《白宫风云》(The West Wing)的超级粉丝,所以有一个叫 The West Wing Weekly 的播客,它会深入探讨《白宫风云》的每一集,并请来剧中的演员以及政府官员来谈论每一集,如果你喜欢《白宫风云》的话,听起来非常过瘾。
Lenny: 等等,所以他们回到老剧《白宫风云》,和政治家一起谈论以前的剧集?
Vijay Iyengar: 是的。
Lenny: 很酷。
Vijay Iyengar: 是的。
Lenny: 哇哦。
Vijay Iyengar: 没错。所以那部剧已经完结了。播客也完结了。
Lenny: 哦,好的。
Vijay Iyengar: 你可以在里面听到全部七季的内容,我觉得它是2016年或2015年左右开始的。
Lenny: 明白了。太酷了。你最近真正喜欢的电影或电视剧是什么?
Vijay Iyengar: 我的电视品味相当主流。所以我真的很喜欢《We Crushed》和《人生切割术》(Severance)。这两部是我去年非常喜欢的剧。
Lenny: 太棒了。你在面试别人时喜欢问的最喜欢的一个面试问题是什么?
Vijay Iyengar: 我非常喜欢开放式问题,所以我在行为面试开始时问的问题之一是,给我讲讲你从大学到现在,或者如果是比较初级的候选人,从高中到现在的故事。这里有几个有趣的地方,看看人们在哪些地方花最多时间谈论,在哪些地方不谈,这很有趣,还有他们如何描述这段旅程中的其他人。他们是使用一个标准框架来描述每个人,还是对每个人进行独特的描述?所以,仅仅从这个问题就能引出大量的后续问题。
Lenny: 最后一个问题是,在行业中你最尊敬谁作为思想领袖?
Vijay Iyengar: 我从 Gibson Biddle 和他在 Medium 上的产品策略文章中获得了很大的启发。特别是有一篇关于代理指标(proxy metrics)以及你应该使用的指标形态的文章,我发现他构建框架的方式是一种非常……优雅的方式来同时衡量你的指标的覆盖面和影响力。然后我也是 Coda 的 Shishir 的超级粉丝,特别是他关于[听不清]问题、构建问题框架的文章,以及关于边际流失贡献(marginal churn contribution)的那篇。真的非常有趣。
Lenny: 太棒了。这两位都是这个播客的嘉宾,也是我很喜欢的人。很好的选择。Vijay,这太棒了。非常感谢你加入我。最后两个问题。大家如果想联系你,了解更多你在做什么,可以在网上哪里找到你?然后听众怎样才能帮到你?
联系方式与听众支持
Vijay Iyengar: 我在 Twitter 和 LinkedIn 上都有账号,我想节目备注(show notes)里会有我的用户名。我在上面不是特别活跃,但绝对会查看私信,很乐意在任一平台上与大家建立联系。至于听众怎样才能帮到我,是的,我想说,最终我们在 Mixpanel 是在为产品团队打造一款产品。所以有两件事。如果你在过去四年里没有用过 Mixpanel,我们已经发生了很大的改变,正如我在播客中所描述的那样,所以去看看吧,我很乐意接受任何反馈来帮助我们改进产品。
Lenny: 太棒了,Vijay,非常感谢你。
Vijay Iyengar: 谢谢你,Lenny。这次交流很棒。
结语
Lenny: 非常感谢大家的收听。如果你觉得这期内容有价值,可以在 Apple Podcast、Spotify 或你最喜欢的播客应用上订阅本节目。此外,请考虑为我们打分或留下评论,因为这真的能帮助其他听众发现这个播客。你可以在 lennyspodcast.com 找到往期所有节目,或了解更多关于本节目的信息。我们下期再见。
术语表
| 原文 | 中文 |
|---|---|
| Aaron | Aaron |
| appetite | 投入意愿 |
| blow up scope | 导致范围失控 |
| building blocks | 构建块 |
| churn | 流失 |
| cohorts | 分群 |
| data infrastructure | 数据基础设施 |
| diminishing returns | 边际收益递减 |
| efficient frontier | 有效前沿 |
| Eliyahu Goldratt | Eliyahu Goldratt |
| events data | 事件数据 |
| feature flagging | 功能开关 |
| Gary Kamiya | Gary Kamiya |
| Gibson Biddle | Gibson Biddle |
| holistic design | 整体设计 |
| Lenny | Lenny |
| marginal churn contribution | 边际流失贡献(marginal churn contribution) |
| messaging | 消息传递 |
| net present value | 净现值 |
| product analytics | 产品分析 |
| proxy metrics | 代理指标(proxy metrics) |
| retention | 留存率 |
| revenue churn | 收入流失 |
| reverse ETL | 逆向ETL(reverse ETL) |
| Shishir | Shishir |
| show notes | 节目备注(show notes) |
| single source of truth | 唯一真实来源 |
| system architecture | 系统架构 |
| table stakes | 必备功能 |
| time box | 时间盒 |
| vanity metrics | 虚荣指标 |
| Vijay Iyengar | Vijay Iyengar |
| win rate | 赢单率 |
此文档由 AI 分片翻译(translate_long_document)