Portfolio exposure analysis is the work of finding how much of a loan book is open to one risk, such as an industry, a supplier country, a cost or a type of counterparty. When the risk matches a field in the loan system, it is a query. When it does not, someone has to read the credit files. This case study follows one such question at a fictional bank on one Monday morning, through Botminds' Commercial Loan Portfolio Analysis, whose agents read every credit file against a plain-words question and return each borrower with the page that proves it. The bank, its people and its borrowers are invented and every figure describing them is sample data; the regulations quoted are real.
Ashgrove Commerce Bank has 1,184 commercial relationships, 4,912 credit files and $6.42B committed in its commercial book as of 30 September 2026. Its board risk committee meets on Thursday 15 October, and the chair has asked about tariffs. The question lands on Owen Castellanos, director of commercial portfolio management, on the morning of Monday 12 October.
Monday morning, 08:30 to 09:31: where the minutes went
- Hotel question10 min
- Agents read 4,912 files, total and stress38 min
- Review6 min
- Approval7 min
08:30: the question nobody planned for
The board chair's question has three parts, and only one of them is in the loan system. Which of our commercial borrowers depend on imported inputs? How much do we have out to them? Who would fall below covenant if those costs rise? The loan system knows each borrower's NAICS code, commitment, outstanding balance, risk rating and maturity. It does not know that a fastener maker buys nearly half its cost of goods sold from two mills overseas.
The question is a fair one for a board to ask. In the Federal Reserve's October 2025 Senior Loan Officer Opinion Survey, a significant net share of banks said they had become “less likely to approve loan applications from firms of all sizes with high trade exposures” (SLOOS, October 2025). If lenders were already treating trade exposure as a risk factor at origination, a board can reasonably ask how much of it the existing book carries. The OCC's definition of a concentration covers this kind of risk: “direct, indirect, or contingent obligations” (Concentrations of Credit, v3.0), and supplier dependence is an indirect one.
How long does it take to answer a board question about the loan portfolio by hand?
At the sample bank, about six weeks: that is how long the last tariff question took when the board asked it. The route was the usual one. The portfolio team screened the book by industry code for manufacturers, wholesalers and retailers. It sent a spreadsheet to every relationship manager asking which of their borrowers imported, and waited for the replies. Three senior analysts, Kai Lindqvist among them, re-read about 400 files where the replies were thin or contradictory. Then someone totalled the exposure, ran a stress in a spreadsheet and wrote it up.
Where six weeks went last time, by the bank’s own estimate
| Step | Working days by hand | What made it slow |
|---|---|---|
| Screening the book by industry code | 2 | Choosing which codes count as trade-sensitive |
| Spreadsheets out to RMs, waiting for them back | 8 | Every RM answering from memory, then chasing the late ones |
| Re-reading memos, reviews and statements | 15 | About 400 files, three analysts |
| Totalling exposure and running the stress | 3 | Re-keying spreads, reconciling to the book |
| Writing and approving the board summary | 2 | Sources added by hand |
The result was still incomplete. A code screen looks only where the risk is expected. The bank found its steel and auto-parts borrowers and missed a solar installer whose code said construction. The answer also had no way to show what it did not know: a borrower missing from an RM's reply looked exactly like a borrower that did not import.
08:31: what is guarantor liquidity? Eleven hotel loans and one statement
Guarantor liquidity is the cash and readily saleable assets a guarantor could actually put behind a guaranty, and it is the warm-up question of the morning. Before the board's question, Owen clears one from Friday. Kai, renewing a hotel loan, had asked how many other hotel loans had a guarantor with thin liquidity. Owen types it in plain words: hotel loans over $5M whose guarantor has liquidity under 10% of the loan. The agents read 29 personal financial statements and 34 guaranty agreements and answer in 3 minutes 20 seconds. Eleven of the 34 hotel loans over $5M qualify, with $132.1M committed and $124.0M outstanding. Four of them also mature within 12 months with coverage under 1.20x.
Eleven of 34 hotel loans, each a dot and each a proof link

The definition is the part a credit officer should check first, and it sits on the answer. “Liquidity” here means cash and marketable securities on the guarantor's latest personal financial statement. Retirement accounts and real estate are left out, because the bank's guaranty policy §6.2 says so. On Riverside Lodging Partners the proof chip opens Daniel Voss's statement of 31 March 2026 at page 2, with the two counted lines highlighted and the division written out underneath.
The page behind the row: cash, securities, and what was left out

