# Compare any company against its peer group in one screen

> Type in a ticker and get a side by side scorecard of its closest competitors, saved as a named set you can reload before every board meeting.

- Workflow type: app
- Services: Finnhub, Google Sheets, Slack Bot
- Categories: Finance, Operations
- Published: 2026-08-21

## What it does

- Enter one ticker and the app builds the peer group for you, then lays every company out side by side: valuation and margin metrics, current price and day move, the analyst buy, hold and sell split, plus market cap and industry.
- Lets you fix the peer list by hand before you save it, because the automatically suggested competitors are based on sector and industry and are not always the companies you actually benchmark against.
- Saves named peer sets to your own Google Sheet so your usual comparisons load in one click, and keeps every save as a dated snapshot you can look back at.
- A 'Write the competitive read' button sends an assistant off to read recent news and sentiment on every company in the set and write a short positioning narrative on where your company leads and lags, which you can post straight to Slack.

## What you'll need

- A Finnhub account. The free plan covers everything this app shows.
- A Google account, so peer sets and dated snapshots can be saved to a spreadsheet you own.
- A Slack workspace, if you want to post the written competitive read to a channel.
- The ticker symbols of the companies you benchmark, so you can correct the suggested peer list where it is wrong.

## Prompt

Build me a competitive benchmarking app. I type in one ticker, the anchor company, and immediately see how it stacks up against its peer group, so I stop rebuilding the same comparison spreadsheet before every board meeting. The audience is investor relations, corporate strategy and competitive intelligence teams.

The main screen is a ticker box. When I enter a ticker, call Finnhub Company Peers to assemble a suggested peer set, then show that set as an editable list before anything is fetched or saved. I must be able to remove suggested peers, add companies by typing their ticker, and reorder the list, with the anchor company pinned first and clearly marked. This editing step is important and should not be skipped or hidden: Finnhub peers are grouped by sector and industry, and the set we actually compare against is usually different, so the saved set must always be my edited version, not the raw suggestion.

Once I confirm the set, render a side by side comparison table where each column is a company and each row is a metric. Group the rows into sections. Valuation and margin metrics come from Finnhub Basic Financials. Current price and the day move, as both absolute change and percent, come from Finnhub Quote. The analyst buy, hold and sell split comes from Finnhub Recommendation Trends, using the most recent period, and should read as a small stacked bar or a compact count per rating so I can scan it across columns. Market cap and industry come from Finnhub Company Profile 2. Highlight the anchor column so it stands out, and make it obvious per row whether the anchor is above or below the peer median.

Fetch all of this server side in a single handler that takes the whole ticker list and fans out internally, then cache the assembled result per ticker. Do not fire a request per cell. Finnhub free keys are capped at 60 calls per minute and a peer set can easily be ten companies across four endpoints, so batch the work, reuse cached company data across renders, and degrade gracefully if a single company fails rather than blanking the whole table.

Stay on Finnhub free tier data only. Company Peers, Basic Financials, Quote, Recommendation Trends, Company Profile 2, Company News and News Sentiment are all free tier. Do not use Financials, Revenue Breakdown or any of the analyst estimate endpoints, and do not use the premium Company Profile: they return 403 without a paid plan.

I want to save named peer sets to a Google Sheet. Use two tabs. A peer sets tab stores the set name, the anchor ticker, the ordered member tickers and the last updated date, written with Google Sheets Append Values when I save a new set and Google Sheets Update Values when I rename or change the membership of an existing one. A snapshots tab collects the comparison itself: every time I save, append one dated row per company capturing the metrics that were on screen, so the numbers I pulled on a given date are kept as a historical snapshot I can look back at rather than being overwritten. Read both tabs back with Google Sheets Get Values to populate a sidebar of saved sets that load the full comparison in one click.

Add a 'Write the competitive read' button that kicks off a background agent over the saved peer set. The agent pulls Finnhub Company News and Finnhub News Sentiment for each company in the set over a recent trailing window, combines that with the metrics already on screen, and produces a short positioning narrative on where the anchor company leads and where it lags: valuation relative to the group, margin position, analyst sentiment versus peers, and what the recent news flow suggests about momentum. Keep it tight and readable, a few paragraphs with the leads and lags called out explicitly, not a data dump. While it runs, show progress in the app rather than blocking the table.

The finished narrative lands back in the app in a panel next to the comparison, and is stored against the saved peer set so I can reopen the set later and still see the read that was written at the time. From that panel give me a button to push the write up to a channel with the Slack Bot Send a Message action, with a channel picker and a chance to review the text before it posts.

## How to customize

- Change which rows appear in the comparison table, and the order they show in, so the metrics your board actually asks about sit at the top.
- Set how far back the competitive read looks for news, and how blunt or formal the narrative reads.
- Pick the Slack channel the write up goes to, or turn the Slack step off and keep everything inside the app.

## FAQ

### Do I need to pay for a Finnhub plan?

No. Every number in the comparison table comes from data available on the free plan, including the peer list, key metrics, live price, analyst ratings, company profile and news. Free accounts are limited to 60 lookups a minute, so the app fetches each company once and reuses the result rather than pulling data separately for every cell.

### Can I change the competitors it suggests?

Yes, and this is the point. The suggested peers are grouped by sector and industry, which rarely matches the set a company actually competes with. You can add, remove and reorder companies before you save, and the saved set is always your edited version.

### Where do my saved peer sets live?

In a Google Sheet you own. One tab holds your named peer sets so they reload in one click, and a second tab collects a dated row every time you save, so you build a history of what the numbers looked like on any given date.

### Can I look back at what the numbers were last quarter?

Yes. Every save writes a dated snapshot to the spreadsheet, so the figures you pulled before the last board meeting stay exactly as they were instead of being overwritten the next time you refresh.

### Who is this for?

Investor relations teams, corporate strategy, and competitive intelligence, plus anyone who rebuilds the same competitor comparison spreadsheet before every board or investor update.

Use this prompt in General Input: https://www.generalinput.com/prompts/compare-any-company-against-its-peer-group-in-one-screen