No estimate holds without stated inputs. The table below fixes every input as an EXAMPLE parameter in fictional cost units.
Parameter | Example value |
|---|---|
Team | 8 engineers. |
Reviews | 2 per engineer per day. |
Days | 20 working days per month. |
Input per review | 6000 tokens of diff plus context. |
Output per review | 1200 tokens of comments. |
Input price | 3 units per million tokens (example, not a real price). |
Output price | 12 units per million tokens (example, not a real price). |
Reruns | 1 in 10 reviews runs twice. |
Token counts vary by tokenizer: measure them on real diffs. Prices vary by provider and over time: treat the units above as placeholders.
The program below checks the same arithmetic the calc block shows by hand. Both use only the table parameters.
reviews per month = 8 x 2 x 20 = 320
input tokens = 320 x 6000 = 1920000 = 1.92 million
output tokens = 320 x 1200 = 384000 = 0.384 million
base cost = 1.92 x 3 + 0.384 x 12 = 5.76 + 4.608 = 10.368 units
with reruns: 10.368 x 1.1 = 11.4048 units, about 11.4 units/month
input share = 5.76 / 10.368 = 55.6%, output share = 44.4%; 55.6 + 44.4 = 100.0Result: about 11.4 cost units per month under these examples. Recommendation: budget 12 units and re-measure after the first month.
import sys
def monthly_cost(engineers, per_day, days, in_tok, out_tok, in_price, out_price, num, den):
reviews = engineers * per_day * days
in_tokens = reviews * in_tok
out_tokens = reviews * out_tok
base_mu = (in_tokens * in_price) // 1000 + (out_tokens * out_price) // 1000
total = base_mu * num / den / 1000
return reviews, in_tokens, out_tokens, base_mu, total
def main():
reviews, in_tokens, out_tokens, base_mu, total = monthly_cost(8, 2, 20, 6000, 1200, 3, 12, 11, 10)
if reviews != 320:
print("FAIL: reviews total is off")
sys.exit(1)
if in_tokens != 1920000:
print("FAIL: input tokens total is off")
sys.exit(1)
if out_tokens != 384000:
print("FAIL: output tokens total is off")
sys.exit(1)
if base_mu != 10368:
print("FAIL: base cost milli-units off")
sys.exit(1)
if "%0.2f" % total != "11.40":
print("FAIL: monthly total rounding off")
sys.exit(1)
print("PASS: 320 reviews cost 11.40 units with 10 percent reruns")
main()Volume scales the total linearly. The input and output price ratio decides whether shorter replies matter.
If this changes | Monthly total becomes |
|---|---|
Diff size doubles to 12000 input tokens | About 17.7 units. |
Reviews rise to 4 per engineer per day | About 22.8 units. |
Output price rises to 24 per million | About 16.5 units. |
Reviews double to 640, so the total doubles to about 22.8 units. Every term scales with review count.
Output cost becomes 0.384 x 24 = 9.216. Base is 5.76 + 9.216 = 14.976, times 1.1 is 16.4736, about 16.5 units.