Want a guided walkthrough? Schedule a 15-min call.

Extruct AI tables allow you to rank and score companies using customizable criteria defined in natural language. This guide walks through the process of setting up a table with criteria-based ranking to evaluate companies according to your specific needs.

Creating a Criteria Ranking Table

While it’s easier to create tables through the Extruct Dashboard, you can also create them programmatically:

curl -X POST "https://api.extruct.ai/v1/tables" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Company Evaluation",
    "kind": "company",
    "description": "Evaluating companies based on custom criteria",
    "column_configs": [
      {
        "kind": "input",
        "name": "Company Input",
        "key": "input"
      },
      {
        "kind": "criterion_grade",
        "name": "Market Fit",
        "key": "market_fit",
        "value": {
          "criterion": "Does this company fit well into our target market of B2B SaaS?"
        }
      },
      {
        "kind": "criterion_grade",
        "name": "Revenue Potential",
        "key": "revenue",
        "value": {
          "criterion": "Does this company have high revenue potential (>$100K ARR)?"
        }
      },
      {
        "kind": "criteria_grade_score",
        "name": "Overall Score",
        "key": "overall_score",
        "value": {
          "column_weights": {
            "market_fit": 0.7,
            "revenue": 0.3
          }
        }
      }
    ]
  }'

Column Types for Criteria Ranking

  1. Criterion Grade Columns

These columns evaluate companies against specific criteria:

{
  "kind": "criterion_grade",
  "name": "Technical Sophistication",
  "key": "tech_score",
  "value": {
    "criterion": "How technically sophisticated is this company based on their product offerings?"
  }
}

Extruct will analyze company data and provide a grade (Yes, Likely, No) for each criterion.

  1. Criteria Grade Score Column

This column calculates a weighted average score based on criterion grades:

{
  "kind": "criteria_grade_score",
  "name": "Final Score",
  "key": "final_score",
  "value": {
    "weights": {
      "market_fit": 0.5,
      "revenue": 0.3,
      "tech_score": 0.2
    }
  }
}

The weights should add up to 1.0 and reference the key values of your criterion columns.

Adding Companies to Evaluate

Add companies to evaluate with the run=true flag to trigger immediate analysis:

curl -X POST "https://api.extruct.ai/v1/tables/{table_id}/rows" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "rows": [
      {
        "data": {
          "input": "Salesforce (https://salesforce.com)"
        }
      },
      {
        "data": {
          "input": "Airtable (https://airtable.com)"
        }
      },
      {
        "data": {
          "input": "Notion (https://notion.so)"
        }
      }
    ],
    "run": true
  }'

Retrieving Ranked Results

Once the analysis is complete, retrieve your ranked results:

curl -X GET "https://api.extruct.ai/v1/tables/{table_id}/data" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

The response will contain the evaluated rows with grades and scores:

{
  "rows": [
    {
      "id": "row_1",
      "data": {
        "input": {"value": "Salesforce (https://salesforce.com)", "status": "done"},
        "market_fit": {"value": {"answer": "Yes", "explanation": "Salesforce is a CRM company, which is categorized as B2B SaaS.", "sources": ["https://salesforce.com"]}, "status": "done"},
        "revenue": {"value": {"answer": "Yes", "explanation": "Salesforce has annual revenue well above $100K ARR, with billions in annual recurring revenue.", "sources": ["https://investor.salesforce.com"]}, "status": "done"},
        "overall_score": {"value": 1.0, "status": "done"}
      }
    },
    {
      "id": "row_2",
      "data": {
        "input": {"value": "Airtable (https://airtable.com)", "status": "done"},
        "market_fit": {"value": {"answer": "Yes", "explanation": "Airtable offers a collaborative database product that serves many B2B SaaS customers.", "sources": ["https://airtable.com/product"]}, "status": "done"},
        "revenue": {"value": {"answer": "Likely", "explanation": "As a well-funded startup valued over $1B, Airtable likely exceeds $100K ARR threshold, but specific figures aren't public.", "sources": ["https://airtable.com/about"]}, "status": "done"},
        "overall_score": {"value": 0.85, "status": "done"}
      }
    },
    {
      "id": "row_3",
      "data": {
        "input": {"value": "Notion (https://notion.so)", "status": "done"},
        "market_fit": {"value": {"answer": "Yes", "explanation": "Notion provides workspace tools used by many businesses, positioning it in the B2B SaaS category.", "sources": ["https://notion.so/enterprise"]}, "status": "done"},
        "revenue": {"value": {"answer": "Yes", "explanation": "As a company valued at over $10B with millions of users, Notion easily surpasses the $100K ARR threshold.", "sources": ["https://notion.so/about"]}, "status": "done"},
        "overall_score": {"value": 1.0, "status": "done"}
      }
    }
  ]
}

Advanced Criteria Configuration

For more detailed evaluation, you can provide additional context in your criteria:

{
  "kind": "criterion_grade",
  "name": "Product-Market Fit",
  "key": "pmf",
  "value": {
    "criterion": "How well does this company's product solve a real pain point for our customer base of mid-sized manufacturing companies? Consider their focus, industry specialization, and customer testimonials."
  }
}

Best Practices

  1. Be Specific: Define criteria that are specific enough to distinguish between companies
  2. Use Multiple Criteria: Include 3-5 criteria that cover different aspects of evaluation
  3. Balance Weights: Adjust weights to reflect your priorities
  4. Review Results: The AI rankings are powerful but should be reviewed by human experts

By combining multiple criteria with weighted scoring, you can create sophisticated ranking systems that align with your specific business needs.