---
title: "What is PMF (Product-Market Fit)?"
canonical: https://wavect.io/glossary/pmf/
language: en
description: "The point at which the market pulls product out of you faster than you can build it. Until you feel that pull, you do not have PMF."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

METHODOLOGY

# PMF

Product-Market Fit

The point at which the market pulls product out of you faster than you can build it. Until you feel that pull, you do not have PMF.

Last reviewed: 2026-05-24 by [Kevin Riedl](/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

Product-Market Fit is famously hard to define and famously easy to recognise. Marc Andreessen’s heuristic still holds: you know you have it when the product is being pulled by users, the press, and the cap table all at once, and your problem is no longer how to find customers but how to keep up with them.

Pre-PMF, almost everything you do is a bet. The right org chart, the right tech stack, the right hiring plan all depend on which segment of customers actually pulls. Post-PMF, the questions become operational: scale the team, harden the stack, control the burn.

Worked example of the most expensive pre-PMF mistake: a team raises a seed round, hires four engineers, and spends nine months building a Kubernetes-backed, multi-region, microservices platform “so we can scale”. They scale to forty users, run out of runway, and the architecture they built for millions never gets tested by hundreds. The opposite failure is rarer but real: a team finds the pull, gets featured, and the single overloaded server falls over during the one week the whole market was watching. The engineering call is entirely a function of which side of the PMF line you are on, which is why naming the line honestly matters more than any stack decision.

The honest trade-off founders dodge: admitting you are pre-PMF feels like admitting failure, so decks describe a slog of one-customer-at-a-time selling as “early traction”. If acquisition is still a grind and churn is high enough that word of mouth cannot carry growth, you are pre-PMF regardless of the deck, and the right move is to keep shipping the cheapest [MVP](/glossary/mvp/) that resolves the next uncertainty rather than build for a scale you have not earned. A [discovery-phase](/glossary/discovery-phase/) helps you name the riskiest assumption; a fractional operator can prevent expensive technical mistakes during the search, but cannot substitute for the founder’s relentless customer obsession that actually produces the pull. Past PMF, you typically need a CTO, not a [co-founder](/glossary/fractional-cofounder/). See [Fractional CTO Austria](/services/fractional-cto/).

// FAQ

## FAQs

### How do I know I do NOT have PMF?

You are still convincing every customer one at a time, churn is high enough that you cannot grow on word of mouth, and your roadmap is driven by what you think users want, not by what they keep asking for. If acquisition is a slog, you are pre-PMF, no matter what the deck says.

### Can a fractional operator help reach PMF?

Yes for the strategy and discovery side, no for the founder-customer obsession side. PMF is mostly a function of how relentlessly the founder talks to users. A fractional CTPO can prevent expensive technical mistakes during the search; they cannot replace the founder’s calendar.

### Does PMF protect you forever?

No. Markets shift, competitors copy, regulation changes. PMF is a moment, not a moat. Companies that confuse the two stop iterating right when they should be doubling down on what made the pull happen in the first place.

Related terms

- [MVP](/glossary/mvp/)
- [Discovery Phase](/glossary/discovery-phase/)
- [Fractional Co-Founder](/glossary/fractional-cofounder/)

Related services

- [Custom Software Development](/services/software-development/)

Related case studies

- [Afoma](/case-studies/afoma/)
- [MyMerch](/case-studies/mymerch/)
- [Soundromeda](/case-studies/soundromeda/)

Related guides

- [The software development process, week by week](/software-development-guide/software-development-process/)

Discussed in articles

- [The road to product-market fit](/blog/road-to-product-market-fit/)

Talk to us

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/glossary/pmf/#term",
      "@type": "DefinedTerm",
      "alternateName": [],
      "description": "The point at which the market pulls product out of you faster than you can build it. Until you feel that pull, you do not have PMF.",
      "inDefinedTermSet": "https://wavect.io/glossary/#termset",
      "name": "PMF",
      "termCode": "pmf",
      "url": "https://wavect.io/glossary/pmf/"
    },
    {
      "@id": "https://wavect.io/glossary/pmf/#webpage",
      "@type": "WebPage",
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-05-24",
      "description": "The point at which the market pulls product out of you faster than you can build it. Until you feel that pull, you do not have PMF.",
      "headline": "PMF",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-05-24",
      "mainEntity": {
        "@id": "https://wavect.io/glossary/pmf/#term"
      },
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        }
      ],
      "name": "PMF",
      "reviewedBy": {
        "@id": "https://wavect.io/team/christof-jori/#person",
        "@type": "Person",
        "name": "Christof Jori",
        "url": "https://wavect.io/team/christof-jori/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".gls-single__h1",
          ".gls-single__tldr"
        ]
      },
      "url": "https://wavect.io/glossary/pmf/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/",
          "name": "Tech, product & engagement glossary",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/pmf/",
          "name": "PMF",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "You are still convincing every customer one at a time, churn is high enough that you cannot grow on word of mouth, and your roadmap is driven by what you think users want, not by what they keep asking for. If acquisition is a slog, you are pre-PMF, no matter what the deck says."
      },
      "name": "How do I know I do NOT have PMF?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes for the strategy and discovery side, no for the founder-customer obsession side. PMF is mostly a function of how relentlessly the founder talks to users. A fractional CTPO can prevent expensive technical mistakes during the search; they cannot replace the founder's calendar."
      },
      "name": "Can a fractional operator help reach PMF?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. Markets shift, competitors copy, regulation changes. PMF is a moment, not a moat. Companies that confuse the two stop iterating right when they should be doubling down on what made the pull happen in the first place."
      },
      "name": "Does PMF protect you forever?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
