River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Past Performance Reference Template

A register that dates every contract from the day performance ended, and counts every questionnaire on the official it was sent to.

Free download  ·  No account needed

Reference Register

One row per contract, and what each row has to carry

RowsEvery contract the company could ever offer
RescoredEvery solicitation, from the attributes
Never stored on a rowA relevancy score or a ranking

The two dates on every row

DateRuns fromCompared against
The window the work earnsCompletion of performanceProposal due date
The window the buyer statesWhatever the package namesProposal due date

Three years for most work, six for construction and design. A contract still in performance has no completion date, so no expiry.

Four cases, and only one of them is available

Inside both windowsSubmittable
Still in performanceSubmittable, no expiry
Inside its own, outside the buyer’sA question, not a nomination
Outside bothOff this bid, stays on the register

Then the person

The questionnaire goes to a named assessing official with a role at the customer. Two more gates sit there: whether they still hold the role, and whether anybody has asked them.

A reference ages from the day performance ended, not from the day it was awarded. Federal buyers use recorded performance information within three years of completion, and six on construction and design work, and the solicitation states its own window on top of that. So every contract on the register carries two expiry dates, both measured against the proposal due date. Tidewater Analytic Group holds ten. Two sit outside the window the day the register is rescored, and one of those two is the joint best fit it owns.

The relevancy score is not a property of a contract either. The solicitation describes the approach its evaluators will apply, and the selection authority decides what counts as relevant, so a score stored on a row belongs to a bid already decided. Then the questionnaire goes to a person: GSA's form asks for the assessing official by name, phone and role. One official here has been sent six and returned one, on the highest-scoring contract the company holds, and the last of those went out 21 days ago.

Which changes what gets submitted. The top three by relevancy score 16 and deliver an expected 9.25, against 14 and 10.42 for a different set, at 2.7 times the chance all three come back. Both cover all five required work elements on paper, and in expectation one covers 4.22 and the other 3.39, because two elements ride on the row that answers least often. The bid itself is the RFP response pack, and the obligations that reject a public bid unread are their own pack.

Which three, and whether they will answer

The Reference Register, the Contact Response Log, Relevancy Scoring, and the Nomination Set Comparison.

Reference Register

Tidewater Analytic Group, ten contracts, rescored 18 May 2026 against a 9 Jun proposal date. The recency floor is 9 Jun 2023.

RowCustomerCompletedIts own windowInside the stated window
C1Bureau of Land Management30 Sep 202430 Sep 2027Yes
C2Federal Aviation Administration31 Mar 202531 Mar 2028Yes
C3Department of CommerceIn performanceNo expiryYes
C4United States Mint14 Feb 202314 Feb 2026No, by 115 days
C5Naval Facilities Engineering Command3 Dec 20213 Dec 2027, six yearsNo, by 553 days
C6Defense Health Agency30 Jun 202530 Jun 2028Yes
C7Maryland Dept of Information Technology31 Aug 202431 Aug 2027Yes
C8Department of Energy28 Feb 202628 Feb 2029Yes
C9Cascade Regional Transit Authority31 Jan 202531 Jan 2028Yes
C10Department of Veterans Affairs17 Nov 202317 Nov 2026Yes

Eight of ten are inside the window. C4 covers all five required elements and scores six out of six on the stated tests, and it is 115 days too old. C5 earns six years because it is design and construction oversight, so it is a question for the question window rather than a nomination. Two more rows fall out on the person: C7’s official has left the role and nobody has ever asked C9’s. Six submittable rows for three slots.

Contact Response Log

One row per assessing official, kept apart from the register because answering is something a person does. The rate adds one to each side, so one for one does not read as certainty.

RowOfficialSentReturnedRate usedLast sent
C4L. Boateng440.833454 days ago
C8H. Kirwan330.800165 days ago
C2D. Whitcombe220.750248 days ago
C3P. Anand110.667697 days ago
C5J. Ferreira210.500556 days ago
C6M. Sandoval000.500Never asked
C9A. Ruzicka000.500Never asked
C10G. Halloran520.429116 days ago
C1R. Oyelaran610.25021 days ago
C7T. Brennan10Left the role308 days ago
All10 officials24140.583 

C1 is the highest relevancy score on the register and its officer has returned one questionnaire in six, the last of them 21 days ago on another bid. Nominating it here is the seventh ask and the second inside 22 days. The 0.583 on the bottom row describes the register and describes nobody on it, which is why no row is ever scored with it.

Relevancy Scoring

Rebuilt for this solicitation from the three tests it states. Scope counts the five required work elements, magnitude reads annual value against a $4M to $7M band, complexity is one point each for multiple sites and cleared staff.

RowElementsScopeMagnitudeComplexityRelevancySubmittable
C15 of 52226Yes
C45 of 52226Outside the window
C23 of 51225Yes
C83 of 51225Yes
C33 of 51214Yes
C52 of 51124Outside the window
C62 of 51124Yes
C72 of 51102Official has left
C102 of 51012Yes
C91 of 50000No consent on file

