Model every bidder,
not the three there was time to reprice.
Your methodology is already defensible. We run the same discipline across every bidder and every contract mechanic, and hold the trace back to source when a bidder disputes a finding in the room.
What a hand-run exercise reaches
Left to an assumption
The limit is not rigor. It is how many cells fit in the hours.
Every additional bidder, and every additional mechanic within a bidder, costs hours to model by hand. So candidate lists stay short, and the long tail resolves to an assumption in an exercise where each bidder controls how their own terms get presented.
“Repricing exercises based on past claims is one thing; determining the best partner and contract for the future is another.”
12 months of claims. Every bidder applies their terms to the same rows, on one template, without altering the data.
Repriced at current list prices
rather than prices contemporaneous with the claims period
Rebate guarantee on a narrow drug list
quoted against a broad portfolio
High-cost claims missing
carve-outs and alternative funding vendors excluded from the file
Discount-card distortion
cash-card fills reported inside the guarantee
bidders in a typical PBM RFP, ideally including at least one pass-through model so structures can be compared, not just prices
minimum claims detail the standard exercise requires
between full RFPs per client, which makes the annual market check the recurring deliverable
What actually happens to the contract.
The contract becomes executable rules, and the rules run against the claims. Nothing here summarizes the document or forms an opinion about it.
rebate ≥ floor × gen_rateContracts compile
Definitions, discount tiers, dispensing fees, rebate mechanics, exclusions, carve-outs and adjudication order become executable logic. Terms that do not resolve to one rule are flagged rather than guessed.
Claims price line by line
Every bidder's rules run against the same claims, at prices contemporaneous with the claims period rather than at current list.
Ambiguity gets priced
Where a term admits more than one reading, we price every reading and report the spread. That is a finding, not a caveat, and it is not a price study.
Every step holds a trace
Each figure resolves to the contract line, the clause and the claim rows that produced it. Same inputs, same output, every run.
Built for the moment a bidder pushes back.
The output has to survive scrutiny with the vendor in the room. That constraint shaped it.
credit = Σ(claims where generic_rate ≥ floor) × rebate_per_scriptCompiled from the clause text itself.
Every claim in the population opens the same way.
Deterministic, not probabilistic
The contract is compiled to logic and the logic is executed. There is no model forming an opinion about what a clause probably means, so the same contract and claims return the same number every time.
Clause-level trace on every step
Each figure resolves to the clause, the contract line and the claim rows that produced it. It is a trace, not a citation to the document. When a bidder disputes a finding, the trace is the response.
Full coverage of the bidder field
Every bidder and every mechanic, including the ones that would have been assumed away. The marginal cost of one more bidder goes to roughly zero, which is what changes about your candidate lists.
Priced ambiguity as a separate finding
A repricing platform prices claims against a database of rates. This prices the readings a term admits when it does not resolve. Different question, different output, different negotiating leverage.
Where this lands in your engagement.
Two recurring motions, not one, on very different clocks.
Your relationship: continuous, and judged every year.
Market check: newly proposed rates against prior-year utilization. No RFP, no bidders.
Full RFP: the visible deliverable, and the rarest one.
An RFP engagement is won
The repricing work is now scoped and resourced against a fixed fee.
The annual market check
Newly proposed rates applied against prior-year utilization. Recurring, and it needs no RFP.
A bidder disputes a finding
The trace back to contract language gets tested in front of the client.
A capacity ceiling
More RFP demand than senior analyst hours can cover without adding headcount.
An indefensible model
A junior analyst's output produces a number the principal cannot fully stand behind.
A question about undefined terms
A client asks what the ambiguity in their current contract is worth, which a rate study cannot answer.
What we expect you to interrogate.
On coverage, not capability. Your methodology is sound; the constraint is that every bidder and every mechanic you model has marginal cost, so the field stays short and the tail gets assumed. This removes the constraint, which is a different claim from doing your work faster.
The contract is compiled into executable rules and those rules run against the claims. Same contract and same claims produce the same number every time. Nothing here is a model's opinion, and every step resolves to the clause that produced it, which is the part that matters when a bidder is arguing with you.
Two questions worth putting to your last analysis: how did it define the specialty list, and which terms in the contract were undefined? And what was that worth? If it answered both, you are in good shape.
That is the right objection, and the one we take most seriously. A repricing platform prices claims against a rate database, so it can only be as right as that database. Priced ambiguity asks something else: when a term does not resolve to a single rule, what does each reading cost? That is not a finer price study.
They are reported as unresolved and priced across their readings, never silently defaulted. An assumption that disappears into a total is the failure mode this exists to remove.
Bring one bidder field.
Send the claims file and every bidder's contract, including the ones there was no time to reprice by hand. Then check the trace on any number you doubt.
Send one file and one contract.
If it is easier to test on something you already know the answer to, send a completed engagement and compare.