# Choosing a Data or Analytics Route Source: https://docs.creditbenchmark.com/api-reference/analytics-endpoints How to pick the right Credit Benchmark API route for raw entity data, computed analytics, metadata discovery, portfolio trends, rating moves, or rating distributions. The API separates raw data extraction, computed analytics, and metadata discovery. Pick the route whose output shape matches what you need: raw entity rows, a trend line, a rating histogram, a sector table, a list of movers, or reference metadata. The four analytics routes compute summaries server-side from your `scope`. Use `getdata` when you need one row per entity and date. Use metadata routes before building a UI or integration, especially `metadata/columns` for available field names, data types, filters, facets, and entitlements. ## Data and analytics routes | Route | Required input | When to use it | | -------------------- | ----------------------- | ----------------------------------------------------------------------- | | `getdata` | `scope` | Exports, time series, or downstream models from raw entity-level fields | | `aggregatetrend` | `scope` | Portfolio credit quality over time | | `creditbreakdown` | `scope`, `facet_column` | Latest summary by sector, country, or custom portfolio column | | `entityratingchange` | `scope` | Upgrades, downgrades, or PD moves over a lookback window | | `ratingdistribution` | `scope` | Composition of a portfolio by rating grade | ## Metadata routes | Route | Required input | When to use it | | --------------------------- | -------------- | ------------------------------------------------------------------------------------------------- | | `metadata/columns` | None | Confirm request-side field names, data types, scope filters, facets, and entitlement requirements | | `metadata/rating-scales` | None | Load CB21, CB7, and client-scale metadata for labels, order, and band mappings | | `metadata/industry-schema` | None | Build industry hierarchy filters or map industry levels | | `metadata/geography-schema` | None | Build geography hierarchy filters or map countries to regions | | `metadata/available-dates` | None | Find the latest available and finalised effective dates | If you already plan to aggregate, bucket, sort, or group the data yourself, prefer the analytic route instead of pulling rows with `getdata` and reshaping them client-side. ## Request order Every analytic route follows the same order: 1. **`scope`** selects the input universe. 2. The route computes its result for that universe. 3. **`result_filter`** shapes the returned rows. `scope.filters` decides which entities enter the analytic. `result_filter.filters` only filters the rows that come back. See [Scope and empty results](/api-reference/analytics-scope-and-empty-results) for patterns and edge cases. For `metric` and `rating_scale`, see [Metrics and scales](/api-reference/metrics-and-rating-scales). For copy-paste payloads, see [Payload examples](/api-reference/analytics-payload-examples). # API Payload Examples Source: https://docs.creditbenchmark.com/api-reference/analytics-payload-examples Copy-paste request bodies for common Credit Benchmark Analytics API queries, including filter join syntax and multi-dimension payload examples. Use these as canonical payload shapes for common Analytics API requests. The most common request is a point-in-time `getdata` call for a known list of `CB_ID`s. For a list of known entities, use `scope.portfolio.CB_ID`. Set `lookback_period` to `0` for point-in-time data, and request only the columns you need. ```json theme={null} { "lookback_period": 0, "columns": [ "CB_ID", "CB_Legal_Name", "CB_Effective_Date_ID", "CB_CCR", "CB_CCR_100_PDMid" ], "scope": { "portfolio": { "CB_ID": [ "CB0000022706", "CB0000022177" ] } } } ``` Use `scope.filters` when you want the API to build the input universe **before the query runs**. This example returns United States entities with a rating of `bbb-` or worse. ```json theme={null} { "lookback_period": 0, "columns": [ "CB_ID", "CB_Legal_Name", "CB_Effective_Date_ID", "CB_CCR", "CB_CCR_100_PDMid" ], "scope": { "filters": [ { "key": "CB_Country", "operator": "==", "values": "United States" }, { "key": "CB_CCR_21_Notch", "operator": ">=", "values": 8 } ] } } ``` Use a broad `scope.filters` condition when you want all entities with a consensus rating. ```json theme={null} { "lookback_period": 0, "columns": [ "CB_ID", "CB_Legal_Name", "CB_Effective_Date_ID", "CB_CCR", "CB_CCR_100_PDMid" ], "scope": { "filters": [ { "key": "CB_CCR", "operator": "!=", "values": "" } ] } } ``` Use `result_filter` to filter or sort rows **after the data is selected**. This is separate from `scope.filters`, which defines the input universe **before the query runs**. ```json theme={null} { "lookback_period": 0, "columns": [ "CB_ID", "CB_Legal_Name", "CB_Effective_Date_ID", "CB_CCR", "CB_CCR_100_PDMid" ], "scope": { "portfolio": { "CB_ID": [ "CB0000022706", "CB0000022177" ] } }, "result_filter": { "filters": [ { "key": "CB_CCR_100_PDMid", "operator": ">", "values": 0.002 } ], "sort": [ { "field": "CB_CCR_100_PDMid", "direction": "asc" } ] } } ``` `filters_join` is optional. If you omit it, multiple filters are joined with AND. Only add `filters_join` when you need explicit boolean logic such as NOT, OR, or a mixed expression. When present, it is positional and must have one more item than `filters`. For a simple AND, omit `filters_join`. ```json theme={null} { "scope": { "filters": [ { "key": "CB_Country", "operator": "==", "values": "United States" }, { "key": "CB_CCR_21_Notch", "operator": ">=", "values": 8 } ] } } ``` For explicit OR, place `|` between the filters. ```json theme={null} { "scope": { "filters": [ { "key": "CB_Country", "operator": "==", "values": "United States" }, { "key": "CB_Sector", "operator": "!=", "values": "Insurance" } ], "filters_join": ["", "|", ""] } } ``` Use `scope.filters` to define the input universe before the analytic runs. Use `result_filter.filters` only to filter computed output rows after the analytic has already run. # Scope and Empty Results Source: https://docs.creditbenchmark.com/api-reference/analytics-scope-and-empty-results How scope and result_filter narrow Credit Benchmark Analytics API queries, and why a successful request can still return an empty result set. Analytics requests separate **input selection** from **output shaping**. * **`scope`** defines which entities enter the analytic. * **`result_filter`** shapes the rows returned after the analytic runs. For route selection, see [Choosing a route](/api-reference/analytics-endpoints). For `metric` and `rating_scale`, see [Metrics and scales](/api-reference/metrics-and-rating-scales). ## Scope `scope` is evaluated before the endpoint computes its result. Use `scope.portfolio` when you already know the entities. ```json theme={null} { "scope": { "portfolio": { "CB_ID": ["CB0000022706", "CB0000022177"] } } } ``` Custom portfolio columns can be used as `facet_column` values where the endpoint supports facets. Use `scope.filters` when the API should build the universe from field conditions. ```json theme={null} { "scope": { "filters": [ { "key": "CB_Country", "operator": "==", "values": "United States" }, { "key": "CB_CCR_21_Notch", "operator": ">=", "values": 8 } ] } } ``` If `filters_join` is omitted, multiple filters are joined with AND. When both are supplied, the route uses the **intersection**. ```json theme={null} { "scope": { "portfolio": { "CB_ID": ["CB0000022706", "CB0000022177"] }, "filters": [ { "key": "CB_Sector", "operator": "==", "values": "Banks" } ] } } ``` This means entities in your portfolio that are Banks, not your portfolio plus all Banks. Use `filters_join` only when you need explicit OR or NOT logic. It is positional and has one more item than `filters`. ```json theme={null} { "scope": { "filters": [ { "key": "CB_Country", "operator": "==", "values": "United States" }, { "key": "CB_Sector", "operator": "==", "values": "Banks" } ], "filters_join": ["", "|", ""] } } ``` ## Result filter `result_filter` does not change the input universe. It only filters, sorts, or limits computed output rows. | Mechanism | Applies to | | ----------------------- | --------------------------------- | | `scope.filters` | Entities before the analytic runs | | `result_filter.filters` | Rows after the analytic runs | | `result_filter.sort` | Row order in the response | | `result_filter.limit` | Maximum rows returned | Use `scope` to decide what goes in. Use `result_filter` to decide what comes back. ## MyRating coverage With `metric: "CCR"`, the analytic uses scoped entities that have consensus data. With `metric: "MyRating"`, the analytic uses only the part of your scope where your bank has submitted ratings for the requested date window. In other words, selecting `MyRating` can reduce the universe from "everything you requested" to "the requested entities **your bank has rated**." If your bank has not rated any entities in the requested scope, the API returns an empty success response rather than an error. | Requested scope | Your bank's coverage | MyRating uses | | --------------- | -------------------- | ---------------------- | | 3 entities | 3 rated entities | 3 entities | | 3 entities | 2 rated entities | 2 entities | | 3 entities | 0 rated entities | Empty success response | For aggregate-style MyRating routes, ex-me fields are calculated for that same covered subset. They are not a full-scope benchmark for entities your bank does not rate. Do not compare `AGG_EntityCount` from `CCR` responses with `AGG_ClientEntityCount` from `MyRating` responses as if they share the same denominator. ## Empty response by route | Route | Empty success response | | ---------------------------------------------- | ------------------------------ | | `getdata` | `{}` or empty column arrays | | `aggregatetrend` | `{}` | | `creditbreakdown` | `{}` | | `entityratingchange` | `{}` | | `ratingdistribution` with `metric: "CCR"` | `{"ccr": {}}` | | `ratingdistribution` with `metric: "MyRating"` | `{"my_bank": {}, "ex_me": {}}` | # Aggregate Trend Source: https://docs.creditbenchmark.com/api-reference/analytics/aggregate-trend /openapi/consensus-data.yaml post /beta/data/aggregatetrend Time series of aggregate credit metrics for a scoped entity universe. Use to track how consensus credit quality moves over time. # Credit Breakdown Source: https://docs.creditbenchmark.com/api-reference/analytics/credit-breakdown /openapi/consensus-data.yaml post /beta/data/creditbreakdown Credit quality snapshot broken down by a facet column — sector, country, industry, or any facetable field. # Entity Rating Change Source: https://docs.creditbenchmark.com/api-reference/analytics/entity-rating-change /openapi/consensus-data.yaml post /beta/data/entityratingchange Entity-level rating changes over a lookback window. Use to identify upgrades and downgrades across a portfolio. # Rating Distribution Source: https://docs.creditbenchmark.com/api-reference/analytics/rating-distribution /openapi/consensus-data.yaml post /beta/data/ratingdistribution Share of entities in each rating bucket over time for a scoped universe. # Create JWT Token Source: https://docs.creditbenchmark.com/api-reference/create-jwt-token /openapi/consensus-data.yaml post /api/security/token Create a JWT bearer token. # Get Data Source: https://docs.creditbenchmark.com/api-reference/data/get-data /openapi/consensus-data.yaml post /beta/data/getdata Raw entity-level data for a scoped universe across a time range. The primary endpoint for extracting point-in-time or time series data. # Entity Resolution Source: https://docs.creditbenchmark.com/api-reference/entity-name-resolution /openapi/consensus-data.yaml post /beta/text/match_external Resolves entity names to Credit Benchmark identifiers. Returns ranked candidates with confidence scores. # API Reference Source: https://docs.creditbenchmark.com/api-reference/intro Authenticate, resolve entities, query data, run analytics, and discover metadata via the Credit Benchmark REST API. Credit Benchmark APIs provide programmatic access to entity resolution, raw entity-level data, computed analytics, and metadata for integration into risk workflows and reporting pipelines. All routes are relative to `https://gateway.creditbenchmark.com`. Authenticate with `POST /api/security/token`. If you already have `CB_ID` values, skip entity resolution and go straight to `POST /analytics/v2/data/getdata` or the analytics routes under `/analytics/v2/data/`. ## How it works Call `POST /api/security/token` with your `Username` and `Password`. Reuse the returned bearer token until it expires. If your source data uses company names rather than CB identifiers, call `POST /matching/text/match_external` to resolve them. Keep the matched identifiers as `CB_ID` values for analytics calls. Call `GET /analytics/v2/metadata/columns` to see which fields, data types, and entitlements are available before building requests. Start with `POST /analytics/v2/data/getdata` for row-level output. Use the specific analytics endpoints for trends, breakdowns, rating changes, and distributions. Use the metadata routes under `/analytics/v2/metadata/` for available columns, rating scales, industry and geography schemas, and effective dates. # Name Matching & CBID Mapping Source: https://docs.creditbenchmark.com/api-reference/matching/overview Credit Benchmark resolves free-text company names to CBIDs using a three-stage pipeline: candidate retrieval, feature engineering, and ML-based match scoring. Each input returns ranked matches with a confidence score between 0 and 1.
Entity
entity\_name
country (opt)
industry (opt)
lei (opt)
1 — Candidate Entity Retrieval
Searches the CB Entity Database for likely candidates
2 — Feature Engineering
Measures name similarity and metadata alignment per candidate
3 — ML Scoring
Scores each candidate as a match probability
Top Result
CBId
CBEntityName
confidence
rank
This flow shows the end-to-end resolution workflow from input entity fields to ranked candidate results. ## Pipeline ### Candidate Entity Retrieval The CB Entity Database supports approximate text search, returning a shortlist of plausible candidates. Retrieval uses [BM25 ranking](https://en.wikipedia.org/wiki/Okapi_BM25) — scoring candidates by term frequency and inverse document frequency — and normalises input text to handle punctuation, accents, legal suffixes, and common name variants. Around 20 candidates are retrieved per name. This stage prioritises [recall over precision](https://en.wikipedia.org/wiki/Precision_and_recall): the true match must appear in the candidate set before scoring can begin. ### Feature Engineering For each candidate, a feature vector $\mathbf{x}$ is built from dozens of individual signals, grouped into 4 categories: | Category | Examples | | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **String similarity** | [Jaccard](https://en.wikipedia.org/wiki/Jaccard_index) token overlap, [Levenshtein](https://en.wikipedia.org/wiki/Levenshtein_distance) distance, [n-gram](https://en.wikipedia.org/wiki/N-gram) similarity | | **Search relevance** | [BM25](https://en.wikipedia.org/wiki/Okapi_BM25) score and rank position from the retrieval stage | | **Text normalisation** | Comparison after stripping punctuation, accents, legal suffixes, and name variants | | **Metadata alignment** | Country, sector, and identifier (LEI) consistency between input and candidate | ### ML scoring A machine learning classifier assigns a match probability to each candidate independently: $$ \hat{p} = P(\text{match} \mid \mathbf{x}) $$ Candidates are ranked by $\hat{p}$ and the top results returned in the response. #### Training The model has been trained on an internal dataset of tens of thousands of labelled entity matches — each a true or false match pair. This is distinct from the CB Entity Database itself, which contains millions of records corresponding to observed entities from [bank submissions](/methodology/data-processing/data-submission). The model is retrained weekly as both the CB Entity Database and the entity resolution universe grow. #### Testing Performance is evaluated using [k-fold cross-validation](https://en.wikipedia.org/wiki/Cross-validation_\(statistics\)), ensuring metrics reflect generalisation across the full labelled dataset rather than a single train/test split. As the model is retrained on new data, performance is re-evaluated each cycle. Classification metrics are reported on the [Accuracy & Coverage](/api-reference/matching/performance) page. ## Confidence Score Each candidate is returned with a score $\hat{p} \in [0, 1]$ reflecting the model's certainty it is the correct match. Internally, we use the following bands as guidance, based on performance measured on our **testing data**: | Range | Signal | Match Rate | Rationale | | ------------------ | ------------ | ---------- | ------------------------------------------------------------------------------------------------------------ | | *p > 0.6* | Strong match | **94.4%** | High enough confidence to treat as a match without manual review | | *p in \[0.3, 0.6]* | Likely match | **\~65%** | The model considers a match plausible but not certain — scores in this range warrant review before accepting | | *p \< 0.3* | Weak | **\~35%** | The candidate is less likely to be the correct match — typically surfaced only to confirm no match exists | These figures reflect **per-candidate** match rates. When multiple candidates are returned (`limit > 1`) at lower scores, the true entity may still be present somewhere in the result set — reviewing the top candidates collectively improves the chance of a correct resolution even when no single score is high. See [Entity Resolution: Accuracy & Coverage](/api-reference/matching/performance) for full threshold trade-off analysis. # Accuracy & Coverage Source: https://docs.creditbenchmark.com/api-reference/matching/performance Performance benchmarks for Credit Benchmark entity resolution: precision, recall, and coverage metrics measured on a held-out evaluation set. ## Dataset Performance is measured on a held-out set of entity names — names deliberately excluded from training so the model has never seen them. This ensures evaluation reflects generalisation, not memorisation. For each name, the retrieval stage returns \~25 candidates from the CB database. Performance is measured at the **candidate-pair level** — each name–candidate combination is one labelled example. | | Value | | -------------------------- | ----------------------------------- | | Held-out entity names | **1,544** | | Labelled candidate pairs | **39,051** | | Avg. candidates per entity | **25.3** | | True-match pairs | **1,544** | | Non-match pairs | **37,507** | | Class balance | **\~24 non-matches per true match** | Because only one candidate per name is correct, the dataset is heavily imbalanced — mirroring the real-world distribution the model encounters in production. Performance is re-evaluated with each weekly retraining cycle. ## Confusion Matrix **What it measures:** The [confusion matrix](https://en.wikipedia.org/wiki/Confusion_matrix) evaluates the model as a binary classifier at threshold $\hat{p} \geq 0.60$. Candidates above the threshold are predicted as matches; all others as non-matches. **Result:** **83.61%** of actual matches correctly identified **0.29%** of actual non-matches incorrectly flagged **16.39%** of actual matches below threshold — surfaced for review **99.71%** of actual non-matches correctly rejected Two metrics are derived from these counts: **Recall: what fraction of true matches did the model correctly identify?** * Of the 1,544 true matches in the test set, 1,291 scored above threshold. $\text{Recall} = \frac{T_p}{T_p + F_n} = \frac{1{,}291}{1{,}291 + 253} = 83.6\%$ * The 253 false negatives represent matches that were scored below the 0.6 confidence threshold. * In practice, Credit Benchmark finds that the true match is still surfaced in the result set — even when the confidence for the correct match is lower than 0.6. **F1 Score: what is the model's combined performance across recall and precision?** * F1 is the harmonic mean of Recall and Precision — it penalises imbalance between the two, rewarding models that perform well on both. $F_1 = \frac{2T_p}{2T_p + F_p + F_n} = \frac{2 \times 1{,}291}{2 \times 1{,}291 + 110 + 253} = 87.7\%$ * An F1 of 87.7% reflects strong overall classification performance at the 0.60 threshold — the model recovers the large majority of true matches while producing few incorrect predictions. ## ROC Curve & Precision–Recall Because the dataset is heavily imbalanced (\~24:1), the Precision–Recall curve is the more informative diagnostic — [ROC AUC can be misleadingly optimistic in imbalanced settings](https://en.wikipedia.org/wiki/Receiver_operating_characteristic#Limitations). ROC and Precision-Recall curves ### ROC Curve **What it measures:** how well the model separates matches from non-matches across all possible thresholds. The [ROC curve](https://en.wikipedia.org/wiki/Receiver_operating_characteristic) plots True Positive Rate against False Positive Rate as the threshold sweeps from 1 to 0: * $\text{TPR} = \frac{T_p}{T_p + F_n}, \qquad \text{FPR} = \frac{F_p}{F_p + T_n}$ The area under this curve (AUC) summarises discriminative performance — 1.0 is perfect, 0.5 is no better than random. **Result:** AUC = **0.989** — near-perfect separation between true matches and non-matches. ### Precision–Recall Curve **What it measures:** how much precision the model retains as it recovers more matches. [Average Precision (AP)](https://en.wikipedia.org/wiki/Evaluation_measures_\(information_retrieval\)#Average_precision) summarises this as the weighted area under the PR curve: * $\text{Average Precision} = \sum_{n} (R_n - R_{n-1}) \cdot P_n$ where: * $R_n$ — recall at threshold step $n$ * $P_n$ — precision at threshold step $n$ AP is more meaningful than AUC when positive examples are rare — AP = 1.0 is perfect. **Result:** AP = **0.936** — strong precision maintained across most of the recall range. ## Precision–Coverage Trade-off **What it measures:** [Precision](https://en.wikipedia.org/wiki/Precision_and_recall) is the share of predicted matches that are actually correct. Coverage is the share of input names that receive a match above threshold $k$: * $\text{Precision}(k) = \frac{T_p}{T_p + F_p}, \qquad \text{Coverage}(k) = \frac{n_{\geq k}}{N}$ where: * $n_{\geq k}$ — number of names scoring at or above $k$ * $N$ — total number of input names As threshold $k$ changes: * **Raising** $k$ — fewer names matched, higher precision, lower coverage * **Lowering** $k$ — more names matched, lower precision, higher coverage An [operating point](https://scikit-learn.org/stable/auto_examples/model_selection/plot_precision_recall.html) is the specific (Coverage, Precision) pair at your chosen threshold — the point on the curve where you decide to operate. **Result:** Precision and coverage vs. confidence threshold At the operating point $\hat{p} = 0.60$: precision is **94.4%** and coverage is **66.7%**. Two-thirds of names receive a high-confidence match; the remaining third fall below threshold and require review. # Available Data Columns Source: https://docs.creditbenchmark.com/api-reference/metadata/available-data-columns /openapi/consensus-data.yaml get /beta/metadata/columns Returns a flat catalog of public input columns with metadata such as type, scopeable, facetable, and entitlement. This endpoint describes request-side input columns only; it does not describe route response fields or result_filter fields. # Available Dates Source: https://docs.creditbenchmark.com/api-reference/metadata/available-dates /openapi/consensus-data.yaml get /beta/metadata/available-dates Returns latest and previous available effective dates for analytics requests. # Geography Schema Source: https://docs.creditbenchmark.com/api-reference/metadata/geography-schema /openapi/consensus-data.yaml get /beta/metadata/geography-schema Returns the CB geography hierarchy as region group, region, and country of risk levels. # Industry Schema Source: https://docs.creditbenchmark.com/api-reference/metadata/industry-schema /openapi/consensus-data.yaml get /beta/metadata/industry-schema Returns the CB industry hierarchy as L1 through L6 rows for scope filters, facets, and hierarchy-aware analytics. # Rating Scales Source: https://docs.creditbenchmark.com/api-reference/metadata/rating-scales /openapi/consensus-data.yaml get /beta/metadata/rating-scales Returns CB rating scale metadata, including CB21 and CB7 ordering and band mappings. # Metrics and Rating Scales Source: https://docs.creditbenchmark.com/api-reference/metrics-and-rating-scales How the metric and rating_scale parameters control which credit risk values and response field names the Credit Benchmark Analytics API returns. Two request fields control the credit view returned by analytic routes: * **`metric`** — whose credit view to measure. * **`rating_scale`** — which rating labels to use for PD values. They are independent. Changing one does not automatically change the other. For scope behavior, see [Scope and empty results](/api-reference/analytics-scope-and-empty-results). For route selection, see [Choosing a route](/api-reference/analytics-endpoints). ## Metric `metric` selects consensus or contributor-specific output. | Value | Meaning | Typical user | | ---------- | --------------------------------------------------------------------------- | --------------------- | | `CCR` | Credit Benchmark consensus view | Any entitled API user | | `MyRating` | Requesting contributor's rating view, with ex-me comparison where supported | Contributor users | `CCR` is the default. `MyRating` requires contributor entitlement. It uses only the requesting contributor's submitted ratings and the ex-me benchmark. It does not expose another contributor's individual ratings. When you select `metric: "MyRating"`, the analytic is restricted to entities in your requested `scope` **that your bank has rated** for the requested date window. If your bank has not rated any entities in the requested scope, the route returns an empty success response. ## Rating scale `rating_scale` selects the label set used to describe PD values. | Value | Description | | --------- | ---------------------------------------------------------------------- | | `CB21` | Credit Benchmark 21-notch scale (`aaa`, `aa+`, `aa`, `aa-`, and so on) | | `CB7` | Coarser Credit Benchmark scale with fewer buckets | | `MyScale` | Requesting contributor's configured master scale | PD fields stay numeric. `rating_scale` only changes the rating label or bucket key used alongside them. `MyScale` is common with `MyRating`, but scale selection is separate from metric selection where your entitlement allows it. ## Response by endpoint and metric `metric` changes the field names returned by each route. `getdata` is not a metric route and always returns consensus fields. `getdata` does not accept `metric`. It always returns row-level consensus fields for each entity and date in your scope. Field names such as `CB_CCR` and `CB_CCR_PD` describe the Credit Benchmark consensus view. ```json theme={null} { "CB_ID": ["CB0000022706"], "CB_Legal_Name": ["Example Bank PLC"], "CB_Effective_Date_ID": [20250131], "CB_CCR": ["bbb+"], "CB_CCR_100_PDMid": [0.0040] } ``` `aggregatetrend` returns one aggregate row per date in the lookback window. Changing `metric` switches the aggregate field names and, for `MyRating`, adds a client versus ex-me comparison. **CCR** returns consensus aggregate fields. `AGG_EntityCount` is the number of scoped entities with consensus data at each date. ```json theme={null} { "CB_Effective_Date_ID": [20240131, 20240229], "AGG_CCRPD_log": [-5.4968, -5.5215], "AGG_CCR": ["bbb+", "bbb+"], "AGG_CCRPD": [0.0041, 0.0040], "AGG_CCRPD_index": [102.5, 100.0], "AGG_EntityCount": [3, 3] } ``` **MyRating** returns your bank's aggregate rating and PD alongside the ex-me benchmark for the same contributor-covered subset. `AGG_ClientEntityCount` may be lower than the number of entities in your scope if your bank does not rate all of them. ```json theme={null} { "CB_Effective_Date_ID": [20240131, 20240229], "AGG_ClientRating": ["4.2", "4.2"], "AGG_ClientRatingNotch": [12, 12], "AGG_ClientPD_log": [-5.5994, -5.5730], "AGG_ClientPD": [0.0037, 0.0038], "AGG_ClientPD_index": [97.4, 100.0], "AGG_ClientEntityCount": [2, 2], "AGG_ExMeRating": ["4.3", "4.3"], "AGG_ExMeRatingNotch": [13, 13], "AGG_ExMePD_log": [-5.4262, -5.4037], "AGG_ExMePD": [0.0044, 0.0045], "AGG_ExMePD_index": [97.8, 100.0], "AGG_ExMeEntityCount": [2, 2] } ``` `creditbreakdown` returns the latest aggregate credit summary for each value of `facet_column`, such as sector or country. `metric` controls whether you see consensus aggregates or your bank's view compared with ex-me. **CCR** returns one aggregate rating and PD per facet group, plus an entity count for entities with consensus data in that group. ```json theme={null} { "CB_Sector": ["Banks", "Industrials"], "AGG_CCR": ["bbb+", "a-"], "AGG_CCRPD": [0.0040, 0.0018], "AGG_EntityCount": [12, 8], "AGG_Upgrades": [2, 1], "AGG_Downgrades": [1, 0], "AGG_NetUpMinusDown": [1, 1] } ``` **MyRating** adds client and ex-me aggregates for the contributor-covered entities in each group. It can also return notch-comparison fields such as `AGG_NotchDifference` and `AGG_NotchDiffAggressive`. ```json theme={null} { "CB_Sector": ["Banks"], "AGG_ClientRating": ["4.2"], "AGG_ClientPD": [0.0037], "AGG_ClientEntityCount": [5], "AGG_ExMeRating": ["4.3"], "AGG_ExMePD": [0.0044], "AGG_ExMeEntityCount": [5], "AGG_NotchDifference": [1], "AGG_NotchDiffAggressive": [1], "AGG_NotchDiffConsistent": [4], "AGG_NotchDiffConservative": [0] } ``` `entityratingchange` returns one row per entity with current and lookback rating and PD values. Consensus change fields are always present. `MyRating` adds your bank's rating-change fields where contributor data exists. **CCR** returns consensus rating and PD values at the effective date and at the lookback date, plus change fields such as `CB_CCR_Change` and `CB_CCR_PD_Change`. ```json theme={null} { "CB_ID": ["CB0000022706"], "CB_Legal_Name": ["Example Bank PLC"], "CB_CCR": ["bbb+"], "CB_CCR_6M": ["bbb"], "CB_CCR_PD": [0.0040], "CB_CCR_PD_6M": [0.0048], "CB_CCR_Change": [-1], "CB_CCR_PD_Change": [-0.0008], "CB_CCR_Change_With_OCI": [-1] } ``` **MyRating** keeps the consensus change fields and adds client fields such as `ClientRating`, `ClientRating_6M`, and `ClientRating_Change` for entities your bank rates. ```json theme={null} { "CB_ID": ["CB0000022706"], "CB_Legal_Name": ["Example Bank PLC"], "CB_CCR": ["bbb+"], "CB_CCR_6M": ["bbb"], "CB_CCR_PD": [0.0040], "CB_CCR_PD_6M": [0.0048], "CB_CCR_Change": [-1], "CB_CCR_PD_Change": [-0.0008], "CB_CCR_Change_With_OCI": [-1], "ClientRating": ["4.2"], "ClientRating_6M": ["4.3"], "ClientPD": [0.0037], "ClientPD_6M": [0.0041], "ClientRating_Change": [-1], "ClientRating_Change_With_OCI": [-1] } ``` `ratingdistribution` returns the share of scoped entities in each rating bucket. The response structure changes more with `metric` than most routes: `CCR` uses one series, while `MyRating` splits the result into two. **CCR** returns a single `ccr` object. Rating bucket keys such as `bbb+` and `a-` hold the share of entities in each bucket. ```json theme={null} { "ccr": { "CB_Effective_Date_ID": [20250131], "bbb+": [0.60], "a-": [0.40], "AGG_EntityCount": [5] } } ``` **MyRating** returns separate `my_bank` and `ex_me` objects for the contributor-covered subset. Each series uses your scale's rating labels as bucket keys. ```json theme={null} { "my_bank": { "CB_Effective_Date_ID": [20250131], "4.2": [0.60], "4.3": [0.40], "AGG_EntityCount": [5] }, "ex_me": { "CB_Effective_Date_ID": [20250131], "4.2": [0.20], "4.3": [0.80], "AGG_EntityCount": [5] } } ``` ## Rating labels by scale The same PD can map to different labels depending on the scale you request. ```json theme={null} { "metric": "CCR", "rating_scale": "CB21" } ``` ```json theme={null} { "AGG_CCR": ["bbb+"], "AGG_CCRPD": [0.0040], "AGG_CCRPD_log": [-5.5215], "AGG_CCRPD_index": [100.0] } ``` ```json theme={null} { "metric": "CCR", "rating_scale": "MyScale" } ``` ```json theme={null} { "AGG_CCR": ["4.2"], "AGG_CCRPD": [0.0040], "AGG_CCRPD_log": [-5.5215], "AGG_CCRPD_index": [100.0] } ``` The exact `MyScale` label depends on your bank's configured scale. ## What rating scale does not do * Change which entities are in `scope` * Grant contributor-only access * Expose another bank's ratings * Change numeric PD values * Make `CCR` and `MyRating` entity counts directly comparable # Data Dictionary Source: https://docs.creditbenchmark.com/data/data-dictionary Complete field reference for Credit Benchmark consensus data: field names, data types, schemas, access levels, and entitlement requirements. Field-by-field reference for all available CB data, organized by access level. Use this page to look up field names, schemas, examples, and entitlement requirements. If you want to see exactly which fields are available to your account via the API, call `GET /analytics/v2/metadata/columns` — it returns your entitled fields, data types, and entitlement flags directly. ## Data specifications Available fields within the data API function are categorized below by type for quick reference. | Field Name | Schema | Example | Definition | | ------------------------------- | ----------- | ------------------------ | ---------------------------------------------------------------------------------- | | `CB_ID` | String | `"CB0000000121"` | Credit Benchmark's unique identifier for the Risk Entity | | `CB_Legal_Name` | String | `"JPMorgan Chase & Co."` | Legal name of the risk entity as recorded in Credit Benchmark's systems | | `CB_LEI` | String | `"5493000X0X4X4X4X4X4X"` | The legal entity identifier is a unique ID provided to global entities | | `CB_PrimaryEquity_ISIN` | String | `"US46625H1005"` | International Securities Identification Number, a unique identifier for securities | | `CB_PrimaryEquity_Ticker` | String | `"JPM"` | Stock ticker symbol for publicly traded entities | | `CB_Ultimate_Parent_CBId` | String | `"CB0000000121"` | Credit Benchmark's unique identifier for the ultimate parent entity | | `CB_Ultimate_Parent_Legal_Name` | String | `"JPMORGAN CHASE & CO"` | Legal name of the ultimate parent entity | | `CB_Ultimate_Parent_Country` | Categorical | `"United States"` | Country of risk of the ultimate parent entity | | Field Name | Schema | Example | Definition | | -------------------- | ----------- | --------------------- | --------------------------------------------------------------------- | | `CB_Entity_Type` | Categorical | `"Corporates"` | The type of the risk entity as defined by the Credit Benchmark | | `CB_Entity_Sub_Type` | Categorical | `"Corporates"` | The sub-type of the risk entity as defined by the Credit Benchmark | | `CB_Industry` | Categorical | `"Financials"` | The industry of the risk entity as defined by the Credit Benchmark | | `CB_Super_Sector` | Categorical | `"Financials"` | The SuperSector of the risk entity as defined by the Credit Benchmark | | `CB_Sector` | Categorical | `"Banks"` | The sector of the risk entity as defined by the Credit Benchmark | | `CB_Sub_Sector` | Categorical | `"Diversified Banks"` | The SubSector of the risk entity as defined by the Credit Benchmark | | Field Name | Schema | Example | Definition | | ------------------------ | ----------- | --------------------- | ----------------------------------------------------------------------------------------- | | `CB_Country` | Categorical | `"United States"` | The country of risk of the risk entity as defined by the Credit Benchmark | | `CB_Country_ISO` | Categorical | `"US"` | The ISO Code of the country of risk of the risk entity as defined by the Credit Benchmark | | `CB_Country_of_Domicile` | Categorical | `"United States"` | Country of domicile | | `CB_Subdivision` | Categorical | `"New York"` | Subdivision of the country of risk (e.g., US State, Canadian Province) | | `CB_Subdivision_Name` | Categorical | `"New York"` | Subdivision display name for the country of risk | | `CB_Subdivision_ISO` | Categorical | `"US-NY"` | ISO 3166-2 code for the subdivision of the country of risk | | `CB_Subdivision_Region` | Categorical | `"Northeast"` | Regional classification of the subdivision (e.g., US Census Region) | | `CB_Region` | Categorical | `"North America"` | The region of the risk entity as defined by the Credit Benchmark | | `CB_Region_Group` | Categorical | `"Developed Markets"` | High-level regional grouping used in Credit Benchmark geographic classification | | Field Name | Schema | Example | Definition | | --------------------- | ----------- | ---------- | ------------------------------------------------------------------------ | | `CB_Entity_Structure` | Categorical | `"Parent"` | Entity structure classification | | `CB_CRA_Rated` | Categorical | `"Rated"` | Whether the entity has an external CRA rating | | `CB_Public_Company` | Boolean | `true` | Whether the risk entity is a public company (1) or a private company (0) | | Field Name | Schema | Example | Definition | | ---------------------- | ----------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | `CB_Effective_Date_ID` | UInt32 | `20241201` | Effective date identifier | | `CB_Effective_Date` | Date | `2024-12-01` | The date the data record is effective for | | `CB_CCR_100_PDMid` | Float64 | `0.008` | The Credit Consensus Rating as a 100-point scale mapped to its equivalent midpoint PD | | `CB_CCR_100_PDMid_Log` | Float64 | `-4.83` | Log of 100-point scale PD midpoint | | `CB_CCR_21_PDMid` | Float64 | `0.012` | The Credit Consensus Rating as a 21-point scale mapped to its equivalent midpoint PD | | `CB_CCR_100_Notch` | Int8 | `8` | The Credit Consensus Rating as a 100-point scale | | `CB_CCR_21_Notch` | Int8 | `8` | The notch value corresponding to the Credit Consensus Rating | | `CB_CCR` | Enum | `"AA-"` | The Credit Consensus Rating as a 21-point scale | | `CB_IG_HY` | Categorical | `"investment_grade"` | Entities with a `CB_CCR` of bbb- or above are considered Investment Grade, whereas entities rated bb+ or below are considered High Yield | **CCR Distribution** | Field Name | Schema | Example | Definition | | ---------------------------- | ----------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CB_CCR_RSD` | Float32 | `0.15` | Relative Standard Deviation is a measure of the dispersion of the contributions used to make up the Credit Consensus Rating, rounded to 1 decimal place | | `CB_CCR_Standard_Deviation` | Float32 | `0.15` | Standard deviation of the contributions used to make up the Credit Consensus Rating | | `CB_CCR_Skew` | Float32 | `0.05` | The skewness is a measure of the asymmetry of the distribution of PD estimates used to make up the Consensus rating. Values between -0.5 and 0.5 will not be provided | | `CB_CCR_Agreement_Indicator` | Categorical | `"high"` | Based on unrounded `CB_CCR_RSD`, when `CB_CCR_RSD` \< 0.6 then "High", when `CB_CCR_RSD` >= 0.6 AND \< 1.1 then "Medium", when `CB_CCR_RSD` >= 1.1 THEN "Low" | | `CB_CCR_Outlier_Indicator` | Categorical | `"balanced"` | Based on unrounded `CB_CCR_Skew`; when `CB_CCR_Skew` \< -1 then "Optimistic", when `CB_CCR_Skew` >= -1 and \< 1.6 then "Balanced", when `CB_CCR_Skew` >= 1.6 THEN "Pessimistic" | | `CB_CCR_Max` | Enum | `"A"` | Maximum observation (i.e. highest credit quality) used within the Consensus Rating | | `CB_CCR_Max_Notch` | Int8 | `11` | Maximum CCR notch | | `CB_CCR_Min` | Enum | `"A-"` | Minimum observation (i.e. lowest credit quality) used within the Consensus Rating | | `CB_CCR_Min_Notch` | Int8 | `12` | Minimum CCR notch | | `CB_CCR_Contributor_Count` | Categorical | `"5"` | Number of contributions for a particular legal entity. "MIN" depth indicates that there are less than 5 contributions | | `CB_CCR_Source` | Categorical | `"Consensus"` | Indication of the underlying data used within the Credit Benchmark calculations, Consensus or Implied | | Field Name | Schema | Example | Definition | | ----------------------------------------- | ----------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `CB_CCR_Opinion_Change_Indicator` | Categorical | `"Stable"` | Opinion indicator based on month-on-month movement of underlying observations: Improving (net upgrades), Deteriorating (net downgrades), or Stable (no material change) | | `CB_CCR_Opinion_Change_Indicator_Numeric` | Int8 | `-1` | Numeric opinion change indicator | | `CB_CCR_Rating_Change_1M` | Int8 | `0` | Change in CCR notch over the previous 1 month; positive values indicate upgrades, negative values indicate downgrades, 0 indicates no change | | `CB_CCR_Rating_Change_3M` | Int8 | `-1` | Change in CCR notch over the previous 3 months (same convention as `CB_CCR_Rating_Change_1M`) | | `CB_CCR_Rating_Change_6M` | Int8 | `-1` | Change in CCR notch over the previous 6 months (same convention as `CB_CCR_Rating_Change_1M`) | | `CB_CCR_Rating_Change_9M` | Int8 | `-2` | Change in CCR notch over the previous 9 months (same convention as `CB_CCR_Rating_Change_1M`) | | `CB_CCR_Rating_Change_12M` | Int8 | `-2` | Change in CCR notch over the previous 12 months (same convention as `CB_CCR_Rating_Change_1M`) | | Field Name | Schema | Example | Definition | | ----------------------------------------------- | ----------- | ------------------------- | ----------------------------------------------------------- | | `Client_Legal_Name` | String | `"Client Bank Corp"` | Client entity name | | `Client_Primary_Identification_Code` | String | `"CLIENT123"` | Client's primary identifier for the entity | | `Client_Industry` | Categorical | `"Financials"` | Client industry classification | | `Client_Entity_Type` | Categorical | `"financial_institution"` | Client entity type | | `Client_PD_Estimate` | Float64 | `0.025` | Client through-the-cycle probability of default | | `Client_PD_Estimate_Log` | Float64 | `-3.69` | Log of Client TTC PD | | `Client_Rating_CB_Scale` | Enum | `"A-"` | Client rating on CB scale | | `Client_Rating_CB_Scale_Notch` | Int8 | `12` | Client rating notch on CB scale | | `CB_Rating_Ex_Client_CB_Scale` | Categorical | `"A"` | Ex-Client rating on CB scale | | `CB_CCR_Client_Master_Scale` | String | `"Internal Grade 6"` | Credit Consensus Rating mapped to the client's master scale | | `Client_Rating_Client_Scale` | Categorical | `"Internal Grade 6"` | Client rating on the client scale | | `CB_Rating_Ex_Client_Client_Scale` | Categorical | `"Internal Grade 5"` | Ex-Client rating on the client scale | | `Client_Rating_Client_Scale_Notch` | Int8 | `12` | Client rating notch on the client scale | | `CB_Rating_Ex_Client_Client_Scale_Notch` | Int8 | `11` | Ex-Client rating notch on the client scale | | `Client_Rating_Client_Scale_Normalised_Notch` | Int8 | `12` | Client rating notch normalized to the master scale | | `Client_Scale_Normalised_Rating` | Enum | `"A-"` | Client rating normalized to the CB scale | | `Client_Rating_Client_Scale_Name` | Categorical | `"Internal Grade 6"` | Client rating label on the client scale | | `Client_Log_TTC_PD_Change` | Float64 | `0.05` | Client log TTC PD change | | `ClientLogTTCPDChangePublishAdjusted` | Float64 | `0.03` | Client log TTC PD change published | | `Client_Opinion_Change_Indicator_Numeric` | Int8 | `1` | Client opinion change indicator numeric | | `CB_Opinion_Change_Indicator_Numeric_Ex_Client` | Int8 | `0` | Ex-Client opinion change indicator numeric | | `CB_CCR_Notch_Diff_CB_Scale` | Int8 | `0` | CCR notch difference on CB scale | | `CB_CCR_Notch_Diff_Client_Scale` | Int8 | `1` | CCR notch difference on Client scale | | `CB_PD_Average_Ex_Client` | Float64 | `0.028` | Ex-Client PD average | | `CB_PD_Average_Ex_Client_Log` | Float64 | `-3.58` | Log of Ex-Client PD average | | Field Name | Schema | Example | Definition | | ----------------------------------- | ------ | ----------- | ------------------------------------- | | `SP_ForeignCurrencyLongTerm` | Enum | `"A-"` | S\&P long-term rating | | `SP_ForeignCurrencyLongTerm_Notch` | Int8 | `12` | S\&P long-term rating notch | | `Fitch_LongTermIssuerDefaultRating` | Enum | `"A-(EXP)"` | Fitch long-term issuer default rating | # Industry Schema Definitions Source: https://docs.creditbenchmark.com/data/industry-schema-definitions Reference for Credit Benchmark industry and geographic classification hierarchies, from broad sectors down to specific subsectors and subdivisions. Reference for CB's industry and geographic classification hierarchies — how entities are organized from broad categories down to specific subsectors and subdivisions. This is Credit Benchmark's own classification schema. You are not required to use it — CB data works equally well alongside your own internal schema, NAICS, GICS, or any other industry classification you already use. ## Schema hierarchy Credit Benchmark uses a **6-level industry classification system** that progresses from broad entity types to specific industry subsectors: | Level | Field Name | Description | Example | | ----------- | -------------------- | ------------------------------------- | ---------------------- | | **Level 1** | `CB_Entity_Type` | Broadest entity classification | "Corporates" | | **Level 2** | `CB_Entity_Sub_Type` | Entity sub-classification | "Corporates" | | **Level 3** | `CB_Super_Sector` | Industry super sector | "Oil & Gas" | | **Level 4** | `CB_Industry` | Industry classification | "Oil & Gas" | | **Level 5** | `CB_Sector` | Industry sector | "Oil & Gas Producers" | | **Level 6** | `CB_Sub_Sector` | Most granular industry classification | "Integrated Oil & Gas" | Credit Benchmark uses a **4-level geographic classification system** that organizes entities from high-level regional groupings down to specific subdivisions: | Level | Field Name | Description | Example | | ----------- | ----------------- | --------------------------------------- | ------------------- | | **Level 1** | `CB_Region_Group` | High-level regional grouping | "Developed Markets" | | **Level 2** | `CB_Region` | Geographic region | "North America" | | **Level 3** | `CB_Country` | Country of risk | "United States" | | **Level 4** | `CB_Subdivision` | Geographic subdivision (state/province) | "California" | ## Reference notes This page summarizes the schema hierarchy used across Credit Benchmark products. For field-level definitions used in entity analytics, see the [Data Dictionary](/data/data-dictionary). # API Access Source: https://docs.creditbenchmark.com/delivery-channels/api Programmatic access to Credit Benchmark data through the API. Use the Credit Benchmark API for programmatic access to entity resolution, raw data extraction, analytics, and metadata discovery. The API Reference contains authentication, endpoint, request, response, and metadata details. # CB Web App Login Source: https://docs.creditbenchmark.com/delivery-channels/cb-web-app-login Sign-in and password reset guidance for the Credit Benchmark Web App. Access the CB Web App at [webapp.creditbenchmark.com](https://webapp.creditbenchmark.com/) on any up-to-date browser. ## Signing In Enter your username and password on the Sign In page. Login form If 2FA is enabled, enter the verification code from your smartphone or email. If you don't receive the code after 30 seconds, click **Resend Code**. Two-factor authentication If you have trouble signing in, contact [support@creditbenchmark.com](mailto:support@creditbenchmark.com). ## Resetting Your Password Click **Forgot Password?** on the login page. Forgot password Enter your assigned username. A reset link will be sent to your email. If prompted, answer your security question. Security question Follow the link to set a new password. If you have 2FA enabled, you'll also need to enter your 2FA code. Change password Once complete you'll be redirected to the login page. If not, navigate back to [webapp.creditbenchmark.com](https://webapp.creditbenchmark.com/). ## Setting Up Two-Factor Authentication Click **Activate Credit Benchmark Account** in your activation email. Set your password and choose a security question. Account activation After clicking **Create My Account**, select your preferred 2FA method. SMS is recommended. Authentication method selection Select your country, enter your phone number, and click **Send**. Phone number entry Enter the SMS verification code and click **Verify**. If no code arrives after 30 seconds, click **Send code** again. Still nothing? Contact [support@creditbenchmark.com](mailto:support@creditbenchmark.com). You'll be redirected to the login page. If not, navigate to [webapp.creditbenchmark.com](https://webapp.creditbenchmark.com/). # CB Web App Overview Source: https://docs.creditbenchmark.com/delivery-channels/cb-web-app-overview Navigation overview for the Credit Benchmark Web App. The Credit Benchmark Web App gives you access to the full CB universe — consensus ratings on individual entities, sector trends, cross-entity comparisons, and (if provided) positioning of **your own estimates against the consensus**. For the latest updates and new features, see [Product Updates](/product-updates). ## Pages Navigate between pages using the tabs on the top left once logged in. ## Settings & Help **Scale Detail** — set your default rating scale for all pages in the Web App. Scale Detail Settings **Help** — access useful documents and information on the Web App. Help Section **Contact Us** — reach the CB support team with any questions. You'll receive confirmation once your message is sent. Contact Form # Installation Guide Source: https://docs.creditbenchmark.com/delivery-channels/excel-add-in/installation-guide Installation guidance for the Credit Benchmark Excel Add-In. Access Credit Benchmark data in Excel. Bring consensus credit risk data directly into Excel for portfolio monitoring, issuer analysis, and internal-versus-benchmark comparison. Request an account to start using the add-in and streamline recurring credit and risk reporting workflows. ## What the Add-In Does The Credit Benchmark Excel Add-In gives credit and risk professionals direct access to consensus credit risk data inside Excel, making it easier to analyze issuers, monitor portfolios, and produce consistent reports. Instead of manually sourcing and formatting data, users can pull Credit Benchmark content directly into spreadsheets and incorporate it into existing models, templates, and reporting packs. The add-in supports portfolio monitoring, peer analysis, internal-versus-consensus comparison, and ad hoc credit review. ## Install From Microsoft Marketplace Go to the [Credit Benchmark Excel Add-In on Microsoft Marketplace](https://marketplace.microsoft.com/en-us/product/WA200010605). Select **Get it now** and follow the Microsoft prompts to add the add-in to Excel. After installation, open the **Credit Benchmark** add-in or task pane in Excel to review the in-app description and sign-in prompts. A Credit Benchmark subscription is required. If you do not already have access, request an account to start using the add-in. ## Need Help? Questions or feedback? Email [support@creditbenchmark.com](mailto:support@creditbenchmark.com). # Excel Add-In Guide Source: https://docs.creditbenchmark.com/delivery-channels/excel-add-in/user-guide Credit Benchmark Excel Add-In access for consensus credit risk data. The Excel Add-In gives you direct access to CB consensus credit risk estimates and analytics inside Excel. You can pull data three ways: * Writing a `=CB.DATA()` function from scratch * Using the Query Builder * Downloading a pre-built template from the Template Library ## Writing a CB.DATA Function The add-in introduces a single Excel function: `=CB.DATA()`. ``` =CB.DATA(Field, Filters, Sort, Group, Rank, DateRank) ``` Most queries only need the first two parameters - **Field** and **Filter**. The rest are optional. | Parameter | Required | Description | | ------------ | -------- | ---------------------------------------------------------------------------------------- | | **Field** | Yes | Data field to return - short name (e.g. `CB_ID`) or full path (e.g. `CB.CBQuorate.CBID`) | | **Filter** | Yes | Rules specifying what data to return - a specific entity or broader list | | **Sort** | No | Order of results (e.g. `CB_Notch asc`) | | **Grouping** | No | For aggregate data only - how to group results (e.g. by country or sector) | | **Rank** | No | Rank order required (e.g. `1` for first result) | | **DateRank** | No | Relative date: `0` = latest, `1` = previous month, etc. Defaults to latest | For a full function reference, download the User Guide from the Template Library (**Welcome > Template Library > User Guide Download**). ## Query Builder The Query Builder lets you build CB data queries without writing a formula directly. * **Choose a data source** - Client (your internal data), Entity Level (CB quorate or all), or Aggregate * **Select fields** - credit risk metrics, reference identifiers, and more * **Apply filters** - restrict results to entities or criteria you care about ## Template Library Download pre-built Excel files built on the `=CB.DATA()` function, including a comprehensive user guide. CB can also help build custom templates - contact [support@creditbenchmark.com](mailto:support@creditbenchmark.com). ## Support * [Installation Guide](/delivery-channels/excel-add-in/installation-guide) - install from Microsoft Marketplace * [Microsoft Marketplace listing](https://marketplace.microsoft.com/en-us/product/WA200010605) - open the latest add-in page * [support@creditbenchmark.com](mailto:support@creditbenchmark.com) - direct support # Matching as a Service Source: https://docs.creditbenchmark.com/delivery-channels/feed-file/managed-entity-resolution File-based managed matching for entity lists and Credit Benchmark identifiers. Matching as a Service is file-based entity resolution handled by Credit Benchmark. You send names, we resolve them, and we return a matched feed file. Use it when you want Credit Benchmark to own the resolution work. Use the API when you want ranked candidates returned directly to your systems. ## Matching Options | Decision | Matching as a Service | Entity Resolution API | | ------------- | ---------------------------------------------------------------------- | --------------------------------------------- | | Who resolves? | Credit Benchmark. | You. | | Use when | You want to offload review and receive a resolved file. | You want candidates inside your own workflow. | | Output | Matched `CBId` file. | Ranked candidates with confidence scores. | | Trade-off | File handoffs and slower turnaround; Credit Benchmark owns resolution. | Faster, but you own resolution decisions. | API references: [Entity Resolution overview](/api-reference/matching/overview) and [Accuracy & Coverage](/api-reference/matching/performance). ## Matching as a Service Process Confirm the file layout, cadence, delivery channel, and output fields during onboarding. Transfer the file to Credit Benchmark through the agreed secure channel, usually [SFTP or CB Secure](/delivery-channels/feed-file/sftp). Credit Benchmark matches the submitted names to internal entity records, reviews exceptions where needed, and assigns `CBId` values where a match can be made. Credit Benchmark returns the matched file through the agreed delivery channel. The output can include mapping fields, selected consensus fields, and agreed client reference fields. ## Input File At minimum, each row must include the entity name to be matched. Additional identifiers improve match quality and reduce manual review. | Field | Required | Notes | | ----------------------- | ------------------------ | --------------------------------------------------------------------------------- | | Entity name | Yes | Legal or commonly used entity name. | | Country | Recommended | Helps distinguish entities with similar names. | | LEI | Recommended if available | Enables deterministic matching where the identifier is available and valid. | | Industry or entity type | Optional | Useful for resolving ambiguous names. | | Client identifier | Optional | Used to preserve your internal row, portfolio, or system reference in the output. | | Custom client fields | Optional | Up to two agreed fields can be passed through to the output. | ## Submission Patterns Choose one pattern during onboarding. | Pattern | How it works | Output behaviour | | ---------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------- | | Append new names | Send an initial universe, then send only new names in later files. | Output includes the accumulated universe. | | Replace universe | Send a full updated universe each period. | Output includes the latest submitted universe only. | | Separate lists | Send each file as a separate group of names. | Output includes the most recent list, unless a different layout is agreed. | If the same entity name can appear with different internal identifiers, tell Credit Benchmark during onboarding. The process can preserve row-level distinction using your identifiers or agreed custom fields. ## Cadence and Deadlines | Output type | Timing | | ------------------------- | ------------------------------------------------------------------------------------------ | | Time-sensitive match file | Returned on an agreed operational schedule. | | Detailed month-end feed | Submit input by the 20th of the month. Output is returned on the last Friday of the month. | If no new file is submitted for a monthly run, the output can be generated from the last submitted universe using the latest available Credit Benchmark data. ## Output File Output fields are agreed during onboarding. | Output field | Notes | | -------------------------------------------- | ------------------------------------------------------------------- | | Submitted entity name and client identifiers | Preserves the input reference. | | Matched `CBId` | Credit Benchmark identifier for the resolved entity. | | Matched entity name | Credit Benchmark entity name. | | Match status or confidence information | Included where agreed during onboarding. | | Selected consensus data fields | Included where the feed includes consensus data. | | Third-party identifiers | Available identifiers such as LEI or national registry identifiers. | ## Volumes Monthly files commonly contain up to 10,000 submitted names. Larger files can be supported, but processing approach, timing, and commercial terms should be confirmed before onboarding. # SFTP and CB Secure File Transfer Source: https://docs.creditbenchmark.com/delivery-channels/feed-file/sftp Connection requirements for Credit Benchmark SFTP and CB Secure file transfer. Credit Benchmark supports two secure file transfer channels: * **SFTP** for automated or scheduled file exchange between systems. * **CB Secure** for manual upload and download through a browser. ## Standard Feed File Delivery Credit Benchmark can make standard output files available through SFTP. In this model, Credit Benchmark publishes an agreed feed file to the secure transfer location on the agreed schedule, and your systems collect it from there. SFTP and CB Secure can also support custom file exchange, including files you send to Credit Benchmark and managed workflows such as [Matching as a Service](/delivery-channels/feed-file/managed-entity-resolution). Both channels use encrypted transport and are restricted to approved client IP addresses. The sections below cover the connection setup rather than the contents of a specific feed. ## Choose a Channel | Channel | Use when | Protocol | Authentication | | --------- | ------------------------------------------------------- | --------------------- | --------------------------------------- | | SFTP | Files are produced or consumed by an automated process. | SSH / SFTP on port 22 | SSH public key, password, or both | | CB Secure | A person needs to upload or download files manually. | HTTPS on port 443 | Username and password; MFA is available | ## Channel Setup Use SFTP when files need to move between Credit Benchmark and a client-controlled system without manual browser steps. ### Endpoints Use DNS hostnames when connecting. IP addresses are provided for firewall allowlisting only. | Environment | Hostname | IP address | Port | | ----------- | --------------------------------- | ---------------- | ---- | | Production | `cbsecure.creditbenchmark.com` | `206.142.214.50` | `22` | | UAT | `uatcbsecure.creditbenchmark.com` | `206.142.214.52` | `22` | ### Client Requirements * Install or configure an SFTP client or automated transfer job. * Allow outbound access to the relevant Credit Benchmark hostname on port `22`. * Provide the public source IP addresses that Credit Benchmark should allowlist. * Choose public key authentication, password authentication, or both. ### SSH Public Key Requirements | Requirement | Value | | -------------------- | ------------------------------ | | Key type | SSH-RSA | | Minimum strength | 2,048-bit RSA | | Recommended strength | 4,096-bit RSA | | Format | OpenSSH single-line public key | | Maximum key lifetime | 2 years | Only send Credit Benchmark the public key. Private keys must remain under your control. Use CB Secure when users need a browser-based upload and download portal instead of an automated SFTP connection. ### Endpoints | Environment | URL | IP address | Port | | ----------- | ----------------------------------------- | ---------------- | ----- | | Production | `https://cbsecure.creditbenchmark.com` | `206.142.214.50` | `443` | | UAT | `https://uatcbsecure.creditbenchmark.com` | `206.142.214.52` | `443` | ### Client Requirements * Use a browser that supports HTTPS. * Allow outbound access to the relevant Credit Benchmark URL on port `443`. * Provide the public source IP addresses that Credit Benchmark should allowlist. * Use username and password authentication. MFA is available. SSH public key authentication is not available for CB Secure. ## Information Credit Benchmark Needs Provide these details before an account is created. | Value | What it is | Example format | | --------------------- | ------------------------------------------------------------------------- | ------------------------------------------------ | | Company name | The legal or operating entity that will use the connection. | `Example Bank Ltd` | | IT contact | A named technical contact for setup, changes, and operational issues. | Name, phone number, and email address | | Channel | The file transfer channel you need. | `SFTP`, `CB Secure`, or both | | Source IP addresses | The public IP addresses or CIDR ranges that should be allowed to connect. | `203.0.113.10` or `203.0.113.0/28` | | Authentication method | Required for SFTP only. | Public key, password, or public key and password | | Public key | Required for SFTP public key authentication only. | OpenSSH single-line RSA public key | Credit Benchmark will not create or maintain a connection without current technical contact details. ## IP Allowlisting Access is limited to IP addresses supplied by the client and approved by Credit Benchmark. | Allowlist type | Limit | | ----------------------- | ------------------------------------------------------------------ | | Individual IP addresses | 5 or fewer | | CIDR ranges | 5 or fewer ranges | | Total address coverage | Up to 1,280 IP addresses across individual entries and CIDR ranges | Client teams are responsible for firewall changes in their own environment. ## Password Requirements Passwords must: * Be 10 to 30 ASCII characters. * Include at least one uppercase letter, one lowercase letter, one number, and one supported special character. * Not contain spaces or non-printable characters. * Be stored securely and shared only with authorised users. Passwords expire 18 months after creation. Supported special characters: ```text theme={null} _ % + = - [ ] , . { } $ \ ` & ( ) < " > | ; ' ^ * ? : # @ ! ``` ## File Size and Retention Credit Benchmark file transfer is a store-and-forward service, not an archive. Clients are responsible for retaining their own copies of transferred files. | Limit | Value | | --------------------------------------- | ---------------------------------------------- | | Maximum storage per account | 5 gigabytes | | File retention | Files may be removed on a rolling 30-day basis | | Maximum single file, one-time delivery | 1.5 gigabytes | | Maximum single file, automated delivery | 400 megabytes | Files above accepted limits may be blocked or deleted. ## Processing Expectations Uploaded files are generally processed within 30 minutes end to end. Some workflows run once every 24 hours. SFTP is not a real-time interface. If your workflow requires real-time data transfer, use a real-time protocol agreed separately with Credit Benchmark. ## Account Lifecycle Accounts that are not accessed for more than 6 months may be deleted, including associated files. For setup or connection changes, contact your Credit Benchmark representative or [support@creditbenchmark.com](mailto:support@creditbenchmark.com). # Getting Access Source: https://docs.creditbenchmark.com/delivery-channels/getting-access Access paths for current subscribers, prospective customers, and SSO-managed firms. How you request access depends on whether your firm already subscribes and how identity is set up. | Situation | What to do | | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Your firm subscribes but you can't sign in. | Email [support@creditbenchmark.com](mailto:support@creditbenchmark.com) with your name, work email, and your firm. Support will check your entitlement and provision your account. | | Your firm doesn't subscribe yet. | Email [sales@creditbenchmark.com](mailto:sales@creditbenchmark.com) with what you're trying to do — coverage, asset class, delivery channel — and a Credit Benchmark representative will follow up. | | Your firm uses SSO with Credit Benchmark. | Contact your internal IT or application access team and ask to be added to the Credit Benchmark application. They will provision you through your firm's identity provider. | If you're not sure which path applies, start with [support@creditbenchmark.com](mailto:support@creditbenchmark.com) and we'll route you. # Delivery Channels Source: https://docs.creditbenchmark.com/delivery-channels/intro Access patterns for Credit Benchmark applications, APIs, and file-based delivery. Credit Benchmark data is available through several delivery channels. The right channel depends on whether users need an interactive application, spreadsheet access, API integration, or scheduled file delivery. | Channel | Use when | Start here | | --------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | | Web App | Users need interactive access to entities, portfolios, analytics, and downloads. | [CB Web App Overview](/delivery-channels/cb-web-app-overview) | | Excel Add-In | Users need Credit Benchmark data inside Excel workbooks. | [Excel Add-In Installation](/delivery-channels/excel-add-in/installation-guide) | | API | Systems need programmatic access to matching or analytics data. | [API Access](/delivery-channels/api) | | SFTP / CB Secure | Files need to be exchanged through automated SFTP or browser-based upload/download. | [SFTP and CB Secure](/delivery-channels/feed-file/sftp) | | Matching as a Service | Credit Benchmark should resolve submitted entity names and return a matched feed file. | [Matching as a Service](/delivery-channels/feed-file/managed-entity-resolution) | | Snowflake | Data should be available directly inside your Snowflake account. | [Snowflake](/integrations/snowflake) | | Databricks | Data should be available in your Databricks workspace via Delta Sharing. | [Databricks](/integrations/databricks) | | AWS | Data should be delivered via AWS Data Exchange. | [AWS](/integrations/aws) | | Bloomberg | Data should be delivered via Bloomberg. | [Bloomberg](/partnerships/bbg) | | Preqin | Data should be delivered via Preqin. | [Preqin](/partnerships/preqin) | For authentication and user access, see [CB Web App Login](/delivery-channels/cb-web-app-login) and [Single Sign-On](/delivery-channels/sso). # Single Sign-On (SSO) Source: https://docs.creditbenchmark.com/delivery-channels/sso SSO configuration for the Credit Benchmark Web App and Excel Add-in. Single Sign-On (SSO) lets users access the Credit Benchmark Web App and Excel Add-in with their existing corporate credentials. Credit Benchmark supports SSO using SAML 2.0. In this setup, your identity provider authenticates the user and Credit Benchmark acts as the service provider that accepts the SAML response. SSO covers authentication only. Product access and data entitlements still depend on the users and permissions configured for your Credit Benchmark subscription. ## How SSO Works When a user signs in with SSO: 1. Credit Benchmark redirects the user to your corporate identity provider. 2. Your identity provider authenticates the user using your internal controls, such as MFA and password policy. 3. Your identity provider sends a signed SAML assertion to Credit Benchmark. 4. Credit Benchmark validates the assertion and grants access if the user is authorised. Credit Benchmark uses Okta for identity and access management. Common client identity providers include Microsoft Entra ID, Okta, Ping Identity, and other SAML-compatible platforms. ## Implementation Steps Contact your Credit Benchmark relationship lead or [support@creditbenchmark.com](mailto:support@creditbenchmark.com) to start the SSO setup. Credit Benchmark will coordinate the configuration details with your identity or security team. Your team provides the identity provider values listed below. Credit Benchmark provides the corresponding service provider values for your configuration. Credit Benchmark provides a sandbox environment for testing before production rollout. Use this to confirm sign-in flow, user matching, and access behaviour. After testing is approved, Credit Benchmark enables SSO for the production environment. ## Configuration Values You Provide Your identity team provides the identity provider values below. | Value | What it is | Example format | | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | | IdP issuer URI / entity ID | The unique identifier for your SAML application or identity provider tenant. Credit Benchmark uses this to identify who issued the SAML response. | A tenant-specific Microsoft Entra ID or Okta issuer URL | | Single Sign-On URL | The login endpoint where Credit Benchmark redirects users for authentication. | A tenant-specific Microsoft Entra ID or Okta SAML login URL | | Signature certificate | The public certificate Credit Benchmark uses to verify that SAML responses were signed by your identity provider. | PEM or DER encoded X.509 certificate | | Username attribute mapping | The SAML attribute that contains the user's email address or username. This must match the user record configured in Credit Benchmark. | `NameID`, `email`, `user.mail`, or `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress` | Email address is the preferred user identifier. If your SAML assertion sends another identifier, confirm the mapping with Credit Benchmark before testing. ## Configuration Values Credit Benchmark Provides Credit Benchmark provides the service provider values below. | Value | What it is | Example format | | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | | Assertion Consumer Service (ACS) URL | The Credit Benchmark endpoint where your identity provider sends the SAML response after authentication. | Provided during implementation | | Audience URI / SP entity ID | The service provider identifier your identity provider includes in the SAML response. Credit Benchmark validates this value to confirm the response was intended for the correct application. | Provided during implementation | | Sandbox ACS URL | The ACS URL used for pre-production testing, if sandbox SSO is enabled separately from production. | Provided during implementation | | Production ACS URL | The ACS URL used for live user authentication. | Provided during implementation | ## SAML Requirements Use these settings unless Credit Benchmark provides different implementation-specific instructions: | Setting | Requirement | | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | Protocol | SAML 2.0 | | Response signing | Required | | Assertion signing | Required if supported by your identity provider | | NameID / username | Must identify the Credit Benchmark user, preferably by email address | | Certificate rotation | Notify Credit Benchmark before rotating the SAML signing certificate so the new certificate can be added before the old one expires | ## Operational Control With SSO enabled, authentication remains controlled by your organisation. Deactivating a user in your directory prevents that user from authenticating through SSO, and your internal MFA and password policies continue to apply. For onboarding, offboarding, or access changes, coordinate with your Credit Benchmark relationship lead or [support@creditbenchmark.com](mailto:support@creditbenchmark.com). # Aggregates Source: https://docs.creditbenchmark.com/delivery-channels/webapp-pages/aggregates Aggregate credit trend analysis across sectors, industries, and countries. The Aggregates page provides macro-level credit risk indicators across **164 countries, 300 industries, and 60 sectors** — drawn from Credit Benchmark's 750,000+ contributed risk observations. Aggregates complement entity-level analysis by showing credit sentiment at the portfolio or market level. For the underlying methodology, see [PD Aggregates Methodology](/methodology/pd-aggregates/methodology). ## Page Sections Aggregates overview * **Aggregate Filters** — filter by country, industry, sector * **Time Horizon Selector** — set a specific date range * **Credit Trend / Level Graphs** — credit trends plotted over time * **Aggregate Search** — dynamically search for a specific aggregate * **Select Aggregates** — choose one or more aggregates to plot * **Show Constituents** — view and download the underlying entities * **Download** — export as JPEG or Excel * **Reset Filters** — clear all active filters ## Output Views * **Rating Distribution (CB-7 scale)** — distribution of ratings within the aggregate on the 7-point scale; see [Rating Scales](/methodology/rating-scales) * **PD** — absolute probability of default for the segment * **Rating** — aggregate mapped to the CB rating scale * **Rebased** — relative change in risk over time from a chosen baseline ## Show Constituents **Show Constituents** reveals the underlying entities contributing to the plotted aggregate and allows you to download the data. Constituents align to the [CB Industry Schema](/data/industry-schema-definitions). Show constituents view # Client Analytics Source: https://docs.creditbenchmark.com/delivery-channels/webapp-pages/client-analytics Client Analytics comparisons between submitted data and consensus ratings. The Client Analytics page shows your bank's estimates versus Credit Consensus Ratings across your **full submission**. It is designed for submission-wide analysis rather than entity or portfolio level. [Notch differences](/methodology/consensus-calculations/rating-comparisons) are calculated as the difference between your estimate and the consensus on the chosen scale — negative means more conservative, positive means more optimistic. If your estimate is missing for an entity where you expect it, contact [support@creditbenchmark.com](mailto:support@creditbenchmark.com). ## Page Sections Client Analytics overview * **Client Analytics Filter** — filter and refine your analysis * **Industry Notch Differences and CB Consensus Distribution Graphs** — visual comparison of your ratings against consensus * **Entity Notch Difference Distribution Graph** — distribution of rating differences across your submission * **Positive and Negative Notch Difference Tables** — detailed breakdown of where you are more optimistic or conservative than consensus # Entity Source: https://docs.creditbenchmark.com/delivery-channels/webapp-pages/entity Single-name consensus ratings and entity-level credit risk analysis. The Entity page shows **consensus information** on a single entity — CCR, analytics, and comparisons to Credit Rating Agencies and the respective Sovereign. If your institution submits data for an entity, you can also plot your own estimate against the consensus. If your estimate is missing for an entity where you expect it, contact [support@creditbenchmark.com](mailto:support@creditbenchmark.com). ## Searching for an Entity Search by **Entity Name, LEI, CBID**, or your Internal ID (if provided). The dropdown shows entities with a consensus rating available and those still awaiting sufficient contributions. * Consensus entities appear at the top of the list * **Bolded** entities are Ultimate Parents * Non-publishable entities are shown in light grey Entity search interface ## Entity Page Sections Entity page overview Consensus information and analytics for the selected entity, including comparison to Credit Rating Agencies. * **Download Data** — download all data on the page * **Add to Portfolios** — add this entity to your portfolios * **Plot Data Points** — select the bar graph icons to plot different metrics * **My Rating** — your institution's submitted estimate; shows N/A if no data was submitted * **Credit Rating Agency Ratings** — long-term CRA ratings where available * **Available Aggregate** — the aggregate for this entity's country and sector Entity summary section Benchmark trends over time and compare against other ratings. * **Credit Consensus Ratings** — CCR and analytics plotted over time * **Credit Rating Agencies** — CRA ratings benchmarked over time * **Rating Distribution** — distribution of contributed views * **Observation Count** — number of contributions to this entity * **Time Horizon Selector** — set a specific date range * **Metrics Dropdown** — switch between different metrics * **Your Estimate** — your institution's view in the chosen scale * **Affiliates, Peers, and Industry** — additional comparison overlays * Set a **Chart By default preference** via the Help button Entity chart View other CB-covered subsidiaries of the same ultimate parent. * **Entity Hierarchy** — ultimate parent and affiliates * **My Rating** — your estimate mapped to the chosen scale; blank if not submitted * **Plot Data Points** — select bar graph icons to chart entities * Click any entity to navigate to their Entity page Corporate hierarchy table A **recommended peer list** is auto-generated using a sorting algorithm based on the entity's reference data. A **custom peer group** can be created by clicking the plus icon — it defaults to the recommended list and any changes are saved to your user profile. Peers section # Home Page Source: https://docs.creditbenchmark.com/delivery-channels/webapp-pages/home-page Overview of the Credit Benchmark Web App Home Page: portfolio movers, universe-wide credit trends, and consensus rating highlights. The Home Page gives you a snapshot of the **most prevalent movers** — in your portfolio and across the wider CB universe. Credit Benchmark Home Page Dashboard ## Portfolio Monitoring * **My Portfolios: Recent Upgrades & Downgrades** — entities in your portfolios that upgraded or downgraded over the last month * **CB Highlighted Deteriorations in My Portfolio or Bank Submission** — entities in your portfolio or submission that overlap with the CB Watch List * **CB Highlighted Deteriorations** — entities meeting criteria focused on negative credit signals; see the Methodology section in the Help modal for detail ## Market Insights * **Latest Industry Changes** — CB Aggregates deteriorating or improving most over the last 6 months * **Research** — Credit Benchmark's most recent research publications * **Data Highlights** — updates on entity and aggregate coverage # Inbox Source: https://docs.creditbenchmark.com/delivery-channels/webapp-pages/inbox Inbox access for data files, reports, and shared downloads. The Inbox is where files are delivered to your organisation — including regular feed files, custom reports, and any files shared with you personally. You'll receive an email when something new is available. Inbox page overview * **Organisation files** — feed files and reports shared on a regular cadence * **Personal downloads** — files shared directly with you * **Prototypes** — features in development from the CB product team # My Portfolios Source: https://docs.creditbenchmark.com/delivery-channels/webapp-pages/my-portfolios Portfolio creation, management, and monitoring in the Credit Benchmark Web App. The My Portfolios tab lets you group entities for continuous monitoring, share portfolios with colleagues, and download the underlying data. Portfolios also act as a filter in [Client Analytics](/delivery-channels/webapp-pages/client-analytics), letting you compare your ratings to the consensus for a specific entity set. ## Why Use Portfolios? * **Alerts** — automated notifications for rating changes, upgrades, or downgrades * **Download Data** — export portfolio data including historical snapshots * **Quick Reference** — maintain a named list of entities for fast searching * **Rating Distribution** — visual breakdown of your portfolio's rating composition * **PortfolioLens** — customisable analytical reports comparing your ratings against consensus ## Portfolio Setup * Switch between portfolios using the **tabs** at the top * Create a new portfolio with the **+** button * Use the action buttons to add entities, modify columns, share, and set alerts * Remove entities by selecting them and clicking the cross icon * Drag column headers to rearrange the table layout Portfolio view * Click **+** to create a new portfolio * Click **Settings** to rename, copy, or delete a portfolio * **Copy** creates a new portfolio with the same entity list and alert settings — changes to the original won't affect the copy Creating and editing a portfolio Portfolio editing interface Click **Add Entities** to upload by: * **Internal Firm ID** * **CBID** * **Entity Name** * **LEI** Add entities to portfolio Add entities modal Name matching uses a **proprietary ML model** to match your uploaded list against CB reference data. Paste entity names into the free text field or upload a CSV/XLSX file (entity names only). Click **Upload**. Upload entity list Review matched and unmatched entities. CB will flag any duplicates. * **Matched** — click **Add to Portfolio** or **Replace Portfolio** * **Unmatched** — click **Send to Support** for additional manual review Review matched entities ## Portfolio Features Click **Modify Columns** to add, remove, or reorder columns. Your configuration is saved to your user profile. Column selection also determines what's included in data exports. Column customization Click **Alerts** to configure email notifications for rating changes, upgrades, or downgrades. Choose weekly or monthly frequency. Alert configuration Click **Share** to share with colleagues as a **static copy** (snapshot) or **dynamic** (live, updates automatically for all users). Sharing options Click **Download** to export the current portfolio or historical data as Excel or CSV. Download options Click **PortfolioLens** to generate customisable reports: * **My Rating vs Consensus Trends** — compare your ratings against consensus over time (bank contributors) * **Consensus Trends** — consensus rating trends for your portfolio * **Single Name Trends** — individual entity rating analysis Reports publish to the [Inbox](/delivery-channels/webapp-pages/inbox) tab for download. Report configuration For the underlying calculations, see [Methodology](/methodology/intro). For programmatic access, see the [API reference](/api-reference/intro). Click the **Distribution** icon to view how entities in your portfolio are spread across rating bands. Export as JPEG or Excel. Portfolio distribution graph # Screener Source: https://docs.creditbenchmark.com/delivery-channels/webapp-pages/screener Universe screening, saved filters, and portfolio creation from search results. The Screener lets you filter the full CB entity universe using multiple criteria, save and retrieve custom screens, and export results to Excel. ## Page Sections Screener page overview * **CB & User Created Screens** — access pre-built CB screens or your saved custom screens * **Criteria Builder** — define filters across multiple dimensions to refine results * **Results Table** — view and export the filtered entity list with ratings ## Adding Results to Portfolios Click **Add to Portfolio** on the Screener page to add filtered results directly to an existing or new portfolio. # AWS Data Exchange Source: https://docs.creditbenchmark.com/integrations/aws AWS access for Credit Benchmark data delivery via AWS Data Exchange. Credit Benchmark data is available on AWS Data Exchange. Once subscribed, the data set is delivered into your AWS account and can be exported to Amazon S3 or queried via Amazon Athena, Redshift, and other AWS analytics services. ## AWS Marketplace The AWS Marketplace listing is the entry point for subscribing. A Credit Benchmark subscription is required before access is approved. ## Prerequisites * An AWS account with permission to subscribe to AWS Data Exchange products. * An IAM principal with the `AWSDataExchangeSubscriber` permissions (or equivalent) and access to S3 for exports. * A Credit Benchmark subscription that includes AWS delivery. ## Getting Access From the listing, click **Continue to Subscribe** and complete the subscription request with the AWS account that should receive the data. Notify your Credit Benchmark representative so they can confirm your subscription entitlement and approve the AWS Data Exchange request. Once the subscription is active, the data set appears under **AWS Data Exchange → Entitled data**. Export the latest revision to an S3 bucket in your account, or schedule automatic exports on each new revision. Query the exported files directly from S3 using Athena, load them into Redshift, or wire them into your existing AWS analytics pipelines. The schema, table, and field definitions match the [Data Dictionary](/data/data-dictionary). ## Need Help? For provisioning or onboarding questions, contact your Credit Benchmark representative or email [support@creditbenchmark.com](mailto:support@creditbenchmark.com). # Databricks Data Delivery Source: https://docs.creditbenchmark.com/integrations/databricks Databricks access for Credit Benchmark data delivery via the Databricks Marketplace. Credit Benchmark data is available on the Databricks Marketplace as a Delta Sharing listing. Once the share is accepted, the data appears as a catalog in your Databricks workspace and is queryable directly from notebooks, SQL warehouses, and jobs. ## Databricks Marketplace The Marketplace listing is the entry point for requesting access. A Credit Benchmark subscription is required before the share is granted. ## Prerequisites * A Databricks workspace with Unity Catalog enabled. * Permission to accept Marketplace listings and create catalogs (typically a metastore admin). * A Credit Benchmark subscription that includes Databricks delivery. ## Getting Access From the listing, click **Get instant access** (or **Request access**) and submit your Databricks account and workspace details. Notify your Credit Benchmark representative that you have requested the share so they can confirm your subscription entitlement and approve provisioning. Once approved, accept the share in Databricks. This creates a Unity Catalog catalog containing the Credit Benchmark schemas and tables. Grant `USE CATALOG` and `SELECT` on the new catalog to the groups or users that need to read the data. ```sql theme={null} GRANT USE CATALOG ON CATALOG credit_benchmark TO ``; GRANT SELECT ON CATALOG credit_benchmark TO ``; ``` Query a table to confirm the share is live: ```sql theme={null} SELECT * FROM credit_benchmark.. LIMIT 10; ``` The schema, table, and field definitions match the [Data Dictionary](/data/data-dictionary). ## Need Help? For provisioning or onboarding questions, contact your Credit Benchmark representative or email [support@creditbenchmark.com](mailto:support@creditbenchmark.com). # Snowflake Data Delivery Source: https://docs.creditbenchmark.com/integrations/snowflake Snowflake access for Credit Benchmark data delivery. Credit Benchmark data is available as a Snowflake data share, delivered into a dedicated, client-specific database that you query directly from your Snowflake account. No file transfer or ingestion pipeline is required — the data is live in your environment as soon as the share is provisioned. ## Snowflake Marketplace The Snowflake Marketplace listing is the entry point for requesting or reviewing access to the Credit Benchmark data share from within Snowflake. A Credit Benchmark subscription is still required before the share can be provisioned to your account. ## What You Get * A dedicated database containing the tables and views included in your subscription. * Data refreshed in line with Credit Benchmark's standard publication cycle — no client-side jobs required. * The ability to join Credit Benchmark data against your proprietary datasets in Snowflake without copying it out. ## Prerequisites * An active Snowflake account in any supported cloud and region. * A Credit Benchmark subscription that includes Snowflake delivery. * The Snowflake **account identifier** for the account that should receive the share. Snowflake supports both organisation-account identifiers and legacy account locator formats. In Snowsight, your account identifier is shown under **Admin → Accounts**, or by running `SELECT CURRENT_ORGANIZATION_NAME() || '-' || CURRENT_ACCOUNT_NAME();`. ## Getting Access Let your account manager know you want Snowflake delivery enabled. They will coordinate provisioning with the Credit Benchmark data team. Send the account identifier of the Snowflake account that should receive the share. If you need the share delivered to multiple accounts (for example, a separate dev or UAT environment), provide each identifier. Once Credit Benchmark provisions the share, an `ACCOUNTADMIN` in your Snowflake account creates a database from it: ```sql theme={null} CREATE DATABASE credit_benchmark FROM SHARE .; GRANT IMPORTED PRIVILEGES ON DATABASE credit_benchmark TO ROLE ; ``` Credit Benchmark will provide the exact provider account and share name during onboarding. Query one of the views in the new database to confirm the share is live, for example: ```sql theme={null} SELECT * FROM credit_benchmark.public. LIMIT 10; ``` ## Working With the Data Because the share is read-only and lives in your Snowflake account, you can: * Query it directly from worksheets, notebooks, or BI tools connected to Snowflake. * Join Credit Benchmark identifiers against your internal counterparty tables to enrich exposures, watchlists, or limits. * Build views in your own database that reference the shared objects, without duplicating the underlying data. The schema, table, and field definitions match the [Data Dictionary](/data/data-dictionary). Field semantics and consensus calculations follow the standard [Methodology](/methodology/intro). ## Security * The data share is delivered point-to-point between Snowflake accounts; data does not leave Snowflake's managed infrastructure. * Data is encrypted in transit and at rest by Snowflake. * Access inside your account is controlled by your Snowflake roles and grants — only roles you explicitly grant `IMPORTED PRIVILEGES` to can read the database. * Credit Benchmark is ISO 27001 certified. ## Need Help? For provisioning or onboarding questions, contact your Credit Benchmark representative or email [support@creditbenchmark.com](mailto:support@creditbenchmark.com). # CCR Distribution Fields Source: https://docs.creditbenchmark.com/methodology/consensus-calculations/distribution-calculations Credit Benchmark calculates distribution metrics including standard deviation, skewness, and dispersion on contributed PD estimates for each entity. Credit Benchmark calculates distribution metrics on contributed 1‑year TTC PD estimates to assess the **spread, shape, and quality** of the consensus for each entity — including how much agreement exists among contributors and whether views are systematically skewed in one direction. ## Calculated Fields Shows how contributed bank views distribute across the CB rating scale. Contributed PDs are mapped to CB rating buckets using the [Rating Scale](/methodology/rating-scales). **CCRMin** — the minimum rating in the distribution, derived from the maximum contributed PD: $$ \text{CCRMin} = f(\max(PD_i)) $$ **CCRMax** — the maximum rating, derived from the minimum contributed PD: $$ \text{CCRMax} = f(\min(PD_i)) $$ $f(PD)$ is the rating scale mapping function returning a notch index. **CCRMin Notch** and **CCRMax Notch** are the numeric equivalents of these fields — the integer position on the 21‑point scale rather than the rating label. Relative dispersion of contributed PDs for an entity — a measure of how much agreement exists among contributing banks. $$ \text{CCRRSD} = \frac{\sigma_{PD}}{\mu_{PD}} $$ * $\sigma_{PD}$ = Standard deviation of contributed PD estimates * $\mu_{PD}$ = Mean of contributed PD estimates Lower values indicate higher agreement. Published rounded to 1 decimal place. Asymmetry of the contributed PD distribution — measures whether bank views are tilted relative to the consensus. $$ \text{CCRSkew} = \frac{1}{n} \sum_{i=1}^{n} \left(\frac{PD_i - \mu_{PD}}{\sigma_{PD}}\right)^3 $$ * $PD_i$ = Individual bank PD estimate * $\mu_{PD}$ = Mean of contributed PD estimates * $\sigma_{PD}$ = Standard deviation of contributed PD estimates * $n$ = Number of contributing banks Published only when |CCRSkew| ≥ 0.5. Values in (−0.5, 0.5) are not displayed. Categorical indicator derived from unrounded CCRRSD. | Level | CCRRSD Range | Meaning | | ---------- | ------------ | ------------------------------------------------------- | | **High** | \< 0.6 | Strong consensus; high confidence in the CCR | | **Medium** | 0.6 – 1.1 | Moderate consensus with some variation | | **Low** | ≥ 1.1 | Significant disagreement; higher uncertainty in the CCR | Categorical indicator derived from unrounded CCRSkew. | Level | CCRSkew Range | Meaning | | --------------- | ------------- | ----------------------------------------------- | | **Optimistic** | \< −1 | Banks tend toward lower PDs than the consensus | | **Balanced** | −1 to 1.6 | Distribution balanced around the consensus | | **Pessimistic** | ≥ 1.6 | Banks tend toward higher PDs than the consensus | # Opinion Change Indicator Source: https://docs.creditbenchmark.com/methodology/consensus-calculations/opinion-change-indicator The Opinion Change Indicator distinguishes genuine bank opinion changes from consensus rating moves caused by shifts in the contributing bank population. ## Why It Exists The [Consensus PD](/methodology/consensus-pd) is a simple average — which means it is sensitive to both **what banks think** and **who is contributing**. When the contributor pool changes, the average can shift even if no bank has changed its view. This means the Consensus PD can move for two very different reasons: * **Opinion change** — one or more banks changed their PD estimate for this entity * **Depth change** — the contributing bank population changed; a bank joined, left, or both Telling them apart is critical to interpreting the data correctly. ## How It Works The **Opinion Change Indicator (OCI)** measures the net rating change across banks that contributed in both the current and prior period — **holding the population constant** to isolate genuine shifts in credit sentiment. ### Formula The OCI tracks credit sentiment at the **individual contributing bank level** — for each same-bank contributor, we calculate whether their view moved toward improvement, deterioration, or held steady month-on-month. Each is assigned a directional signal (**+1**, **−1**, or **0**), and those signals are summed to produce a net read on market direction: $$ \text{OCI}_t = \sum_{b \,\in\, B_t \,\cap\, B_{t-1}} \text{sign}\bigl( f(PD_{b,t-1}) - f(PD_{b,t}) \bigr) $$ Where: * $B_t$ = set of contributing banks at time $t$ * $f(PD)$ = rating scale mapping function returning a notch index * A positive result indicates net improvement; negative indicates net deterioration By restricting the sum to $B_t \cap B_{t-1}$ — banks present in both periods — the OCI strips out any movement caused by banks joining or leaving the contributor pool. If the CCR or Consensus PD moved but the OCI is **Stable**, the move reflects a change in who is contributing — not a change in credit opinion. Weight it accordingly. ## OCI Values The OCI is published as a directional indicator. On the [single entity page](/delivery-channels/webapp-pages/entity), each contributing bank gets an arrow: * **Improving** — net same-bank view moved toward lower PDs (green arrow) * **Stable** — no net change among same-bank contributors (no arrow) * **Deteriorating** — net same-bank view moved toward higher PDs (red arrow) ## Use in PD Aggregates The OCI feeds into the [PD Aggregates methodology](/methodology/pd-aggregates/methodology), where population-controlled time series are constructed to track genuine credit sentiment over time — stripping out noise from contributor turnover. # Rating Comparisons (Notch Differences) Source: https://docs.creditbenchmark.com/methodology/consensus-calculations/rating-comparisons Credit Benchmark uses notch differences to compare PD estimates for peer benchmarking, portfolio analysis, and cross-entity risk reporting. A notch difference is the numerical gap between two PD estimates once both are mapped to a rating scale. Credit Benchmark uses notch differences in portfolio analytics, peer benchmarking, and time-series tracking — anywhere a relative credit quality comparison is needed. By default we use the 21-category CB scale; see the [Rating Scale](/methodology/rating-scales). The same concept applies using a bank's internal rating scale — if a mapping is provided, notch differences can be calculated on the bank's own scale. $$ \text{Notch Difference} = f(PD_i) - f(PD_j) $$ Where: * $PD_i$, $PD_j$ — PD estimates from two sources being compared * $f(PD)$ — rating scale mapping function returning a notch index * Positive values indicate $PD_i$ is the stronger credit; negative values indicate the reverse ## Applications $$ f(PD_b) - f(PD_c) $$ How far a contributing bank's view sits from the market consensus for the same entity. * **Positive** — bank is more optimistic than consensus (lower PD) * **Negative** — bank is more conservative than consensus (higher PD) $$ f(PD_t) - f(PD_{t-n}) $$ How credit quality on an entity has shifted over a chosen period — 1, 3, 6, or 12 months. * **Positive** — credit quality improved (PD decreased) * **Negative** — credit quality deteriorated (PD increased) $$ f(PD_A) - f(PD_B) $$ Relative credit quality between two entities — used for peer benchmarking and portfolio analysis. * **Positive** — Entity A has stronger credit quality than Entity B * **Negative** — Entity A has weaker credit quality than Entity B # Credit Consensus Rating Source: https://docs.creditbenchmark.com/methodology/consensus-credit-rating The Credit Consensus Rating (CCR) is derived from contributed bank PD estimates and mapped to the Credit Benchmark 21-category rating scale. The **Credit Consensus Rating (CCR)** is Credit Benchmark's core offering — a letter rating for a legal entity derived from a simple average of **1‑year through‑the‑cycle (TTC) Probability of Default (PD)** estimates contributed by our network of banks. We map this Consensus PD to the Credit Benchmark 21‑category rating scale to produce the CCR shown across our products. CCR provides an independent view of credit risk based on the aggregated assessments of banks with **skin in the game** — actual lending relationships and real exposure to the entities they rate. ## Credit Benchmark's CCR Process We receive PD data from over **40 contributing banks** worldwide. Each bank provides their 1-year forward-looking Probability of Default estimates linked to their internal rating systems. See the [data submission process](/methodology/data-processing/data-submission) for details. Contributed PDs pass through a comprehensive [data validation process](/methodology/data-processing/data-validation) to ensure quality and consistency before entering the consensus. The CCR is calculated as a **simple unweighted average** of contributed PDs — a consensus opinion of the default risk of the counterparty. $$ \text{Consensus PD} = \frac{1}{N} \sum_{i=1}^{N} PD_i $$ Where: * $PD_i$ = PD estimate from bank $i$ * $N$ = number of contributing banks (published as [**Contributor Count**](/methodology/contributor-count)) * Publication requires $N \ge 2$ The Consensus PD is mapped to a letter rating using our [Rating Scale](/methodology/rating-scales) lookup table: $$ \text{CCR} = f(\text{Consensus PD}) $$ Where $f(PD)$ converts PD values into CCR buckets using a standardised scale calibrated from banks' internal rating systems. ## Use Cases CCR complements internal and CRA ratings by providing an **aggregated market view** from multiple contributing institutions1: * **Customer onboarding & credit decisioning** — support credit decisions with independent, market-based risk assessments * **Portfolio monitoring** — track credit quality and identify emerging risks using Consensus PD views * **Model development & calibration** — validate and calibrate internal models against consensus benchmarks * **Pricing & valuation** — inform pricing decisions with independent credit perspectives reflecting current market sentiment * **Regulatory & third-party risk validation** — meet requirements for independent risk validation and third-party governance * **Entity reference mapping** — standardize entity identification and credit risk mapping across internal systems 1 Banks contributing to Credit Benchmark follow the Basel definition of Default. # Consensus Probability of Default (PD) Source: https://docs.creditbenchmark.com/methodology/consensus-pd The raw Consensus PD is mapped to the CCR100 scale for finer-grained credit analysis, providing 101 buckets versus the standard 21 letter grades. The [Credit Consensus Rating](/methodology/consensus-credit-rating) maps a raw average **Probability of Default (PD)** to one of 21 letter-grade buckets. That's the right format for most use cases — but 21 categories can be too coarse when you need to detect small movements within a grade, or rank entities that sit inside the same CCR bucket. The secondary `CCR100` scale addresses this. It preserves more of the underlying PD signal by mapping the same raw Consensus PD into 101 narrower buckets instead of 21. ## CCR100 Publication Publishing a CCR100 value is a two-step process. Step 1 is covered in full on the [Credit Consensus Rating](/methodology/consensus-credit-rating) page — this page focuses on Step 2. Contributed TTC PDs are averaged across all banks: $$ \text{Consensus PD} = \frac{1}{N} \sum_{i=1}^{N} PD_i $$ That average is passed through a separate `CCR100` lookup table: $$ \text{CCR100 PD} = f(\text{Consensus PD}) $$ Buckets are indexed 1–101, where 101 corresponds to default. Because this is a table lookup, the published midpoint PD is discrete rather than continuous. In practice it is usually very close to the raw average — but not always exactly equal. ## When to use CCR100 Use the headline CCR for credit classification, reporting, and any context where a letter grade is the right output. Use CCR100 when you need to: * **Rank entities within the same CCR bucket** — two entities both rated `bbb` may sit at meaningfully different positions within that grade * **Track small movements** — a shift that doesn't cross a CCR threshold will still show up in the CCR100 bucket * **Feed quantitative models** — the underlying average PD and CCR100 midpoint are more suitable continuous inputs than a categorical letter grade For field-level definitions, see the [Data Dictionary](/data/data-dictionary). # Contributor count and CCR Source classification Source: https://docs.creditbenchmark.com/methodology/contributor-count How Credit Benchmark publishes contributor counts, applies publication thresholds, and distinguishes Consensus from Implied credit ratings using CCRSource. The **Contributor Count** field indicates how many banks contributed a PD estimate for a given entity. It drives both the publication threshold and the `CCRSource` classification. ## Publication thresholds Credit Benchmark requires that **two contributor banks** provide PDs on an entity before publishing a Credit Consensus Rating. To help preserve anonymity around the contributed data, Credit Benchmark will not publish the exact contributor count when there are fewer than 5 contributors. The table below shows the relationship between the **true contributor count** and **what Credit Benchmark publishes.** | True Contributor Count | CCR Source | Published Contributor Count | | ---------------------- | ----------------- | --------------------------- | | 1 | **Not published** | **Not published** | | 2 | `Implied` | `MIN` | | 3–4 | `Consensus` | `MIN` | | 5+ | `Consensus` | `5+` | Any count below 5 is published as **MIN** rather than the actual number. This prevents users from inferring individual bank contributions when the pool is small. ## Implied ratings When exactly **2 banks** contribute a PD for an entity, Credit Benchmark introduces a **third obfuscation point** before publishing. This synthetic point is added to prevent reverse engineering of individual bank views from the published average — a concern that is more acute when the contributor pool is very small. The obfuscation point is designed **not to move the average**, so the published rating still accurately reflects the views of the contributing banks. It adds protection without distorting the signal. The `CCRSource` field is set to `Implied` in this case to signal that the published rating is derived from a protected pool rather than a full Consensus. ## When to use CCRSource Filter on `CCRSource = "Consensus"` when you want to work only with ratings backed by 3 or more independent bank views. Implied ratings are valid credit signals but carry more uncertainty and a degree of obfuscation by design. # Bank Data Onboarding Source: https://docs.creditbenchmark.com/methodology/data-processing/bank-onboarding Credit Benchmark reviews sample PD files, validates contributor models, and onboards new contributing banks through a structured process before go-live. Before onboarding a new contributor bank, Credit Benchmark runs a **structured analysis** to ensure data is fit for inclusion in the consensus. These discussions can run in parallel with other client onboarding workstreams. We review contributor models and data, examine **sample PD files**, and work collaboratively with client teams and data owners to investigate potential outliers or differences versus history and peers. Confirmed issues are resolved before **go‑live**. ## Pre-Onboarding Review As part of this analysis, we: * **Verify PD scope and definitions** — 1‑year TTC; senior unsecured; wholesale/commercial book; default definition alignment * **Evaluate PD scale** — confirm whether the bank's PD scale aligns with other contributors or whether practices are inconsistent with existing contributors * **Screen sample submissions for anomalies** — dispersion/RSD, large movements; confirm outliers with the bank * **Validate identifiers and mapping approach** — support accurate entity resolution (LEI/ticker where available) In select cases, Credit Benchmark has opted to **not include** contributed data in the consensus. CB will still receive these data points for reporting and concordance purposes, but will not use them when publishing CCRs. ## Onboarding Questionnaire Contributors complete a structured methodology **questionnaire** confirming **eligibility and comparability** of contributed PDs, documenting governance and data practices, and establishing operational readiness for ongoing submissions. ### What we confirm in each area * 1‑year TTC obligor PDs * Senior unsecured * Wholesale/commercial book * Out‑of‑scope items (facility‑level, retail, asset‑backed) *Example: Do your 1‑year PDs represent obligor‑level TTC views for senior unsecured exposure in the wholesale/commercial book?* * Alignment with the Basel definition of default (or jurisdictional equivalent) *Example: Which default definition do you apply in production?* * Model validation * Approvals and overrides * Watchlist and early warning * Re‑rating triggers * Review cadence *Example: How are rating overrides raised, approved, and tracked?* * Minimum monthly snapshot * Cut‑off dates * Backfill and roll‑forward rules *Example: What is your monthly submission timeline and how do you handle backfills/corrections?* * Identifiers (LEI, ticker, national IDs) * Internal rating * PD and as‑of date * Model or scorecard * Firmographics * Explicit non‑collection: no facility data, exposure, MNPI, or financial inputs *Example: Which identifiers will you provide per obligor and what coverage do you expect?* * Guarantees and credit enhancements * Consolidated vs. legal entity * Branches and subsidiaries * Funds and SPVs * Sovereigns and public sector *Example: How do you treat guarantees and group structures?* * Notification of model changes and recalibrations * Methodology drift * Known data limitations *Example: How will you notify CB of model changes or recalibrations?* * Secure transport method * Operational and escalation contacts *Example: What secure transfer method will you use and who are the contacts?* # Data Submission Source: https://docs.creditbenchmark.com/methodology/data-processing/data-submission Over 40 contributing banks submit entity-level Probability of Default estimates to Credit Benchmark on a monthly or weekly data cadence. Over **40 contributing banks** submit PD data to Credit Benchmark on a regular cadence. Submissions include obligor-level **1-year through-the-cycle (TTC) PDs** linked to internal ratings for **senior unsecured** exposure in the wholesale/commercial book. We work with each contributor during onboarding to map their files into the core data elements needed for processing and validation. ## Submission Process Contributors deliver updates at least once per month: Each delivery contains a current snapshot of risk assessments and the core context needed for consensus calculation: * Latest **1-year TTC PD** estimates linked to internal ratings * Coverage across Corporates, Governments, Funds, and Financials * Scope limited to **senior unsecured** exposure in the commercial/wholesale book * Agreed data fields and entity identifiers required for processing Banks deliver through Credit Benchmark's secure production channels — browser-based **CB Secure** or automated **SFTP**. Where needed, CB can connect to a client's existing secure portal or file transfer process agreed during onboarding. Submissions undergo automated and manual checks as part of our [Data Validation](/methodology/data-processing/data-validation) process to ensure data quality and consistency. ## Delivery Options | Delivery Method | Typical Use Case | | --------------------------------- | ---------------------------------------------------------- | | **CB Secure** | Manual upload via web browser | | **SFTP** | Automated or scheduled file transfer | | **Client-managed portal or SFTP** | CB connects to a client's existing secure delivery process | ## Data Collection Scope Standardized risk measures and entity identifiers to support consensus calculations. | Data Category | Details | | ---------------------- | ------------------------------------------------------------ | | **Entity Identifiers** | Legal name, country, identifiers (e.g., LEI where available) | | **Risk Measures** | 1-year TTC PD, internal rating, and as-of date | | **Model Information** | Model or scorecard identifier used to produce the PD | | **Firmographics** | Entity type and sector/industry classification | We do not collect sensitive operational details or underlying credit analysis inputs. | Data Category | Details | | ------------------------ | ----------------------------------------------------- | | **Facility Information** | Terms, collateral schedules, covenants | | **Exposure Data** | Loan size, limits, utilizations | | **Underlying Inputs** | Financial statement inputs or raw borrower financials | ## PD Acceptance Criteria | Requirement | Description | | -------------- | ------------------------------------------------------------------------------------------ | | **Type** | Obligor-level 1-year through-the-cycle (TTC) PDs | | **Exposure** | Senior unsecured exposure in wholesale/commercial book | | **Governance** | Produced under bank's model governance and linked to internal ratings | | **Standard** | Aligned to regulated TTC conventions (e.g., Basel capital PD or jurisdictional equivalent) | | Type | Reason | | ------------------------ | --------------------------------------------------------- | | **System-generated PDs** | Without governed model output or analyst approval | | **Facility-level PDs** | Collateralized or asset-backed PDs | | **Retail PDs** | Personal consumer PDs and products | | **Point-in-time PDs** | Scenario/stress-only PDs that don't reflect TTC standards | ## Entity Concordance The consensus process begins with entity resolution — ensuring submissions from multiple banks are matched to the same underlying legal entity before any calculations are performed. This is supported by a dedicated team of **25+ specialists** combining contributor-supplied identifiers with commercial reference data, public registries, and country-specific databases. The matching process: * Prioritises direct identifiers such as LEI and ticker where available * Handles naming variations such as "Apple Inc" versus "Apple INC US" * Cross-checks multiple reference sources before assigning a match * Assigns one `CBId` per entity for downstream consensus processing **Example: resolving Apple Inc. across four banks**
| Bank | Submitted Name | Identifier Provided | | ------ | ----------------- | ------------------- | | Bank A | "Apple Inc" | LEI | | Bank B | "Apple INC US" | LEI | | Bank C | "Apple Inc. (US)" | Ticker: AAPL | | Bank D | "APPLE INC" | None |
When identifiers are present we align deterministically. When absent, we review names and supporting reference data before resolving to a single `CBId`. Once entities are resolved, CB assigns its own industry classifications using our [Industry Classification](/methodology/data-processing/industry-classification) methodology. ## Security and Compliance Credit Benchmark is certified to the following standards: * **ISO 27001:2022** — Information Security Management System * **SOC 2 Type 2** — Security, Availability, and Confidentiality controls * **SOC 2 Type 1** — Security, Availability, and Confidentiality controls * **ISO 27017** — Cloud Security Controls For up-to-date information on security controls and regulatory certifications, visit our [Security and Compliance page](https://compliance.creditbenchmark.com/). # Data Validation Source: https://docs.creditbenchmark.com/methodology/data-processing/data-validation Credit Benchmark validates contributed PD data through layered controls including outlier detection, cross-bank checks, and trend analysis before consensus. Credit Benchmark validates contributed data to support reliable consensus outputs. Before PD validation begins, contributions are matched to the correct legal entity — see [Data Submission](/methodology/data-processing/data-submission) for how entity resolution works. ## Observation-Level PD Validation Each monthly submission passes through layered controls at the observation level before it can contribute to the published consensus. The purpose is to identify data inconsistencies or outliers where a PD value is materially different from: * **Other contributions from different banks** — a single extreme outlier can skew the consensus average. Cross-contributor comparison identifies values that are anomalous relative to the broader market view for that entity. * **Previous contributions from the same bank** — banks can and do make large downgrades legitimately. The threshold here is set high to catch only extreme shifts — the kind more likely to be a submission or processing error than a genuine credit reassessment. Moves that cross the threshold are reviewed and cleared before publication. An observation that fails a control is temporarily excluded from consensus eligibility until it is cleared or otherwise handled per policy. ## Quarantine Rules Credit Benchmark applies several classes of checks to validate PD data and identify outliers. The published methodology summarises the control framework rather than listing every internal threshold or operating rule. * **Relative Standard Deviation (RSD)** — standard deviation divided by mean across contributed PDs for an entity; higher values indicate wider dispersion * **Logarithmic PD distance** — the log-scale distance of an observation from the entity median; large negative values indicate unusually low PDs, large positive values indicate unusually high PDs * All checks are performed on **1-year TTC PDs** | Stage | What we review | Typical outcome | | --------------------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------- | | **Duplicates** | More than one current observation submitted by the same bank for the same entity | One record retained or held for manual review | | **Consensus spread** | Observation sits materially away from the current contributor set | Unusual values quarantined pending review | | **Month-on-month movement** | PD has moved unusually far versus the same bank's prior view | Large moves reviewed before publication | | **New entrant screening** | First-time or returning contribution inconsistent with the existing consensus | Additional scrutiny applied before entering the pool | | **Default classification** | How 10,000 bps observations should be treated under publication policy | Technical and potential default cases handled consistently | ## Persistent Outliers Any PD that remains an outlier for multiple cycles is treated as a **persistent outlier** and stays quarantined until either: * **Client confirmation** — the bank confirms the view is intentional * **PD change** — the PD changes for that entity and the observation is re-evaluated This ensures persistent data-quality issues and genuine changes in credit view are both handled consistently. # Industry Classification Source: https://docs.creditbenchmark.com/methodology/data-processing/industry-classification Credit Benchmark maps NAICS, SIC, NACE, and other classification standards to a unified CB industry schema for consistent analytics across all entities. Contributors and external sources may provide NAICS, SIC, NACE, ANZSIC, or proprietary labels. We use these as inputs, but the output is always a **single CB industry assignment** — enabling consistent analytics across all entities and banks. ## Sources of Classifications Banks use a range of internal and external schemas. Common standards include: * **NAICS** — North American Industry Classification System * **SIC** — Standard Industrial Classification * **NACE** — European statistical classification of economic activities * **ANZSIC** — Australian and New Zealand Standard Industrial Classification Others use **proprietary schemas** tailored to their portfolios. The same entity may therefore appear under different industry labels across contributors. ## Mapping to the CB Industry Schema We derive a single consensus industry classification for each entity using a transparent, repeatable process: Banks submit their internal industry labels and codes alongside entities. We maintain canonical mapping tables for NAICS, SIC, NACE, and ANZSIC, and convert contributed labels to a common set. Bank inputs are compared against external registries including Companies House (UK), OpenCorporates, UK Register House, the Italian Business Registry, and other national registries. This validates and enriches the contributed classifications. Inputs are reconciled to a single Credit Benchmark industry label used consistently across banks and products. Each monthly submission is parsed, mapped, and tracked for changes across cycles. ## Example: Assigning a CB Industry Three banks submit industry metadata for the same entity — one with a NAICS code, one with a SIC code, one with an ANZSIC code. Using our maintained mappings, these are reconciled to a **single CB industry**. The original source codes are retained for reference. | Bank Contributed Code | Code Definition | CB Sub-Sector | | --------------------- | ----------------------------- | ------------- | | NAICS 484000 | Truck Transportation | Trucking | | SIC 4213 | Trucking and Courier Services | Trucking | | ANZSIC 4610 | Road Freight Transport | Trucking | For field-level definitions and the full CB schema, see [Industry Schema Definitions](/data/industry-schema-definitions). # Credit Methodology Source: https://docs.creditbenchmark.com/methodology/intro Credit Benchmark collects, processes, and publishes credit consensus ratings from PD estimates submitted by the world's leading financial institutions. Credit Benchmark collects **1-year through-the-cycle (TTC) Probability of Default (PD)** estimates from over 40 of the world's leading financial institutions and aggregates them into consensus credit analytics — published weekly at the entity and portfolio level. Contributions are governed, validated, and processed through a defined pipeline before publication. Individual bank views remain completely confidential. ## What's in this section * **[Credit Consensus Rating](/methodology/consensus-credit-rating)** — how PD estimates become a letter rating * **[Rating Scales](/methodology/rating-scales)** — the CB 21-category scale and agency alignment * **[Data Processing](/methodology/data-processing/data-submission)** — submission, validation, and entity resolution * **[Consensus Calculations](/methodology/consensus-calculations/distribution-calculations)** — distribution, skew, opinion change, and rating comparisons * **[PD Aggregates](/methodology/pd-aggregates/overview)** — portfolio and sector-level analytics # Aggregate Calculation Methodology Source: https://docs.creditbenchmark.com/methodology/pd-aggregates/methodology Portfolio PD aggregates are calculated using a back-calculation approach anchored to the most recent month and validated by the Opinion Change Indicator. The Aggregate PD is a portfolio-level metric reflecting average credit risk across a defined entity set. The goal is to produce an index on a **moving pool of entities** that captures **genuine bank opinion changes** — filtering out moves caused purely by entities entering or leaving the universe. It is built using a **back-calculation approach** — anchoring to the most recent month as a baseline, then working backwards through time using only month-on-month PD changes validated by the [Opinion Change Indicator (OCI)](/methodology/consensus-calculations/opinion-change-indicator). This ensures the time series stays consistent with the current portfolio view and filters out noise from contributor population shifts. The back-calculation approach means the most recent month always reflects the full current entity universe. Historical values are derived from that baseline — so the series never distorts when entities join or leave. ## Mathematical Process Transform the PD for each entity $i$ at time $t$ into log space: $$ \operatorname{LogPD}_{i,t}=\log\!\bigl(\operatorname{PD}_{i,t}\bigr) $$ Compute the month-on-month change in log PD for each entity: $$ \Delta\operatorname{LogPD}_{i,t} = \operatorname{LogPD}_{i,t}-\operatorname{LogPD}_{i,t-1} $$ Retain only changes where the OCI confirms a genuine shift in bank opinion. If the sign of the OCI does not match the sign of the log PD change, set the difference to zero: $$ \operatorname{Adj}\Delta\operatorname{LogPD}_{i,t}= \begin{cases} \Delta\operatorname{LogPD}_{i,t}, & \text{if }\mathrm{sign}(\mathrm{OCI}_{i,t}) = \mathrm{sign}\!\bigl(\Delta\operatorname{LogPD}_{i,t}\bigr)\\[4pt] 0, & \text{otherwise} \end{cases} $$ Average the adjusted log differences across all $n$ entities for month $t$: $$ \overline{\Delta\operatorname{LogPD}}_{t} = \frac{1}{n}\sum_{i=1}^{n}\operatorname{Adj}\Delta\operatorname{LogPD}_{i,t} $$ Establish the baseline by averaging raw log PDs across all entities at $t_{\text{latest}}$: $$ \operatorname{AggLogPD}_{t_{\text{latest}}} = \frac{1}{n}\sum_{i=1}^{n}\operatorname{LogPD}_{i,t_{\text{latest}}} $$ This is the starting point for all back-calculation. Derive each prior month by subtracting the average log difference: $$ \operatorname{AggLogPD}_{t-1} = \operatorname{AggLogPD}_{t}-\overline{\Delta\operatorname{LogPD}}_{t} $$ Repeat iteratively for all months prior to $t_{\text{latest}}$. Exponentiate to return to the probability scale: $$ \operatorname{AggPD}_{t}=\exp\!\bigl(\operatorname{AggLogPD}_{t}\bigr) $$ ## Output Views The Aggregate PD can be expressed three ways: The absolute probability of default for the segment — the direct output of the back-calculation: $$ \operatorname{AggPD}_{t} = \exp\!\bigl(\operatorname{AggLogPD}_{t}\bigr) $$ Relative change from a chosen base date $t_0$, showing directional risk movement: $$ \text{RelChange}_t(\%) = \frac{\operatorname{AggPD}_{t}-\operatorname{AggPD}_{t_0}}{\operatorname{AggPD}_{t_0}} \times 100 $$ The aggregate PD mapped to the CB rating scale: $$ \text{Rating} = f(\operatorname{AggPD}_{t}) $$ Where $f$ is the CB PD-to-rating mapping function; see the [Rating Scale](/methodology/rating-scales). # PD Aggregates Overview Source: https://docs.creditbenchmark.com/methodology/pd-aggregates/overview Credit Benchmark builds portfolio-level credit risk indices from contributed PD data, covering CB Aggregates, custom aggregates, and client aggregates. PD Aggregates are portfolio-level credit risk indices built by applying Credit Benchmark's aggregation methodology to a defined universe of entities. The same calculation process applies regardless of which data source or entity set is used — see [Aggregate Calculation Methodology](/methodology/pd-aggregates/methodology). ## Three Types of Aggregates Pre-built indices using Credit Benchmark's **PD data and entity universe**, segmented according to the [CB industry schema](/data/industry-schema-definitions). These are ready-to-use benchmarks for common market segments — US Corporates, European Financials, Global Technology, and more. Use these for benchmarking a portfolio against a **published CB market view**. Indices built from Credit Benchmark's PD data applied to **your specific entity list**. You define the universe and segmentation; we supply the Consensus PD data and run the aggregation. Use these when you want **CB's independent credit view** on your own portfolio or peer group. Indices built from **your bank's own internal PD data**, aggregated using the CB methodology. Applies the same rigorous calculation process to your portfolio that powers CB's standard indices. Use these for consistent **time-series analysis of your internal book** using a standardised aggregation approach. ## Output Views Each aggregate can be expressed three ways depending on the analysis: * **Segment PD Average** — absolute probability of default for the segment at each point in time * **Segment PD Rebased** — relative change from a chosen base date, showing directional risk movement * **Segment Average Rating** — aggregate PD mapped to the CB rating scale Portfolio aggregate rebased view # Alignment with Rating Agencies Source: https://docs.creditbenchmark.com/methodology/rating-agency-alignment How Credit Benchmark's Credit Consensus Ratings compare with S&P and Fitch, including rating distributions and upgrade and downgrade patterns. Credit Benchmark's Credit Consensus Ratings (CCR) are derived from contributing banks' internal credit opinions and rating mappings, rather than from agency ratings themselves, but in practice they often align closely with major credit rating agencies such as S\&P and Fitch. ## CCR vs. S\&P and Fitch: Rating Distribution The chart below shows **a comparison of Credit Benchmark CCR against S\&P and Fitch ratings across 5,000+ entities**. Each point represents a rating pair: one CCR value and one agency rating for the same entity at the same point in time. Bubble size reflects the number of entities in each combination. Bubble chart comparing Credit Benchmark CCR to available S&P and Fitch ratings across 5,000+ entities Most observations cluster close to the 45‑degree line, and CCR and agency ratings **agree for the majority of entities**. Where gaps exist, they typically reflect timing differences, methodology differences, or coverage variations. ## Why alignment occurs * **The Credit Benchmark scale is aligned to rating agency categories by construction**: the CB [rating scale](/methodology/rating-scales) is calibrated from banks' own internal grade-to-agency mappings. Contributing banks map their internal grades to agency-style categories (AAA, BBB, etc.), and the CB scale is built from the average of those mappings. Agency comparability is built into Credit Benchmark's PD to CCR scale. * **Banks and agencies respond to the same risk drivers**: bank credit models and agency analysts assess the same underlying fundamentals. Their views naturally converge toward similar levels for most entities. * **Consensus aggregation flattens idiosyncratic variation**: CCR pools 40+ banks' views. Differences in individual bank frameworks tend to average out, leaving the signal closer to the market consensus. CCR is typically directionally and level-wise comparable to S\&P and Fitch, while remaining an independent, higher-frequency signal that can identify shifts in perceived risk ahead of published agency actions. # Credit Benchmark Rating Scale Source: https://docs.creditbenchmark.com/methodology/rating-scales Credit Benchmark maps Probability of Default values to Credit Consensus Ratings through its standardized 21-category scale, from aaa through d. This page explains how Credit Benchmark maps Probability of Default (PD) values to Credit Consensus Ratings (CCR) through its standardized 21-category scale. If you are new to Credit Benchmark, start with the [CCR overview](/methodology/consensus-credit-rating). ## Credit Benchmark Rating Scale Credit Benchmark's rating scale provides a standardized way to translate Probabilities of Default (PDs) into a credit rating. The scale ranges from **aaa** (highest credit quality) to **d** (default). Our scale is a consensus construct derived from the PD scales of **40+ banks**. Each bank maintains its own master scale, including PD cutoffs for each internal grade. We aggregate those PD cutoffs across contributors and interpolate a single set of lower and upper through-the-cycle (TTC) PD boundaries for each category in the Credit Benchmark 21-category scale. These boundaries are: * **Aggregated from multiple independent sources** - A true consensus, not a vendor opinion * **Expressed as annual TTC PD ranges** - To reduce procyclicality * **Reviewed periodically** - To maintain stability and comparability across sectors, regions, and size buckets ### Rating Categories and PD Mappings All PD bounds are expressed in basis points (bps). For example, 30 bps = 0.30%.
| Notch | Rating | PD Lower (bps) | PD Upper (bps) | Category | | ----- | -------- | -------------- | -------------- | -------- | | 1 | **aaa** | 0 | 1.25 | IG | | 2 | **aa+** | 1.25 | 2.25 | IG | | 3 | **aa** | 2.25 | 3.25 | IG | | 4 | **aa-** | 3.25 | 4.75 | IG | | 5 | **a+** | 4.75 | 6.25 | IG | | 6 | **a** | 6.25 | 8.5 | IG | | 7 | **a-** | 8.5 | 14 | IG | | 8 | **bbb+** | 14 | 20 | IG | | 9 | **bbb** | 20 | 30 | IG | | 10 | **bbb-** | 30 | 48 | IG | | 11 | **bb+** | 48 | 76 | HY | | 12 | **bb** | 76 | 112 | HY | | 13 | **bb-** | 112 | 195 | HY | | 14 | **b+** | 195 | 365 | HY | | 15 | **b** | 365 | 650 | HY | | 16 | **b-** | 650 | 1000 | HY | | 17 | **ccc+** | 1000 | 1700 | HY | | 18 | **ccc** | 1700 | 2500 | HY | | 19 | **ccc-** | 2500 | 3700 | HY | | 20 | **cc** | 3700 | 6800 | HY | | 21 | **c** | 6800 | 10000 | HY | | — | **d** | — | — | Default |
Credit Benchmark also maintains a secondary `CCR100` scale for finer PD-based granularity in some published fields. The headline CCR continues to use the 21-category scale. See [Consensus PD](/methodology/consensus-pd) for how `CCR100` fields are published. ## How We Create the Consensus Scale Credit Benchmark's PD scale represents the collective wisdom of **40+ leading global banks**. Each bank has its own internal rating system with unique naming conventions and PD boundaries. Our challenge is to harmonize these disparate systems into a single, standardized consensus scale. ### The Challenge: Multiple Rating Systems Each contributor bank has its own internal rating system with unique naming conventions: | Bank Type | Example Rating System | | -------------------- | ------------------------------------- | | **European Bank** | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | | **US Regional Bank** | A1, A2, A3, B1, B2, B3, C1, C2, C3, D | | **Asian Bank** | AAA, AA, A, BBB, BB, B, CCC, CC, C, D | ### The Solution: Standardization Process We create a consensus definition of what PD maps to each credit grade by using each bank's internally assigned **Credit Rating Agency Equivalent** (e.g., S\&P, Moody's, Fitch) as our common language. This allows us to compare like-for-like credit quality across different internal scales. Each bank provides us with its internal rating definitions and how they map to standard credit rating agency equivalents. For example: * **European Bank's 6** -> Equivalent to S\&P BBB * **US Regional Bank's B1** -> Equivalent to S\&P BBB * **Asian Bank's BBB** -> Equivalent to S\&P BBB This common reference point allows us to compare PD estimates across different internal rating systems. For each S\&P equivalent rating (e.g., **BBB**), we collect the PD values from all banks and analyze the lower, midpoint, and upper boundaries contributed across the network. For example: * **European Bank** (Grade 6) — 17–32 bps, midpoint 23 bps * **US Regional Bank** (B1) — 19–34 bps, midpoint 25 bps * **Asian Bank** (BBB) — 18–31 bps, midpoint 24 bps *Example data for illustration. Actual contributor values are confidential.* Aggregating across all contributors for this grade produces the Consensus PD range used in Step 3. We analyze the PD distributions across all banks for each rating category and calculate the consensus boundaries: * **BBB consensus range**: 20-30 basis points * **BBB midpoint**: 25 basis points * This becomes our **bbb** rating range in the Credit Benchmark scale The process is repeated for each rating category to create the full Credit Benchmark 21-category rating scale. ## Annual Review and Alignment Our PD mapping table is evaluated periodically to ensure boundaries remain aligned with the consensus across all contributor banks. This review process maintains the scale's accuracy and relevance as bank risk models and market conditions evolve. For a deeper discussion of how our consensus ratings compare with S\&P and Fitch, see [Alignment with Rating Agencies](./rating-agency-alignment). # Bloomberg Source: https://docs.creditbenchmark.com/partnerships/bbg Access Credit Benchmark data via the Bloomberg Terminal and Bloomberg Enterprise Data License. Credit Benchmark data is distributed on Bloomberg through two channels: the **Bloomberg Terminal** for interactive use, and the **Bloomberg Enterprise Data License (EDL)** service for systematic redistribution into client systems. ## Available Data Sets | Data set | Coverage | | -------------------------------- | ----------------------------------------------------------------------- | | Credit Consensus Ratings | \~70,000 mostly unrated companies across developed and emerging markets | | Bond and Loan Rating Assessments | \~160,000 bonds and loans, \$28+ trillion outstanding | Consensus ratings are aggregated from anonymized internal risk views of 40+ contributing banks. Field semantics follow the standard [Methodology](/methodology/intro) and [Data Dictionary](/data/data-dictionary). ## Prerequisites * An active Bloomberg Terminal license, or a Bloomberg Enterprise Data License agreement. * A Credit Benchmark subscription that includes Bloomberg distribution. ## Getting Access Let your account manager know whether you need Terminal access, EDL distribution, or both. They will coordinate entitlement with Bloomberg. Bloomberg enables Credit Benchmark fields on the relevant Terminal users or EDL feeds. Existing Terminal users do not need a separate login. Sign in to the Bloomberg Terminal as normal. Once entitlement is active, CB fields are available across the functions listed below. ## Where to Find CB Data on the Terminal CB data is surfaced throughout the Bloomberg Terminal rather than in a dedicated function. Common entry points: * **CRPR** — corporate ratings page, where CB Consensus Ratings appear alongside other rating sources. * **SRCH** — security search, filterable on CB fields. * **Worksheets** — pull CB fields into custom worksheet columns. * **Launchpad** — embed CB fields in monitors and dashboards. * **Excel API** — request CB fields directly from Bloomberg's Excel add-in for spreadsheet workflows. Credit Consensus Ratings on the Bloomberg Terminal CRPR screen ## Enterprise Data License For systematic delivery into client systems (data warehouses, risk engines, downstream applications), CB data is available through Bloomberg's EDL service rather than the Terminal. Contact your Credit Benchmark representative to scope an EDL feed. ## Need Help? For Terminal entitlement issues, contact your Bloomberg representative. For questions about the underlying Credit Benchmark data, contact your Credit Benchmark representative or email [support@creditbenchmark.com](mailto:support@creditbenchmark.com). # Preqin Source: https://docs.creditbenchmark.com/partnerships/preqin Access Credit Benchmark Credit Consensus Ratings inside Preqin Pro. Credit Consensus Ratings (CCRs) are available inside Preqin Pro as an add-on to a Preqin subscription. CB data is surfaced in Preqin Pro searches and embedded on Investor, Fund Manager, Fund, and Company profiles — no separate UI to learn. ## Preqin Help Center ## Prerequisites * An active Preqin Pro subscription. * The Credit Consensus Ratings add-on enabled on your Preqin account. ## Getting Access Existing Preqin subscribers should contact their Preqin account manager and request the Credit Consensus Ratings add-on. New users should contact Preqin sales. Notify your Credit Benchmark representative that you are enabling CCRs through Preqin so they can confirm coverage and any cross-platform questions. Once the add-on is provisioned, sign in to Preqin Pro with your existing credentials. ## Where to Find CB Data in Preqin Pro * **Search** — filter by Credit Consensus Rating, probability of default, agreement indicator, industry, and country across **Investors**, **Fund Managers**, **Funds**, and **Companies & Deals**. * **Profiles** — CCR fields appear directly on individual Investor, Fund Manager, Fund, and Company profiles. * **Charts** — historical trend charts are interactive and exportable for use outside Preqin. ## What's Included * Independent risk measures on rated and unrated entities globally. * Over 1 million monthly credit observations sourced from 40+ contributing banks. * AAA–D consensus rating scale, with PD and agreement indicators alongside. Field semantics match the standard [Methodology](/methodology/intro) and [Data Dictionary](/data/data-dictionary). ## Need Help? For questions about Preqin Pro access, contact your Preqin account manager. For questions about the underlying Credit Benchmark data, contact your Credit Benchmark representative or email [support@creditbenchmark.com](mailto:support@creditbenchmark.com). # Release Notes Source: https://docs.creditbenchmark.com/product-updates/index Release notes for Credit Benchmark: API launches, new endpoints, data and schema changes, documentation updates, and other platform announcements. Track product launches, data updates, documentation changes, and Web App improvements across Credit Benchmark. The Entity Resolution API resolves external company names to Credit Benchmark reference entities - standardize identifiers before portfolios load, before analytics run, before anything downstream depends on the data being clean. * One endpoint: POST /matching/text/match\_external * Returns ranked candidates with CBId, entity name, country of risk, and confidence score * Optional hints - country, industry, LEI - sharpen results for noisy names [Read the full update](/product-updates/matching-api-launch) The updated Excel Add-In is now available through Microsoft Marketplace, making it easier to install and start using Credit Benchmark data in Excel. * Install from the Microsoft Marketplace listing * Bring consensus credit risk data into Excel for portfolio monitoring and issuer analysis * Compare internal views against benchmark data in recurring reporting workflows [Read the full update](/product-updates/excel-add-in-marketplace) Pull portfolio trends, rating moves, sector breakdowns, and raw entity data into your own dashboards and reports — without exporting from the web app. * Track trends, rating changes, sector breakdowns, rating distribution, or raw entity data * Same portfolio, refreshed on a schedule * Full schemas and examples in the API reference [Read the full update](/product-updates/analytics-api-revamp) Everything you need to work with Credit Benchmark - methodology, data reference, API docs, and product guides - now lives in one place at docs.creditbenchmark.com. * Methodology, Data Dictionary, API Reference, and User Guide at launch * Interactive API docs with schemas and worked examples * A structured home for ongoing release notes and updates [Read the full update](/product-updates/documentation-site-launch) Credit Consensus Ratings are now available inside Preqin Pro through a Credit Benchmark partnership - available to Preqin subscribers as an add-on, with no need to leave the platform. * Searchable across Investors, Fund Managers, Funds, and Companies & Deals * Embedded on individual investor, fund manager, fund, and company profiles * Historical trend charts, exportable for use outside Preqin [Read the full update](/product-updates/preqin-integration) CB data now includes subdivision-level geography - state, province, territory, or region - so you can slice portfolios within countries, not just across them. * Three new fields: CBSubdivision, CBSubdivisionISO, CBSubdivisionRegion * Available in Screener, portfolio views, exports, and entity pages * Covers \~80% of the CCR universe [Read the full update](/product-updates/cb-subdivision-field) The Credit Benchmark Web App now supports French and Spanish alongside English. Switch languages at any time - the underlying workflows stay exactly the same. * English, French, and Spanish available from the language selector * Localized navigation and interface text across all core workflows * Switch without leaving the application [Read the full update](/product-updates/multilanguage-support) You can now upload entity lists by name in My Portfolios. CB handles the matching - no need to pre-map everything to CBId before you can get started. * Paste a list or upload CSV/XLSX directly * CB maps submitted names to reference entities and CBId automatically * Reduces manual cleanup for portfolios with inconsistent naming [Read the full update](/product-updates/entity-name-matching) The Web App has been rebranded. New visual identity, cleaner interface, same workflows - nothing about how you use the product has changed. * New logo and updated color scheme * Improved contrast and streamlined navigation * Core workflows untouched [Read the full update](/product-updates/webapp-rebrand) PortfolioLens adds downloadable analytics reports for your portfolios - consensus trends, entity movement, and internal-versus-consensus comparisons - delivered straight to your Inbox. * Portfolio-level consensus movement, entity rating trends, consensus vs. internal * Reports generated from CB data and published to Inbox for download * Built for recurring reviews and credit monitoring [Read the full update](/product-updates/portfoliolens-analytics) Credit Benchmark data now refreshes every Friday morning (ET) across all delivery channels - Web App, Excel, output files, file feeds, and third-party integrations. * Moved from twice monthly to weekly publishing * More current data for monitoring, reporting, and alerting workflows * Month-end stamps preserved for trend analysis [Read the full update](/product-updates/weekly-data-updates) Product Updates is the running record of everything that changes at Credit Benchmark - new features, data updates, interface improvements, and announcements. [Read the full update](/product-updates/welcome) # Aggregate Trend Source: https://docs.creditbenchmark.com/api-reference/analytics/aggregate-trend /openapi/consensus-data.yaml post /beta/data/aggregatetrend Time series of aggregate credit metrics for a scoped entity universe. Use to track how consensus credit quality moves over time. # Credit Breakdown Source: https://docs.creditbenchmark.com/api-reference/analytics/credit-breakdown /openapi/consensus-data.yaml post /beta/data/creditbreakdown Credit quality snapshot broken down by a facet column — sector, country, industry, or any facetable field. # Entity Rating Change Source: https://docs.creditbenchmark.com/api-reference/analytics/entity-rating-change /openapi/consensus-data.yaml post /beta/data/entityratingchange Entity-level rating changes over a lookback window. Use to identify upgrades and downgrades across a portfolio. # Rating Distribution Source: https://docs.creditbenchmark.com/api-reference/analytics/rating-distribution /openapi/consensus-data.yaml post /beta/data/ratingdistribution Share of entities in each rating bucket over time for a scoped universe. # Create JWT Token Source: https://docs.creditbenchmark.com/api-reference/create-jwt-token /openapi/consensus-data.yaml post /api/security/token Create a JWT bearer token. # Get Data Source: https://docs.creditbenchmark.com/api-reference/data/get-data /openapi/consensus-data.yaml post /beta/data/getdata Raw entity-level data for a scoped universe across a time range. The primary endpoint for extracting point-in-time or time series data. # Entity Resolution Source: https://docs.creditbenchmark.com/api-reference/entity-name-resolution /openapi/consensus-data.yaml post /beta/text/match_external Resolves entity names to Credit Benchmark identifiers. Returns ranked candidates with confidence scores. # Available Data Columns Source: https://docs.creditbenchmark.com/api-reference/metadata/available-data-columns /openapi/consensus-data.yaml get /beta/metadata/columns Returns a flat catalog of public input columns with metadata such as type, scopeable, facetable, and entitlement. This endpoint describes request-side input columns only; it does not describe route response fields or result_filter fields. # Available Dates Source: https://docs.creditbenchmark.com/api-reference/metadata/available-dates /openapi/consensus-data.yaml get /beta/metadata/available-dates Returns latest and previous available effective dates for analytics requests. # Geography Schema Source: https://docs.creditbenchmark.com/api-reference/metadata/geography-schema /openapi/consensus-data.yaml get /beta/metadata/geography-schema Returns the CB geography hierarchy as region group, region, and country of risk levels. # Industry Schema Source: https://docs.creditbenchmark.com/api-reference/metadata/industry-schema /openapi/consensus-data.yaml get /beta/metadata/industry-schema Returns the CB industry hierarchy as L1 through L6 rows for scope filters, facets, and hierarchy-aware analytics. # Rating Scales Source: https://docs.creditbenchmark.com/api-reference/metadata/rating-scales /openapi/consensus-data.yaml get /beta/metadata/rating-scales Returns CB rating scale metadata, including CB21 and CB7 ordering and band mappings. # Aggregate Trend Source: https://docs.creditbenchmark.com/api-reference/analytics/aggregate-trend /openapi/consensus-data.yaml post /beta/data/aggregatetrend Time series of aggregate credit metrics for a scoped entity universe. Use to track how consensus credit quality moves over time. # Credit Breakdown Source: https://docs.creditbenchmark.com/api-reference/analytics/credit-breakdown /openapi/consensus-data.yaml post /beta/data/creditbreakdown Credit quality snapshot broken down by a facet column — sector, country, industry, or any facetable field. # Entity Rating Change Source: https://docs.creditbenchmark.com/api-reference/analytics/entity-rating-change /openapi/consensus-data.yaml post /beta/data/entityratingchange Entity-level rating changes over a lookback window. Use to identify upgrades and downgrades across a portfolio. # Rating Distribution Source: https://docs.creditbenchmark.com/api-reference/analytics/rating-distribution /openapi/consensus-data.yaml post /beta/data/ratingdistribution Share of entities in each rating bucket over time for a scoped universe. # Create JWT Token Source: https://docs.creditbenchmark.com/api-reference/create-jwt-token /openapi/consensus-data.yaml post /api/security/token Create a JWT bearer token. # Get Data Source: https://docs.creditbenchmark.com/api-reference/data/get-data /openapi/consensus-data.yaml post /beta/data/getdata Raw entity-level data for a scoped universe across a time range. The primary endpoint for extracting point-in-time or time series data. # Entity Resolution Source: https://docs.creditbenchmark.com/api-reference/entity-name-resolution /openapi/consensus-data.yaml post /beta/text/match_external Resolves entity names to Credit Benchmark identifiers. Returns ranked candidates with confidence scores. # Available Data Columns Source: https://docs.creditbenchmark.com/api-reference/metadata/available-data-columns /openapi/consensus-data.yaml get /beta/metadata/columns Returns a flat catalog of public input columns with metadata such as type, scopeable, facetable, and entitlement. This endpoint describes request-side input columns only; it does not describe route response fields or result_filter fields. # Available Dates Source: https://docs.creditbenchmark.com/api-reference/metadata/available-dates /openapi/consensus-data.yaml get /beta/metadata/available-dates Returns latest and previous available effective dates for analytics requests. # Geography Schema Source: https://docs.creditbenchmark.com/api-reference/metadata/geography-schema /openapi/consensus-data.yaml get /beta/metadata/geography-schema Returns the CB geography hierarchy as region group, region, and country of risk levels. # Industry Schema Source: https://docs.creditbenchmark.com/api-reference/metadata/industry-schema /openapi/consensus-data.yaml get /beta/metadata/industry-schema Returns the CB industry hierarchy as L1 through L6 rows for scope filters, facets, and hierarchy-aware analytics. # Rating Scales Source: https://docs.creditbenchmark.com/api-reference/metadata/rating-scales /openapi/consensus-data.yaml get /beta/metadata/rating-scales Returns CB rating scale metadata, including CB21 and CB7 ordering and band mappings.