Catalog/saas-plg-readiness-score

Calculators

Product-led-growth (PLG) readiness score API

Transparent weighted PLG-readiness rubric (0-100) over five 0-1 factors with explicit weights — timeToValue 0.25, selfServeConversion 0.25, activationRate 0.20, virality 0.15, expansionMotion 0.15 — returning a rating bucket (plg-ready/capable/needs-work/sales-led) and per-factor contribution breakdown. Answers 'am I ready for product-led growth','what is my PLG readiness','which PLG lever is weakest'.

Price$0.01per request
MethodPOST
Route/v1/calc/saas-plg-readiness-score
StatusLive
MIME typeapplication/json
Rate limit120/minute
CacheNo cache
saasplgproduct-led-growthscorestartuprubricactivationcalc
API URLhttps://x402.hexl.dev/v1/calc/saas-plg-readiness-score
Integration docs
Example request
{
  "timeToValue": 0.7,
  "selfServeConversion": 0.6,
  "activationRate": 0.65,
  "virality": 0.4,
  "expansionMotion": 0.5
}
Example response
{
  "score": 59,
  "rating": "needs-work",
  "weights": {
    "timeToValue": 0.25,
    "selfServeConversion": 0.25,
    "activationRate": 0.2,
    "virality": 0.15,
    "expansionMotion": 0.15
  },
  "breakdown": [
    {
      "factor": "timeToValue",
      "label": "speed to first value (normalised)",
      "value": 0.7,
      "weight": 0.25,
      "contribution": 17.5
    },
    {
      "factor": "selfServeConversion",
      "label": "free-to-paid self-serve conversion",
      "value": 0.6,
      "weight": 0.25,
      "contribution": 15
    },
    {
      "factor": "activationRate",
      "label": "new-user activation rate",
      "value": 0.65,
      "weight": 0.2,
      "contribution": 13
    },
    {
      "factor": "virality",
      "label": "viral / invite coefficient (normalised)",
      "value": 0.4,
      "weight": 0.15,
      "contribution": 6
    },
    {
      "factor": "expansionMotion",
      "label": "in-product expansion motion",
      "value": 0.5,
      "weight": 0.15,
      "contribution": 7.5
    }
  ],
  "formula": "score = 100 * (0.25*timeToValue + 0.25*selfServeConversion + 0.20*activationRate + 0.15*virality + 0.15*expansionMotion)"
}
Input schema
{
  "type": "object",
  "required": [
    "timeToValue",
    "selfServeConversion",
    "activationRate",
    "virality",
    "expansionMotion"
  ],
  "properties": {
    "timeToValue": {
      "type": "number",
      "description": "speed to first value, normalised 0-1",
      "examples": [
        0.7
      ]
    },
    "selfServeConversion": {
      "type": "number",
      "description": "free-to-paid self-serve conversion 0-1",
      "examples": [
        0.6
      ]
    },
    "activationRate": {
      "type": "number",
      "description": "new-user activation rate 0-1",
      "examples": [
        0.65
      ]
    },
    "virality": {
      "type": "number",
      "description": "viral/invite coefficient normalised 0-1",
      "examples": [
        0.4
      ]
    },
    "expansionMotion": {
      "type": "number",
      "description": "in-product expansion motion 0-1",
      "examples": [
        0.5
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}