For those who think the "40%+ of users would be highly disappointed if your product did not exist" is weird to test PMF, I recently found a better way: Your cohort retention curve should flat out somewhere above 0%.
I find the 40% rule weird because it highly depends on which people you include as "users". The flattening retention is way more acurate (vs survey question) and already gives more insight into what people are actually doing on your platform.
It's not weird at all. It's also called the "Must Have" Metric which defines if your product is a Must Have vs. Nice-to-Have. Must Have means your users can't live without it. This is the first state of Product/Market Fit. If you have can find a scalable channel then you have the second stage of Product/Market Fit.
Not all products need or have retention. Some amazing businesses are 1-time or products people pay for but don't need to use or actively engage with.
e.g.
Universities, Courses = 1-time use
Stocks/Investments = buy them and don't touch them until you sell
Insurance = buy it and don't touch it until you renew 1 yr later
Plenty of other examples
But every product should be a "Must Have" if it's going to grow.
If I take all registerd people on my platform as "users", I might end up at 0,1%.
But if I define a user as someone who is currently using my product >1 month, I might end up at 60%.
You are correct that not all products can have retention. But if you do, the cohort is a better metric in my opinion.
At some point, no more users should leave. For example after registration week 1, retain 60%, week 2 30%, week 3 10%, week 4 1%, week 5 0.1%. In that case, you don't have PMF. Unfortunately my numbers look a lot like this :,(
But assume week 4 has 10% and week 5 has 10%, that curve flattened out at 10%, and so you have product market fit.
> Unfortunately my numbers look a lot like this :,(
Fortunately you have a mathematical equation at your disposal that helps tell you this so that you can feel confident in trying something different and seeing how that effects PMF
Nice! it would be great if you are able to integrate a simple playground where getPainsIFeel() can be edited and the URL shared with anyone for them to enter `theirPains` for calculating Product-Market Fit.
Because getting people to share their problems, finding those who share the problem, getting those who would like build/have built solution for those problems in a single place is very hard. I've been trying to build a solution for it at needgap[1].
It seems to be hosting user generated content that authors can get paid for by people that like it, so presumably it was flagged because of some content (not this particular page) that is, or at least is closer to being, pornography.
Well that's concerning... do you know if your work draws from a third-party service, and/or do you think it's possible that the "newness" of the site could be triggering that?
Am I the only one who finds it strange that "minority groups" is listed as a persona and that it's also associated with compatible traits, behaviors, and values?
Reading through the list, it seems like the author is aiming for an audience of "people like me", which isn't really the worst thing.
I glanced through the website homepage and didn't really understand what the site was all about, but I'm also not the target audience based on those criteria, so maybe that's okay.
Yeah I thought it was a joke at first but then I saw the comments here and went back to re-evaluate. Looks more to me like it's a thought process that's laid out like code to help the author come up with ideas that solve problems and then evaluate the efficacy of those ideas based on a perceived market for it. Sort of like a checklist to run through in your mind but laid out as a coding workflow.
If you are familiar with the GTD method from David Allen, it reminds me of that a bit where "var product = new idea(getPainsIFeel());" and "innovateSolutions(painsIFeel, audiences, traitsBehaviorsValues);" is basically the equivalent of the weekly review and trigger list to generate things to do/improve. Similarly, thing like createValuableContent(), achieveProductMarketFit(), and synthesize() are analogous to the intermediary stages within GTD that drive the workflow and keep things on track to reach completion.
This is cute and all but there is a sniff test here. Could you rephrase what you're turning into pseudocode back into prose, specifically into a memo, and have it still sound concrete or meaningful?
One thing that might jump out if you do that is that there's no mention of historical context or a competitive landscape. What are potential substitutes and comparable products that potential users use to do something that Karma could do a better job of solving? What is the history of that pain point? You touch upon this where you define what the boundaries are of whether karma can definitely help, and the enumeration of pains that you feel.
This is my humble gut opinion, but I get the sense that there is too much ground being covered there. Solutions to the problems of social isolation, social injustice in the workplace or the world at large, or lack of academic progression are pretty challenging unsolved spaces in and of themselves, and there are some pretty rough economic structures and systems in place that make things harder there. I'm almost certain you wouldn't solve any of those problems by trying to solve all of them at once, but I'm skeptical that you could solve any individual one in and of itself because even the individual ones are so challenging and work against gravitational forces.
There are many algorithms out there -- does this one produce useful work? And if it does, does it do so while effectively minimizing time-space complexity and utilizing data locality to achieve as much useful productivity as possible? If you don't get a satisfactory answer to those questions, I think the real algorithm to help you find a problem worth solving is one that isn't a complete stretch of an analogy.
It's finding subproblems, which is a crucial part of using recursion. Keep digging into smaller and smaller problems until you find something that is small enough to trivially solve that you truly do solve it, but it's aggregable enough to start putting together into a larger and larger solution. Otherwise, you might risk building a solution in search of a problem.
I can try; I have yet to nail down a concise articulation of these, but here's my swing at it:
collectiveOwnership() would describe the process of the product gradually going from a dictatorship (I am the one who controls the code and direction) to democracy (all participants control the code and direction) as the community guidelines, culture, automated moderation, human moderation, and technical details of decentralized ownership are ironed out. This way we protect ourselves against any minority of stakeholders from having the power to pull a Cambridge Analytica and sell out the users and their data, or allow advertisers to dictate what's acceptable and subject LGBTQ+ creators to accidental censorship a la YouTube. If we can recursively create organizations that follow this model, I'm hopeful that people will gradually begin to expect and demand socially sustainable business models to drive the products that they use.
selfActualize() would describe the process of becoming all that we can be, which is the focus of Abraham Maslow's Motivation and Personality. Carl Rogers and Kurt Goldstein also covered it, but I think Maslow's take is the most thought-provoking. If you want some notes on his work, I'd be happy to share (they're linked in the post I shared here). Here's a wiki on it for a concise take: https://en.wikipedia.org/wiki/Self-actualization
Sticking that at the end of the main() method was my way of saying that I'll feel prepared to be selfish as soon as I've had some impact on the bigger picture.
This is just a personal difference of philosophy but I feel obliged to make the case that it isn’t self actualization that is desirable necessarily. I make that case because you yourself have made the claim that it is selfish, that your priority should be to make the world a better place first (in so much that can be defined).
What can be grasped, judging from the premise that the world has suffering and pain, and at times that becomes too much to bear for people (in the form of tragedy), but also in the form of malevolence. Tragedy being something that can be strived to overcome because after all life has limitation and constraints - the goal is to live in spite of those constraints in an effort to make things better. Or rather, to live with your aim up rather than degenerate down into malevolence.
It isn’t self actualization that is concerned, it’s about aiming towards something better across many dimensions. Self actualization is a piece of it, but isn’t the whole point. You might say it begins with the self rather that out in the world. Reduce your own propensity for malevolence. Tell yourself the truth and take care of yourself to put yourself together so to speak. When you are capable enough that you have made habits out of this with ease, your capacity grows outward.
Maybe you are taking care of your home more, maybe you feel like you have enough of your cup filled that you can take care of the attention you give to your children or the kind of attention and education. Perhaps you have enough capacity that you might expand your center out into the community and volunteer, start a business, give back to open source, join a community, lead even.
It isn’t necessarily that these are things are good by the nature of emulation (I.e. a good person does these things) it is a matter of what you value. What you value is directly observable by the evidence of your attention to those dimensions of life.
I don't disagree with anything you've said... I'm just a lousy communicator. I should have been clearer: I don't think self-actualizing is selfish, in fact I think for most people, self-actualization requires you to be unselfish. Maybe I can revise my statement to clarify:
"Sticking that at the end of the main() method was my way of saying that I won't feel self-actualized until I've had some impact on the bigger picture."
product-market fit can never be achieved using this algorithm, since a product is never found: in achieveProductMarketFit.ks, _uncertainty is set to 1.0. It needs to go below the 0.8 threshold in order to get out of the loop, but _uncertainty is never updated anywhere so it can never happen.
So achieveProductMarketFit won't ever return any product. QED ;)
A program language for people to follow is a great idea. I find that so much easier to read than if it were verbosely spun out into pages of a book. I especially like the product market fit function. I really know what that means now, and it’s quite a high bar. You basically need a booming unstoppable business by the sounds of it.
I find the 40% rule weird because it highly depends on which people you include as "users". The flattening retention is way more acurate (vs survey question) and already gives more insight into what people are actually doing on your platform.