Owen compares with the 30 June book. There were 8 loans then and 11 now: Old Mill and Hocking Hills because guarantor liquidity fell, Short North because it is a new loan. He saves the question to re-run each quarter, next on 2 January 2027, and whenever a guarantor files a new statement. It is 08:40.
08:40 to 09:18: the files read, the answer tied to the book
Owen types the board's question as the chair asked it. The question planner turns it into a test in six seconds. “Depends on imported inputs” means imports of at least 20% of cost of goods sold, or one named foreign supplier, which is the bank's own setting. The screener pulls the commercial book at 30 September and ties it to $6.42B committed. It lists 412 relationships in trade-sensitive codes as first candidates, then passes every relationship to the reader, not only those. The credit file reader takes 31 minutes on all 4,912 files.
Thirty-eight minutes, agent by agent
| Agent | Time | What it produced |
|---|---|---|
| Question planner | 6 s | What counts: imports ≥ 20% of cost of goods sold, or one named foreign supplier; the stress and the coverage line |
| Portfolio screener | 41 s | 1,184 relationships, $6.42B committed; 412 in trade-sensitive codes; every relationship sent on to be read |
| Credit file reader | 31 min 12 s | 63 borrowers with a passage; 6 outside trade codes; 351 cleared with a passage; 4 not in file |
| Exposure calculator | 1 min 05 s | $611.4M committed, $438.7M outstanding, tied to the loan system’s book |
| Stress tester | 2 min 40 s | +15%, half passed through: 17 below 1.20x, $142.6M outstanding; 9 maturing within 12 months |
| Answer writer | 2 min 10 s | 63 passages cited, every number footnoted, 4 gaps named for their RMs |
At 09:18 the answer is on Owen's screen. Sixty-three borrowers in the commercial book depend on imported inputs: $611.4M committed, 9.5% of the book, and $438.7M outstanding. Each one is in because a file says so. The largest is Kessling Fastener & Wire, where an annual review says imported wire rod from Vietnam and Türkiye is about 46% of cost of goods sold.
The board’s question in Commercial Loan Portfolio Analysis: the cited answer and the six agents’ run

Why industry codes miss exposure: six borrowers the screen never saw
Industry codes describe what a borrower sells, not what it buys, so a dependence on imported inputs shows up only where the code happens to suggest it. The code screen would have found 57 of the 63. The other six sit in codes nobody would screen for tariffs: a solar installer, a flooring contractor, a pool builder, an IT reseller, a marine service yard and an event-rental firm, with $39.6M committed between them. Northfield Solar Installers buys 52% of its job cost from Vietnam and Malaysia, according to an RM call memo of 22 August. Under the stress its coverage falls from 1.44x to 1.01x.
What reading every file found that a code screen would not
57of 63
import-dependent borrowers the industry-code screen would have found
6
found only in the files, $39.6M committed, in codes that never looked exposed
351
relationships in trade-sensitive codes cleared, each with the passage showing domestic sourcing
4
borrowers the files could not answer for, $20.3M committed, named and not counted
The cleared names matter as much as the found ones. A code screen that lists 412 candidates leaves the team to prove a negative for each. Here 351 were cleared, and each clearance carries its own passage, such as Ohio Valley Millwork's annual review of 2 June 2026, at page 4. An examiner who asks why a furniture maker is not on the list gets a page, not an opinion. Why that matters more than it looks is the subject of what industry codes miss.
The four borrowers the files could not answer for are Sycamore Cabinetry, Elmhurst Medical Supply, Westlake Sign Company and Dunmore Pet Products, with $20.3M committed. Their memos and reviews do not say where inputs come from. The answer does not guess. It names them, leaves them out of the count and asks their RMs. A board told “63, plus four we are still confirming” is better informed than one told “63” or “about 65.”
09:18: how do you run a DSCR stress test on each borrower?
Take the borrower's latest audited spread, apply the shock only to the cost line the file supports, net off what the borrower can pass on, and divide the stressed cash flow by annual debt service. The stress is borrower by borrower, on each one's latest audited spread, and applies only to the imported share its own files state. On Kessling, the FY2025 spread shows revenue of $37.4M and cost of goods sold of $26.9M, of which $12.4M is imported. A 15% rise on that share costs $1.9M; passing half to customers recovers $0.9M. EBITDA falls from $4.0M to $3.1M against $2.9M of annual debt service. Coverage moves from 1.38x to 1.06x, below the 1.20x covenant, and the $12.0M revolver matures on 31 March 2027.
One borrower, three documents, the stress worked line by line