Components stay separate, because a four tells you nothing about whether the row lost a point on scope or on magnitude and those are fixed differently. The score stays on an unsubmittable row too: a six out of six that cannot be offered is worth one line on a sheet rather than a meeting. C3 scores four and carries the two work elements neither C2 nor C8 has, which no single number can say.

Nomination Set Comparison

Six submittable rows make twenty possible sets of three. Every one is scored, and the two that matter are the set a ranking picks and the set with the best expected figures.

SetRelevancy sumExpected relevancyAll three returnElements on paperExpected elements
C1 + C2 + C8169.250.1505 of 53.39
C2 + C3 + C81410.420.4005 of 54.22
C2 + C6 + C8149.750.3004 of 53.38
C3 + C6 + C8138.670.2675 of 54.07
C1 + C3 + C8158.170.1335 of 54.15
C1 + C2 + C3157.920.1255 of 54.06

Element by element, the two sets that both cover everything

Required elementC1 + C2 + C8C2 + C3 + C8
Network operations0.25, on C1 alone0.67, on C3
Security operations monitoring0.960.95
RMF and authorization packages0.960.95
Tier 2 and 3 service desk0.25, on C1 alone0.67, on C3
Asset and configuration management0.960.98

Both sets cover all five required elements, so a coverage checklist marks both complete and cannot separate them. Two of the five rest entirely on C1 in the first set, and C1’s officer answers one questionnaire in six. Two points of a relevancy sum nobody scores buys both elements a carrier who answers two in three, 2.7 times the chance all three come back, and most of a whole element of expected coverage.

What's in the pack

01

Reference Register

Every contract with both expiry dates, its work elements, its named assessing official and its consent state, measured against the proposal due date.

02

Contact Response Log

One row per official: questionnaires sent, returned, days since the last one, and a rate with one added to each side so a single return is not certainty.

03

Relevancy Scoring

Rebuilt for each solicitation from its own stated tests, components kept separate, and the elements each contract does not cover written out.

04

Nomination Set Comparison

Every possible set of the required size, scored on expected relevancy, the chance all of them return, and expected element coverage.

05

How a Reference Gets Chosen

One federal solicitation worked end to end across ten contracts, including the element-by-element table where the two orderings come apart.

06

Reference Profile Standard

The nine fields a register row carries before it can be scored, and the six ways rows get written so that nothing can be matched against them.

07

Consent Standard

Why a tick in a consent column records nothing, and the four facts that replace it: who, what scope, when, and how often they have been asked.

08

Nomination Note

What the proposal manager is signing off: the set, what was left out with the number that left it out, and the risk being accepted.

How it works

  1. 1

    Open it in River, or download it

    Edit with AI installs the pack as a private Space with the agent ready to read a solicitation. Download gives you the four sheets and four documents as Word files and CSV, with no account.

  2. 2

    Send the solicitation and the prior work

    The package with its attached reference form, then contract numbers, values, periods of performance and what the work covered. The field that changes the answer is who could assess each one and whether they have answered before.

  3. 3

    Rescore against this solicitation

    Both windows go on every row and get compared against the proposal date. Relevancy is computed from the attributes against the tests this package states, never carried over from the last bid it was scored for.

  4. 4

    Compare the set against the ranking

    Every possible set is scored on expected relevancy, the chance all of them return and expected element coverage. The Nomination Note says what was given up and what risk the signature accepts.

Frequently asked questions

Is this free?

The download is free and needs no account: four sheets and four documents, the same files the pack installs. Edit with AI creates a free account and opens the pack as a private Space with the agent primed to read a solicitation and build the register from your own contracts.

What format are the downloaded files?

The four documents come as .docx and the four sheets as .csv. Word, Pages and Google Docs open the documents, and Excel, Numbers and Sheets open the sheets. Nothing needs converting. Add ?format=pdf to the download if you want to read or circulate rather than fill in.

What does Edit with AI actually do?

It reads the solicitation for its own recency window and relevancy tests, builds the register with both expiry dates on every row, logs each assessing official's answering history, scores every contract against this package, and enumerates the sets. Whatever it cannot find, it names as an open field.

We already track references in a spreadsheet. What is different?

Three columns. An expiry date that runs from completion of performance rather than from award, a relevancy score recomputed per solicitation instead of stored, and questionnaires counted on the named official rather than on the customer. The set arithmetic only works once all three exist.

Where do the return rates come from if we have never tracked them?

From whatever is recoverable, which is usually prior proposals and a sent items folder. Where nothing exists, a row with no history takes the middle of the range rather than a guess, and this bid is where the record starts. Debriefs are the other place it turns up.

Does this write the past performance narrative?

No. It decides which contracts get nominated and fills in the reference form the package supplies, in its own field order. Each work description is written against this solicitation's element list, in the vocabulary an evaluator is matching against. The volume around them is separate work: reusable answer content and requirement extraction.

Our best reference is four years old. Is it really unusable?

It depends on the work. Construction and design contracts stay usable for six years from completion where most work gets three, so a four-year-old design contract may still be inside its own window while outside a flat three-year one a package states. That difference is a question for the question window.

Build the register before the next one asks for three

Take the Word documents and CSV sheets blank, or open this exact pack in River and have both expiry dates put on every contract you hold and every possible set of three scored on what it is expected to deliver.

Edit with AI