---
title: "Cash Flow Benchmarking (CFB)"
method: GET
path: "/v2/analytics/book/{book_uuid}/benchmark"
tags: ["Cash Flow Analytics"]
---

# Cash Flow Benchmarking (CFB)

`GET /v2/analytics/book/{book_uuid}/benchmark`

## Request

- Base URL: `https://api.ocrolus.com`
- URL: `https://api.ocrolus.com/v2/analytics/book/{book_uuid}/benchmark`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://auth.ocrolus.com/oauth/token`

Retrieve benchmarking percentiles for an SMB <<glossary:Book>>. The endpoint ranks the Book against anonymized peers across four metrics: revenue, expenses, fintech inflows, and fintech outflows. Use optional query parameters to shape the peer group by time window, geography, and industry granularity.

> 📘 Peer-group validity
> Results are returned only when the peer group contains 30 or more Books. Opted-out organizations are excluded before computation. The same inputs return identical results across the API and the Dashboard.

## Path parameters

- `book_uuid` string, required

## Query parameters

- `time_window_days` 30 | 60 | 90 | 180 | 270 | 365
- `geography_type` 'national' | 'state' | 'msa'
- `geography_code` 'ALL' | 'AL' | 'AK' | 'AZ' | 'AR' | 'CA' | 'CO' | 'CT' | 'DE' | 'DC' | 'FL' | 'GA' | 'GU' | 'HI' | 'ID' | 'IL' | 'IN' | 'IA' | 'KS' | 'KY' | 'LA' | 'ME' | 'MD' | 'MA' | 'MI' | 'MN' | 'MS' | 'MO' | 'MT' | 'NE' | 'NV' | 'NH' | 'NJ' | 'NM' | 'NY' | 'NC' | 'ND' | 'MP' | 'OH' | 'OK' | 'OR' | 'PA' | 'PR' | 'RI' | 'SC' | 'SD' | 'TN' | 'TX' | 'TU' | 'TV' | 'UT' | 'VA' | 'VI' | 'WA' | 'WV' | 'WI' | 'WY'
- `industry_level` 'naics2' | 'naics4' | 'naics6'
- `industry_code` string

## Response `200`

Success

- object
  - `book_uuid` string: The Book for which benchmarking ran.
  - `book_created_ts` string, date-time: ISO 8601 timestamp of the Book's creation. The `time_window_days` window is measured back from this point.
  - `dimensions` object: The peer-group dimensions the endpoint resolved for this request.
    - `time_window_days` integer: The time window applied, in days.
    - `geography_type` 'national' | 'state' | 'msa': Geographic scope of the peer group.
    - `geography_code` string: The resolved geography code, or `ALL` for national.
    - `industry_level` 'naics2' | 'naics4' | 'naics6': NAICS granularity used to build the peer group.
    - `industry_code` string: The NAICS code used for the peer group.
  - `metrics` object[]: One object per benchmarked metric.
    - `metric` 'revenue' | 'expense' | 'fintech_inflows' | 'fintech_outflows': The benchmarked financial metric.
    - `value` number: The Book's actual value for that metric over the window.
    - `percentile` number: The Book's percentile rank (0–100) within the peer group, returned as a decimal (e.g., `75.8`).

## Other responses

- `400`: Invalid request. Returned for an invalid `book_uuid`, invalid parameter value or combination, or a peer group fewer than 30 books.
- `401`: Permission Error
- `500`: Internal server error

---

[API](https://skmtc.dev/ocrolus/apis/analyze.md) - [All operations](https://skmtc.dev/ocrolus/apis/analyze/llms.txt) - [OpenAPI document](https://skmtc.dev/ocrolus/apis/analyze/revisions/4ef40f224ab5?raw)