Across the 63, 17 fall below 1.20x at the board case, with $142.6M outstanding. Five of those also mature within 12 months: Kessling, Ashby Seating, Cardinal Furniture, Brightside Toys and Copperline Enclosures. Owen can move the input-cost rise, the share passed through and the coverage line. Asked what happens if costs rise 20% and only a quarter is passed on, the agents answer that 44 of the 63 fall below the line, with $308.6M outstanding, by the same method on each spread. The board case stays the one the summary leads with.
The method is the “bottom up” one in the OCC's community bank stress testing bulletin: transaction stress testing “estimates potential losses at the loan level by assessing the impact of changing economic conditions on a borrower's ability to service debt,” and portfolio results come from “aggregating the results of individual transaction level stress tests” (OCC Bulletin 2012-33). The bulletin's alternative, a “top down” loss rate on pools, would have said how much the bank might lose. It would not have named Kessling.
Credit committee report sample: what the 09:31 summary carried
A board summary on an exposure question should let a director see the answer, the method and the gaps on one page, and let an examiner trace any number to its source. The answer writer drafts it from the run: the question, the answer by industry, the stress, what the RMs are doing and the four unknowns, every number footnoted. Owen reviews it and sends it to Ruth Adebayo, the chief credit officer, at 09:24. She approves at 09:31, and the summary goes into the committee pack.
What the board summary on the import question carried, section by section
- The question and the definition used
Imports of at least 20% of cost of goods sold, or one named foreign supplier: the bank’s own test, printed, so the committee knows what “exposed” means.
- The book it was asked of, at one date
1,184 relationships, $6.42B committed at 30 September 2026, tied to the loan system before any total was shown.
- The answer in committed, outstanding and share of book
63 borrowers, $611.4M committed (9.5%), $438.7M outstanding, then the same by industry.
- The stress, with its assumptions in words
+15% on the imported share, half passed through, against the 1.20x policy line: 17 below, $142.6M outstanding.
- Timing
9 maturing within 12 months, 5 of them also below the line: the names to discuss first.
- What is not known
Four borrowers, $20.3M, whose files are silent: named, not counted, RMs asked.
- Actions and owners
Questionnaires through the RM team; earlier annual reviews where the stress bites; the question saved to re-run.
- Sources and approval
A footnote behind every figure, and the approver’s name and time.
Good — put the five maturing names first on Thursday.
Ruth Adebayo, the sample bank’s chief credit officer, approving the summary at 09:31
None of the agents contacted a borrower or changed a rating. The stress moved coverage on paper; any rating change goes through the bank's credit process. Tessa Moore's RM team receives the borrower questionnaire for Kessling and the other names where the stress bites, and sends it themselves.
What the clock leaves out
Fifty-one minutes is the visible part. Three things made it possible and none of them is speed. First, the definition was the bank's own and was printed on the answer, so the CCO approved a test she recognised. Second, totals were tied to the loan system at one as-of date, and the answer would have stopped if they had not tied. Third, every row carried its source. The OCC's portfolio booklet expects stress testing as part of monitoring and notes that “some banks use software to conduct multifactor stress conditions while other banks use simple spreadsheets” (OCC, 2026). The method matters less than whether someone can trace the result.
The question also did not end on Thursday. Owen saved it as a sweep that re-runs when a new memo, review or supplier list arrives and every Sunday at 06:00. How the roles divide around a morning like this is in credit portfolio management roles. What the four “not in file” borrowers say about trusting an AI answer is in the borrowers it says it cannot answer for. What six weeks of analyst time costs is in what a new portfolio question costs.
Questions people ask
What is portfolio exposure analysis in banking?
It measures how much of a loan book is open to one risk, such as an industry, a region, a collateral type, a counterparty type or a cost like imported inputs, and what that exposure would do under stress. In investment management the same phrase means factor exposure of a securities portfolio; in a bank it ends in committed and outstanding balances, coverage and the borrowers to call.
How do you analyse a loan portfolio's exposure to tariffs?
Define dependence in terms the files can confirm, such as an imported share of cost of goods sold or a named foreign supplier. Read each borrower's reviews, statement notes and supplier lists for it, rather than screening industry codes alone. Then stress coverage on each borrower's own spread, applying the rise only to the share the files support.
Which documents in a credit file show where a borrower's inputs come from?
Annual reviews and credit memos often state it in the business description; field exams and borrowing base work carry supplier lists with shares of purchases; RM call memos record surcharges and new suppliers; audited statements may carry a concentrations note. In the sample run, the largest borrower's dependence was stated in all three of a review, a field exam and a call memo.
Can a smaller bank do this from call report categories instead?
For a loss estimate, often yes: the OCC says that for most community banks “a simple, stressed loss-rate analysis based on call report categories may provide an acceptable foundation.” Call report categories cannot say which borrowers import, though, so a question about named exposure still needs the files.
Why stress debt service coverage rather than apply a loss rate?
A loss rate on a pool tells you the possible cost; a borrower-level coverage stress tells you which borrowers to call. A board question about who would breach covenant needs the second, and it should be run on the share of costs each file supports rather than on an industry average.
How often should an exposure question be re-run?
Whenever the evidence changes, and at least before each committee meeting. At the sample bank the import question re-runs when a new memo, review or supplier list arrives and every Sunday at 06:00, and the hotel question re-runs each quarter and whenever a guarantor files a new statement.