Connected: xbrlkitAnalysis

Compare your margins with a public company’s 10-K

Put a company’s gross and operating margin beside a public peer’s, read straight from the peer’s SEC filing, not retyped from a PDF.

For Analyst · Fractional CFO · FP&A · Updated

What this skill does

When a client asks "is our margin good?" and the honest answer is "compared to whom?" Public companies file their statements with the SEC as tagged data, so an assistant can read a peer's revenue, cost of revenue and operating income straight from the filing, and cite the concept each number came from.

Setup. This needs xbrlkit, a free MCP server that runs on your own machine and loads SEC filings by ticker. It holds only the filings you load, one at a time, with no index behind it. That's right for a handful of peers. It isn't built for screening every company in an industry or for long time series; that's what the RoboSystems SEC repository is for.

Your own numbers stay in the chat. You paste them; nothing is uploaded to xbrlkit.

Use it

Needs the free xbrlkit MCP server, which reads public SEC filings one filing at a time.

01Point your assistant at it

Paste this line into a chat with any assistant that can read a web page. It reads the skill and follows it.

Read https://harbinger.finance/skills/margin-vs-public-peer/SKILL.md and follow it.

02Download the skill file

Add it to your assistant as a skill, or attach it to a chat. It is plain markdown, so you can read every word first.

Download SKILL.md

03Or paste the prompt

Replace the [brackets] with your own numbers first.

Using xbrlkit, load the most recent annual report (10-K) for [ticker]. Run describe_filing first so you use the filing's own periods and concepts.

For the latest fiscal year, and the year before if the filing has it, give me the peer's:
- revenue
- cost of revenue
- gross profit and gross margin
- operating income and operating margin

Cite the concept each number came from. If the filer uses its own extension concept instead of a standard one, say so. If a number isn't reported directly, show how you derived it.

Then put our numbers beside theirs:
Our fiscal year [year]: revenue [amount], cost of revenue [amount], operating income [amount].
Our business: [one sentence].

Finish with the two differences in cost structure that matter most, and anything about their business model that makes the comparison less fair.

What you provide

  • -The peer’s ticker, or two or three of them.
  • -Your company’s revenue, cost of revenue and operating income for a comparable year.
  • -A sentence on the business model, so the comparison is fair.

What a good answer looks like

Illustrative figures for a made-up peer.

Peer (FY2025, from its 10-K)

  • Revenue: $412.6M (us-gaap:Revenues)
  • Cost of revenue: $247.1M (us-gaap:CostOfRevenue)
  • Gross margin: 40.1%
  • Operating income: $31.4M (us-gaap:OperatingIncomeLoss)
  • Operating margin: 7.6%

Us (FY2025)

  • Revenue $6.2M · gross margin 46.8% · operating margin 4.1%

What matters

  1. Your gross margin is 6.7 points higher. Their cost of revenue includes freight, which the filing's revenue note says they absorb. Check whether yours sits in operating expense instead.
  2. Your operating margin is 3.5 points lower. At your size, general and administrative cost is a much larger share of revenue. That's normal, and it's the gap that closes with scale.

Less fair: the peer sells mostly through distributors. You sell direct.

Check before you use it

  1. 01Open the filing and check at least the revenue figure against the income statement.
  2. 02Make sure both companies define cost of revenue the same way. Differences in classification move gross margin more than performance does.
  3. 03Compare the same fiscal period. Many public companies’ fiscal years don’t end in December.

The assistant drafts. The person whose name is on the work approves it.

The skill file

Read the SKILL.md your assistant gets
---
name: margin-vs-public-peer
description: "Use when the user wants a company’s gross and operating margins compared with a public peer’s, read from the peer’s SEC filing through the xbrlkit MCP server with each concept cited. Triggers: is our margin good, compare to a public company, peer benchmark, 10-K margins."
---

# Compare your margins with a public company’s 10-K

Put a company’s gross and operating margin beside a public peer’s, read straight from the peer’s SEC filing, not retyped from a PDF.

## When to use it

When a client asks "is our margin good?" and the honest answer is "compared to whom?" Public companies file their statements with the SEC as tagged data, so an assistant can read a peer's revenue, cost of revenue and operating income straight from the filing, and cite the concept each number came from.

**Setup.** This needs [xbrlkit](https://xbrlkit.com), a free MCP server that runs on your own machine and loads SEC filings by ticker. It holds only the filings you load, one at a time, with no index behind it. That's right for a handful of peers. It isn't built for screening every company in an industry or for long time series; that's what the [RoboSystems SEC repository](https://robosystems.ai/docs/guides/sec-filings) is for.

Your own numbers stay in the chat. You paste them; nothing is uploaded to xbrlkit.

**Where it works.** Needs the free xbrlkit MCP server, which reads public SEC filings one filing at a time.

## Ask the user for

- The peer’s ticker, or two or three of them.
- Your company’s revenue, cost of revenue and operating income for a comparable year.
- A sentence on the business model, so the comparison is fair.

Ask for anything missing before you start. Never invent a figure to fill a gap.

## Do this

Carry out the request below. Fill each [bracketed] item from what the user gave you.

Using xbrlkit, load the most recent annual report (10-K) for [ticker]. Run describe_filing first so you use the filing's own periods and concepts.

For the latest fiscal year, and the year before if the filing has it, give me the peer's:
- revenue
- cost of revenue
- gross profit and gross margin
- operating income and operating margin

Cite the concept each number came from. If the filer uses its own extension concept instead of a standard one, say so. If a number isn't reported directly, show how you derived it.

Then put our numbers beside theirs:
Our fiscal year [year]: revenue [amount], cost of revenue [amount], operating income [amount].
Our business: [one sentence].

Finish with the two differences in cost structure that matter most, and anything about their business model that makes the comparison less fair.

## Before you hand it over

Tell the user which of these checks they still need to make:

- Open the filing and check at least the revenue figure against the income statement.
- Make sure both companies define cost of revenue the same way. Differences in classification move gross margin more than performance does.
- Compare the same fiscal period. Many public companies’ fiscal years don’t end in December.

The assistant drafts. The person whose name is on the work approves it.

## What a good answer looks like

*Illustrative figures for a made-up peer.*

**Peer (FY2025, from its 10-K)**
- Revenue: $412.6M (us-gaap:Revenues)
- Cost of revenue: $247.1M (us-gaap:CostOfRevenue)
- Gross margin: 40.1%
- Operating income: $31.4M (us-gaap:OperatingIncomeLoss)
- Operating margin: 7.6%

**Us (FY2025)**
- Revenue $6.2M · gross margin 46.8% · operating margin 4.1%

**What matters**
1. Your gross margin is 6.7 points higher. Their cost of revenue includes freight, which the filing's revenue note says they absorb. Check whether yours sits in operating expense instead.
2. Your operating margin is 3.5 points lower. At your size, general and administrative cost is a much larger share of revenue. That's normal, and it's the gap that closes with scale.

**Less fair:** the peer sells mostly through distributors. You sell direct.

---

From the Harbinger FinLab skill library: https://harbinger.finance/skills/margin-vs-public-peer