Skip to content

Auditable Kinesis and DynamoDB capacity and cost model

Last calculated: 2026-08-22 (Asia/Dubai)

This is the quantitative control sheet for the Kinesis chapter and the later cross-service cost chapter. Formulas are region-independent. Mutable price inputs are isolated in one table and use eu-west-1. The examples are planning estimates, not invoices: inputs are distributions and rounded estimates, AWS billing has more dimensions, and a workload test must validate skew and consumer throughput.

The DynamoDB section appended below uses the same discipline: raw item/index sizes remain separate from API-specific rounding, transaction multipliers, and replica/index amplification. It does not change any Task 5 inputs or results.

The reliability section appended at the end uses planning inputs rather than AWS prices or guarantees. It keeps attempts, requests per second, seconds, records, and capacity shares dimensionally separate.

  • B = byte; KiB = 1,024 B; MiB = 1,048,576 B; GiB = 2^30 B.
  • AWS capacity documentation uses MB/s for the sustained shard baselines. In this model, shard capacity math uses the documented decimal 1,000,000 B/s write and 2,000,000 B/s read limits. Do not silently substitute MiB/s.
  • The current pricing page calls its billing unit GB but illustrates binary conversion. This model converts metered bytes using 2^30 B and labels the result modeled billing GB; confirm the calculator/invoice convention before a financial commitment.
  • Raw bytes are the payload bytes carried by the workload. Billed bytes apply the service's record/payload-unit rounding. Base64 and Lambda event envelope expansion matter to Lambda's 6 MB synchronous invocation payload, not to the raw Kinesis record-size input.

Inference: the following documented capacity/record facts are the planning inputs below; they were retrieved 2026-08-22 from Kinesis quotas and large-record behavior (C15,C17,C71; A16,A95):

  • one provisioned shard sustains up to 1 MB/s or 1,000 records/s writes and up to 2 MB/s reads;
  • a stream defaults to a 1 MiB maximum record, can be configured up to 10 MiB where supported, and the 1–10 MiB feature is for intermittent burst records rather than sustained large-record ingestion;
  • enhanced fan-out supplies a registered consumer up to 2 MB/s/shard of dedicated read throughput; standard consumers share the shard read capacity.
SymbolUnitMeaning
r_avg, r_peakrecords/sAverage and design-peak producer rate. Use a percentile/window, not the maximum of one sample.
b_avg, b_p99B/recordRaw average and tail payload sizes, including the Kinesis partition key where the API limit requires it.
fcountConsumers that each read the full stream. Separate standard and enhanced-fan-out consumers.
k_skewratio >= 1Hottest-shard rate divided by average shard rate under the proposed key. Derive from measurements; do not guess permanently.
u_targetratio in (0,1)Target maximum utilization after applying skew, leaving retry/recovery headroom.
SshardsOpen provisioned shards or the modeled shard-equivalent capacity.
w_shardB/sSustained write byte capacity per shard (1,000,000).
n_shardrecords/sSustained write record capacity per shard (1,000).
q_shardB/sSustained read capacity per shard (2,000,000).
t_outsConsumer outage or producer-over-consumer interval.
murecords/sSustainable consumer commit rate, including downstream writes and retries.
lambdarecords/sArrival rate during recovery.
B0recordsBacklog at recovery start.
rho_retryratioAdditional producer or consumer work caused by retry/replay.
TsBilling interval; example month is 30 days = 2,592,000 s, while hourly inputs use 720 h.

Track rate and bytes independently. A stream can hit the record limit with tiny events or the byte limit with large ones.

The verifier parses this delimited block as the single calculation input source, recomputes every core output and sensitivity, and compares those results with the printed examples below. Change inputs here, then update the rendered explanation only after the verifier reports every affected value.

Model details · task5 model values
r_avg=5000
r_peak=8000
b_avg=700
k_skew=1.25
u_target=0.80
write_shard_Bps=1000000
write_shard_rps=1000
read_shard_Bps=2000000
full_stream_consumers=2
outage_seconds=900
recovery_mu=9000
recovery_slow_mu=6000
skew_sensitivity=1.50
double_peak_rps=16000
month_seconds=2592000
month_hours=720
od_in_price=0.091
od_out_price=0.045
od_stream_hour_price=0.045
provisioned_shard_hour_price=0.017
provisioned_million_put_price=0.0165
provisioned_efo_hour_price=0.017
provisioned_efo_read_price=0.0147
advantage_commitment_MiBps=25
advantage_in_price=0.0364
advantage_out_price=0.018
raw_write_Bps = r * b_avg
byte_shards = ceil(raw_write_Bps / w_shard)
record_shards = ceil(r / n_shard)
base_shards = max(byte_shards, record_shards)
planned_shards = ceil(max(raw_write_Bps / w_shard,
r / n_shard) * k_skew / u_target)
effective_rps_capacity = planned_shards * n_shard * u_target / k_skew
effective_Bps_capacity = planned_shards * w_shard * u_target / k_skew
headroom_rps = effective_rps_capacity - r_peak
headroom_ratio = effective_rps_capacity / r_peak - 1

Inference: k_skew is a workload property, not a shard-count magic factor. More shards can reduce collisions among many keys, but cannot spread one partition key: that key still maps to one shard. If one_key_Bps > w_shard or one_key_rps > n_shard, change the ordering scope/key or accept serialization and shed/admit work; resharding alone cannot fix it (C75; A95,A97, retrieved 2026-08-22).

raw_read_Bps = raw_write_Bps * f
standard_shared_capacity_Bps = S * q_shard
standard_read_ok = sum(full_stream_standard_consumer_Bps)
<= standard_shared_capacity_Bps
efo_capacity_per_consumer_Bps = S * q_shard
efo_read_ok = each_consumer_Bps <= efo_capacity_per_consumer_Bps

These are source-read limits, not downstream commit rates. A Lambda concurrency limit, DynamoDB hot key, network call, schema poison record, or checkpoint policy can bind first.

Backlog growth, drain, and retention margin

Section titled “Backlog growth, drain, and retention margin”
backlog_growth_rps = max(0, lambda - mu)
backlog_after_t = B0 + backlog_growth_rps * t
outage_backlog_records = lambda * t_out
outage_backlog_bytes = outage_backlog_records * b_avg
if mu <= lambda: drain_time = infinite
if mu > lambda: drain_time = B0 / (mu - lambda)
recovery_finish_age = t_out + drain_time
retention_margin = configured_retention - recovery_finish_age

Run the calculation per consumer and, where skew matters, per key/shard. Add retry/replay amplification: effective_mu = measured_commits / (1 + rho_retry). Require retention margin for detection, deployment, operator decision, and a slower-than-modeled drain; “positive by seconds” is not an operable recovery plan.

Illustrative assumptions, chosen for arithmetic clarity rather than as a claim about the reference repository:

InputValue
Average rate5,000 records/s
Design peak8,000 records/s
Average raw payload700 B
Measured skew factor1.25 hottest/average
Target utilization0.80
Full-stream consumers2
Consumer outage900 s
Measured recovery commit rate9,000 records/s while live arrival remains 5,000 records/s

Calculation:

average raw write = 5,000 * 700 = 3,500,000 B/s = 3.5 MB/s
peak raw write = 8,000 * 700 = 5,600,000 B/s = 5.6 MB/s
peak byte baseline = ceil(5.6 / 1) = 6 shards
peak record baseline = ceil(8,000 / 1,000) = 8 shards
planned shards = ceil(max(5.6, 8) * 1.25 / 0.80) = 13
effective record capacity = 13 * 1,000 * 0.80 / 1.25 = 8,320 records/s
modeled headroom above 8,000 peak = 320 records/s = 4%

That 4% is headroom after the modeled 20% utilization reserve and 1.25 skew factor; it is not permission to ignore a worse key distribution. Sensitivity: k_skew = 1.5 needs 15 shards at the same peak/utilization, while doubling peak to 16,000 records/s needs 25 shards. Always load-test the key distribution.

The two consumers together read 7.0 MB/s raw at average traffic. Thirteen shards expose 26 MB/s shared standard-read capacity in the ideal aggregate, but multiple standard consumers contend per shard. Enhanced fan-out gives each registered consumer its own per-shard pipe. Neither option proves the two sinks can commit 5,000 records/s.

Backlog:

outage backlog = 5,000 * 900 = 4,500,000 records
raw backlog = 4,500,000 * 700 = 3.15 GB (decimal)
net drain rate = 9,000 - 5,000 = 4,000 records/s
ideal drain = 4,500,000 / 4,000 = 1,125 s = 18.75 minutes
age at finish = 15 + 18.75 = 33.75 minutes, before detection/deploy/retry margin

If recovery capacity falls to 5,000 records/s, drain time is infinite. If it is 6,000, ideal drain is 75 minutes. This sensitivity matters more than a single precise-looking estimate.

Billing formulas: raw bytes are not billed units

Section titled “Billing formulas: raw bytes are not billed units”

Current price semantics were retrieved 2026-08-22 from the Kinesis pricing page and eu-west-1 values from the dated AWS Price List offer snapshot, published 2026-08-13 (C49,C78; A46,A99).

billable_ingest_bytes_per_record = ceil(raw_record_bytes / 1,024) * 1,024
modeled_ingest_GB = records * billable_ingest_bytes_per_record / 2^30
modeled_read_GB = records * raw_record_bytes * full_stream_reads / 2^30
cost = ingest_GB * P_od_in
+ standard_read_GB * P_od_out
+ efo_read_GB * P_od_efo_out
+ stream_hours * P_od_stream_hour
+ retention + transfer + consumer_compute + sinks + operations
put_units_per_record = ceil(raw_record_bytes / 25 KiB)
put_units = records * put_units_per_record
cost = shard_hours * P_shard_hour
+ put_units / 1,000,000 * P_million_put_units
+ efo_consumer_shard_hours * P_efo_consumer_shard_hour
+ efo_read_GB * P_efo_read_GB
+ retention + transfer + consumer_compute + sinks + operations

PutRecords batching reduces HTTP/API calls; provisioned PUT billing still counts 25 KiB chunks per record. KPL aggregation can change how many Kinesis records are billed, but adds buffering/deaggregation and order compatibility constraints. Model the actual producer behavior, not just logical user-event count.

account_billed_ingest_rate = max(actual_aggregate_rate, 25 MiB/s commitment)
account_billed_read_rate = max(actual_aggregate_rate, 25 MiB/s commitment)
cost = committed_or_actual_ingest_GB * P_adv_in
+ committed_or_actual_read_GB * P_adv_out
+ retention + transfer + consumer_compute + sinks + operations

Advantage is an account-level regional decision across all on-demand streams, not a per-stream toggle. It removes the Standard fixed stream-hour and EFO price premium, supports warm throughput, and carries the current 25 MiB/s ingest plus 25 MiB/s retrieval commitment (C70; A95, retrieved 2026-08-22). AWS's pricing and developer pages use both MB/s and MiB/s typography; this model uses the developer guide's MiB/s wording and requires calculator confirmation before commitment.

DimensionInputUnit
On-demand Standard Data-In$0.091modeled billing GB
On-demand Standard standard Data-Out$0.045modeled billing GB
On-demand Standard EFO Data-Out$0.057modeled billing GB
On-demand Standard stream$0.045stream-hour
On-demand Advantage actual Data-In$0.0364modeled billing GB
On-demand Advantage ingestion shortfall$0.0364modeled billing GB
On-demand Advantage actual Data-Out$0.018modeled billing GB
On-demand Advantage retrieval shortfall$0.018modeled billing GB
Provisioned shard$0.017shard-hour
Provisioned PUT payload unit$0.0165million 25 KiB units
Provisioned EFO registration$0.017consumer-shard-hour
Provisioned EFO retrieval$0.0147modeled billing GB
Provisioned extended retention, 1–7 days$0.023extended shard-hour
Long-term retention storage beyond 7 days$0.023GB-month

The current Price List exposes separate actual-usage and shortfall operations for Advantage ingest and retrieval at the same respective rates. The verifier selects and asserts all four operations, not merely similarly named products; a later audit must refresh publication date and price dimensions.

Worked cost estimate for the execution feed

Section titled “Worked cost estimate for the execution feed”

Assume 30 days (2,592,000 s, 720 h), 5,000 records/s, 700 B raw records, two full-stream consumers, one-day retention, same-Region transfer, and exclude Lambda/Flink, DynamoDB/OpenSearch/S3, CloudWatch, KMS, replay, support, and staff cost. Exclusions are material and printed to prevent false comparison.

raw volume = 8,448.96 modeled GB/month
1 KiB-rounded input = 12,359.62 modeled GB/month
two raw reads = 16,897.92 modeled GB/month
On-demand Standard:
Data-In = 12,359.62 * 0.091 = $1,124.73
Data-Out = 16,897.92 * 0.045 = $760.41
stream = 720 * 0.045 = $32.40
unrounded subtotal = $1,917.53; report about $1,918/month
Provisioned, 13 shards, two EFO consumers:
shard hours = 13 * 720 * 0.017 = $159.12
PUT units = 12.96B * 0.0165 / 1M = $213.84
EFO hours = 13 * 2 * 720 * 0.017 = $318.24
EFO reads = 16,897.92 * 0.0147 = $248.40
unrounded subtotal = $939.60; report about $940/month

This example suggests provisioned can be cheaper for this predictable shape; it does not establish a universal break-even. Standard GetRecords could remove EFO charges but changes contention/latency; KPL aggregation could change PUT units; on-demand has operational value; skew may require more shards; and all excluded downstream/operational costs can dominate. Report the comparison as roughly $1.9k versus $0.94k under printed assumptions, not cents.

At the current Advantage minimum, 25 MiB/s in and 25 MiB/s out for 30 days is 63,281.25 modeled GB in each direction before higher actual usage. At the dated rates, that is roughly $3.4k/month before retention/downstream costs. Therefore this one stream alone is below the commitment; aggregate all regional on-demand streams and EFO use before deciding.

Recalculate at least these cases:

  1. r_peak / 2, r_peak * 2, and a tenfold short burst;
  2. k_skew = 1.0, measured value, and an incident value;
  3. one consumer versus doubled fan-out, standard versus EFO;
  4. 700 B versus 1,025 B to expose on-demand 1 KiB rounding;
  5. aggregation off/on with its buffering and deaggregation constraints;
  6. outage and drain with mu <= lambda, narrow positive margin, and target recovery headroom;
  7. live plus replay load, including downstream writes and duplicate attempts;
  8. retention that expires before detection + deploy + drain;
  9. On-demand Standard versus account-level Advantage commitment versus provisioned shards;
  10. Lambda/Flink, sinks, storage, logs/metrics, KMS, transfer/NAT, support, and engineering/on-call cost.

Before publication: re-download the offer file, assert Region/publication date, recompute every number independently, and round conclusions to the uncertainty of the workload assumptions.

Last validated: 2026-08-22. The formulas are Region-independent. No DynamoDB price is multiplied here, so there is no hidden Region price input; a later price example must use a dated eu-west-1 offer and keep table, index, global replica, backup/export, Streams, transfer, KMS, and observability dimensions separate.

Current standard reads round evaluated data in 4 KiB units: strongly consistent reads use one unit per chunk, eventually consistent reads use one-half, and transactional reads use twice the strong amount. Standard writes round each item to 1 KiB. A transaction consumes two underlying operations for each base item it targets; indexes are not transaction targets, so asynchronously maintained GSI entries are added at ordinary index-write cost after commit. Query charges evaluated bytes before its filter, BatchGetItem rounds each item, and an update is based on the larger before/after item. (C82,C83; A100,A101,A104, retrieved 2026-08-22.)

Let ceil_q(x) = ceil(x/q). Then:

strong_read(x KiB) = ceil_4(x)
eventual_read(x KiB) = 0.5 * ceil_4(x)
transactional_read(x) = 2 * ceil_4(x)
standard_write(x KiB) = ceil_1(x)
transactional_base(x) = 2 * ceil_1(x)
logical_transaction = sum(transactional base targets) + sum(ordinary GSI entries)
moved_index_key = base update + old index delete + new index put
sparse_index_enter = one index put when indexed attributes appear
sparse_index_leave = one index delete when indexed attributes disappear
sparse_index_key_move = old index delete + new index put

The verifier owns these exact inputs and compares every printed result.

Model details · task6 capacity values
write_kib=1.2
index_kib=0.6
moved_old_kib=0.35
moved_new_kib=0.35
read_kib=10
query_items=40
query_item_bytes=600
query_returned=4
batch_a_kib=1.5
batch_b_kib=6.5
txn_order_kib=1.2
txn_idem_kib=0.7
txn_outbox_kib=1.6
txn_sentinel_present=1
txn_sentinel_kib=0.2
txn_gsi_count=3
txn_order_account_gsi_kib=0.45
txn_order_status_gsi_kib=0.35
txn_outbox_ready_gsi_kib=0.45
ap01_peak_s=2000
ap02_peak_s=1200
ap03_peak_s=400
ap04_peak_s=1500
ap05_peak_s=1000
ap06_peak_s=2000
ap07_peak_s=3000
ap08_peak_s=2000
ap09_peak_s=5000
ap10_peak_s=1500
ap11_peak_s=300
ap12_peak_s=2000
ap13_peak_s=5000
ap14_peak_s=20
ap15_peak_s=200
ap17_peak_s=2000
ap18_peak_s=100
ap06_requests_s=2000
ap06_pages_per_request=1
ap06_items_per_page=100
ap06_item_kib=0.4
ap06_top_symbol_share=0.08
partition_read_units_s=3000
target_partition_utilization=0.80
ap09_write_s=5000
ap09_receipt_kib=0.35
ap09_protected_state_kib=0.8
ap13_write_s=5000
ap13_checkpoint_kib=0.3
ap16_create_s=5000
ap16_claim_s=5100
ap16_complete_s=5000
ap16_retry_s=100
ap16_reschedule_s=20
ap16_ready_index_kib=0.45
partition_write_units_s=1000
ledger_max_postings_account_month=2000000
ledger_posting_kib=0.6
ledger_bucket_max_postings=250000
ledger_bucket_max_kib=150000
Result IDCalculationResult
standard_write_unitsceil(1.2 / 1)2
base_plus_index_unitsceil(1.2) + ceil(0.6)3
moved_index_unitsceil(1.2) + ceil(0.35 old delete) + ceil(0.35 new put)4
strong_read_unitsceil(10 / 4)3
eventual_read_units0.5 * ceil(10 / 4)1.5
transactional_read_units2 * ceil(10 / 4)6
query_eventual_units0.5 * ceil(24,000 / 4,096)3
batch_eventual_units0.5 * (ceil(1.5 / 4) + ceil(6.5 / 4))1.5
accepted_order_v1_base_txn_units2 * (ceil(1.2)+ceil(0.7)+ceil(1.6)+1*ceil(0.2))12
accepted_order_v1_gsi_unitsceil(0.45)+ceil(0.35)+ceil(0.45)3
accepted_order_v1_total_units12 + 315
ap06_page_kib1 * 100 * 0.440
ap06_eventual_rru_per_page0.5 * ceil(40/4)5
ap06_aggregate_rru_s2,000 * 510000
ap06_top_symbol_rru_s10,000 * 0.08800
ap06_shardsceil(800 / (3,000 * 0.80))1
ap09_atomic_path_wru_per_event2 * (ceil(0.35)+ceil(0.8))4
ap09_receipt_wru_per_event2 * ceil(0.35)2
ap09_receipt_aggregate_wru_s5,000 * 210000
ap09_receipt_shardsceil(10,000 / (1,000 * 0.80))13
ap09_receipt_per_shard_wru_s10,000 / 13769.23
ap09_receipt_headroom_percent(800 - 769.2308) / 800 * 1003.85
ap13_checkpoint_wru_per_eventceil(0.3)1
ap13_checkpoint_aggregate_wru_s5,000 * 15000
ap13_checkpoint_shardsceil(5,000 / (1,000 * 0.80))7
ap13_checkpoint_per_shard_wru_s5,000 / 7714.29
ap13_checkpoint_headroom_percent(800 - 714.2857) / 800 * 10010.71
ap16_create_base_wru_s5,000 * ceil(1.6) * 220000
ap16_claim_base_wru_s5,100 * ceil(1.6)10200
ap16_complete_base_wru_s5,000 * ceil(1.6)10000
ap16_retry_base_wru_s100 * ceil(1.6)200
ap16_reschedule_base_wru_s20 * ceil(1.6)40
ap16_base_total_wru_s20,000+10,200+10,000+200+4040440
ap16_ready_create_insert_wru_s5,000 * ceil(0.45)5000
ap16_ready_claim_delete_wru_s5,100 * ceil(0.45)5100
ap16_ready_retry_insert_wru_s100 * ceil(0.45)100
ap16_ready_reschedule_move_wru_s20 * 2 * ceil(0.45)40
ap16_no_retry_move_floor_index_wru_s5,000 inserts + 5,000 deletes10000
ap16_ready_index_wru_s5,000+5,100+100+4010240
ap16_ready_shardsceil(10,240 / (1,000 * 0.80))13
ap16_per_shard_wru_s10,240 / 13787.69
ap16_headroom_percent(800 - 787.6923) / 800 * 1001.54
ap16_total_lifecycle_wru_s40,440+10,24050680
ledger_month_kib2,000,000 * 0.61200000
ledger_sub_bucketsmax(ceil(2,000,000/250,000), ceil(1,200,000/150,000))8
ledger_bucket_max_mib150,000 / 1,024146.48
Model details · task6 result
TASK6_RESULT|standard_write_units|2
TASK6_RESULT|base_plus_index_units|3
TASK6_RESULT|moved_index_units|4
TASK6_RESULT|strong_read_units|3
TASK6_RESULT|eventual_read_units|1.5
TASK6_RESULT|transactional_read_units|6
TASK6_RESULT|query_eventual_units|3
TASK6_RESULT|batch_eventual_units|1.5
TASK6_RESULT|accepted_order_v1_base_txn_units|12
TASK6_RESULT|accepted_order_v1_gsi_units|3
TASK6_RESULT|accepted_order_v1_total_units|15
TASK6_RESULT|ap06_page_kib|40
TASK6_RESULT|ap06_eventual_rru_per_page|5
TASK6_RESULT|ap06_aggregate_rru_s|10000
TASK6_RESULT|ap06_top_symbol_rru_s|800
TASK6_RESULT|ap06_shards|1
TASK6_RESULT|ap09_atomic_path_wru_per_event|4
TASK6_RESULT|ap09_receipt_wru_per_event|2
TASK6_RESULT|ap09_receipt_aggregate_wru_s|10000
TASK6_RESULT|ap09_receipt_shards|13
TASK6_RESULT|ap09_receipt_per_shard_wru_s|769.23
TASK6_RESULT|ap09_receipt_headroom_percent|3.85
TASK6_RESULT|ap13_checkpoint_wru_per_event|1
TASK6_RESULT|ap13_checkpoint_aggregate_wru_s|5000
TASK6_RESULT|ap13_checkpoint_shards|7
TASK6_RESULT|ap13_checkpoint_per_shard_wru_s|714.29
TASK6_RESULT|ap13_checkpoint_headroom_percent|10.71
TASK6_RESULT|ap16_create_base_wru_s|20000
TASK6_RESULT|ap16_claim_base_wru_s|10200
TASK6_RESULT|ap16_complete_base_wru_s|10000
TASK6_RESULT|ap16_retry_base_wru_s|200
TASK6_RESULT|ap16_reschedule_base_wru_s|40
TASK6_RESULT|ap16_base_total_wru_s|40440
TASK6_RESULT|ap16_ready_create_insert_wru_s|5000
TASK6_RESULT|ap16_ready_claim_delete_wru_s|5100
TASK6_RESULT|ap16_ready_retry_insert_wru_s|100
TASK6_RESULT|ap16_ready_reschedule_move_wru_s|40
TASK6_RESULT|ap16_no_retry_move_floor_index_wru_s|10000
TASK6_RESULT|ap16_ready_index_wru_s|10240
TASK6_RESULT|ap16_ready_shards|13
TASK6_RESULT|ap16_per_shard_wru_s|787.69
TASK6_RESULT|ap16_headroom_percent|1.54
TASK6_RESULT|ap16_total_lifecycle_wru_s|50680
TASK6_RESULT|ledger_month_kib|1200000
TASK6_RESULT|ledger_sub_buckets|8
TASK6_RESULT|ledger_bucket_max_mib|146.48

Inference: The named accepted_order_v1 variant targets four base items: order, idempotency result, outbox event, and AP17 sentinel. Their rounded units sum to six and the transaction's two operations make 12. After commit, the two order GSIs and AP16 READY GSI add three ordinary index units, for 15 total—not 2 × (base + indexes). Record ConsumedCapacity by AP/table/index and validate serialized sizes (C95; A100,A101,A104, retrieved 2026-08-22).

The Query returning only four rows still evaluates 24,000 bytes and consumes three eventual units. The BatchGet example is also 1.5 units, but for a different reason: each item rounds before summation. Mutation fixtures move every input across a billing bucket, proving the results are not hard-coded.

Inference: AP06 assumes one 100-item page/request and 0.4 KiB/index item. That is 40 KiB and five eventual read units/query: 10,000 units/s aggregate at 2,000 queries/s. An 8% top-symbol share is 800 units/s, so the formula selects one shard under a 2,400-unit/s target. These are planning assumptions, not measured traffic (C87; A22,A105, retrieved 2026-08-22; F24,F32,F33).

Inference: AP09 atomically targets one 0.35-KiB receipt and one 0.8-KiB protected-state item. Both round to one base write and the transaction multiplier makes four WRU/event total. Capacity placement is separate: the receipt lane alone is two WRU/event, so 5,000 events/s needs thirteen deterministic event-ID shards at the 800-WRU/s target (769.23/shard, 3.85% headroom). The protected state must bind to its own AP lane and measured key distribution; this receipt calculation cannot authorize it. AP13 uses one ordinary sub-1-KiB conditional write/event, so 5,000/s needs seven deterministic source-key shards (714.29/shard, 10.71% headroom). Both mappings are versioned for a drain/reconcile/cutover rather than changing N in place (C87,C90,C95; A20,A22,A100,A101,A105, retrieved 2026-08-22; F11,F24,F32,F33).

Inference: AP16's balanced steady planning lifecycle is 5,000 creates/s, 5,100 claims/s, 5,000 completions/s, 100 retries/s, and 20 READY-key reschedules/s. READY and IN_FLIGHT populations are therefore stable: claim = create+retry = complete+retry. Sub-1-KiB GSI work is 5,000 create inserts, 5,100 claim deletes, 100 retry inserts, and 20 delete+put moves = 10,240 units/s. The no-retry/no-move floor is 10,000. Thirteen shards yield 787.69 units/s/shard and 1.54% headroom below the 800 target. Base create/claim/ complete/retry/reschedule work is respectively 20,000/10,200/10,000/200/40, or 40,440 units/s; full lifecycle work is 50,680 units/s. These are planning assumptions, not measured traffic (C87,C95; A100,A104,A105, retrieved 2026-08-22).

Inference: AP10/AP11 admit at most 2,000,000 postings/account/month at 0.6 KiB each (1,200,000 KiB). A deterministic sequence-range sub-bucket rolls at 250,000 postings or 150,000 KiB, whichever comes first; the example therefore requires eight buckets with a 146.48 MiB byte ceiling. Reject/escalate beyond the monthly cap instead of silently growing one key (C87,C95; A100,A104,A105, retrieved 2026-08-22).

Inference: For MREC with r replica Regions, separately model the applicable replicated write units for each replica and TTL replicated deletes. Do not multiply a local transactional assumption into MRSC: current MRSC tables do not support transaction APIs (C85,C89; A107, retrieved 2026-08-22).

Last validated: 2026-08-22. This reusable model deliberately uses modeled cost units (CU) rather than mutable AWS prices. One CU must represent the same fully loaded economic unit on both sides of the equation. Task 10 can replace each coefficient with dated eu-west-1 service, storage, and labor prices while preserving the dimensional formula (C49,C102; F19,F20).

Reads and writes are measured in millions of logical operations per month. Variable coefficients are CU per million reads or writes; fixed burden is CU per month. Transport, projection/index writes, storage, replay/rebuild, reconciliation, and fixed engineering/on-call burden remain separate so no free projection is smuggled into the ratio.

Model details · task7 cqrs values
writes_million=10
reads_million=85
read_work_avoided_cu_per_million=1.8
transport_cu_per_million_writes=0.2
projection_write_cu_per_million_writes=0.5
storage_cu_per_million_writes=0.1
replay_rebuild_cu_per_million_writes=0.08
reconciliation_cu_per_million_writes=0.12
fixed_operational_cu_per_month=18
low_volume_writes_million=1
high_volume_writes_million=100
half_read_benefit_factor=0.5
double_projection_write_factor=2
double_storage_factor=2

The next table is the only reader-visible derivation surface in this document. The verifier derives every row from the canonical block, including the symbolic equations, all fourteen visible inputs, the base calculation, and every sensitivity. W and R are millions of writes and reads/month; a is avoided CU/million reads; v is total variable CU/million writes; F is CU/month.

KindKeyVisible value or equationUnit
INPUTwrites_million10million writes/month
INPUTreads_million85million reads/month
INPUTread_work_avoided_cu_per_million1.80CU/million reads
INPUTtransport_cu_per_million_writes0.20CU/million writes
INPUTprojection_write_cu_per_million_writes0.50CU/million writes
INPUTstorage_cu_per_million_writes0.10CU/million writes
INPUTreplay_rebuild_cu_per_million_writes0.08CU/million writes
INPUTreconciliation_cu_per_million_writes0.12CU/million writes
INPUTfixed_operational_cu_per_month18CU/month
INPUTlow_volume_writes_million1million writes/month
INPUThigh_volume_writes_million100million writes/month
INPUThalf_read_benefit_factor0.50ratio
INPUTdouble_projection_write_factor2ratio
INPUTdouble_storage_factor2ratio
FORMULAmonthly_netR * a - W * v - FCU/month
FORMULAbreak_even_ratioR/W = (v + F/W) / areads/write
DERIVATIONvariable_cost_per_million_writes0.20 + 0.50 + 0.10 + 0.08 + 0.12 = 1.00CU/million writes
DERIVATIONread_work_avoided85 * 1.80 = 153.00CU/month
DERIVATIONvariable_projection_cost10 * 1.00 = 10.00CU/month
DERIVATIONfixed_operational_cost18.00CU/month
DERIVATIONnet_benefit153.00 - 10.00 - 18.00 = 125.00CU/month
DERIVATIONbreak_even(1.00 + 18.00 / 10) / 1.80 = 1.56reads/write
DERIVATIONlow_volume_sensitivity(1.00 + 18.00 / 1) / 1.80 = 10.56reads/write
DERIVATIONhigh_volume_sensitivity(1.00 + 18.00 / 100) / 1.80 = 0.66reads/write
DERIVATIONhalf_read_benefit_sensitivity(1.00 + 18.00 / 10) / (1.80 * 0.50) = 3.11reads/write
DERIVATIONdouble_projection_storage_sensitivity0.20 + 0.50 * 2 + 0.10 * 2 + 0.08 + 0.12 = 1.60; (1.60 + 18.00 / 10) / 1.80 = 1.89reads/write

This is an architectural comparison, not an AWS invoice.

MetricUnitResult
read_work_avoided_cu_monthCU/month153.0
variable_projection_cu_monthCU/month10.0
fixed_operational_cu_monthCU/month18.0
net_benefit_cu_monthCU/month125.0
break_even_reads_per_writereads/write1.56
low_volume_reads_per_writereads/write10.56
high_volume_reads_per_writereads/write0.66
half_benefit_reads_per_writereads/write3.11
double_projection_reads_per_writereads/write1.89
Model details · task7 result
TASK7_RESULT|read_work_avoided_cu_month|153.0
TASK7_RESULT|variable_projection_cu_month|10.0
TASK7_RESULT|fixed_operational_cu_month|18.0
TASK7_RESULT|net_benefit_cu_month|125.0
TASK7_RESULT|break_even_reads_per_write|1.56
TASK7_RESULT|low_volume_reads_per_write|10.56
TASK7_RESULT|high_volume_reads_per_write|0.66
TASK7_RESULT|half_benefit_reads_per_write|3.11
TASK7_RESULT|double_projection_reads_per_write|1.89

Inference: the validated sensitivity rows expose fixed-cost dilution, reduced read benefit, and added fan-out. Crossing a numeric threshold is necessary but not sufficient: the projection still needs an SLO, safe overload policy, ownership, rebuild test, reconciliation, and acceptable residual risk (C44,C48,C102; F13,F14,F19,F20).

These values are illustrative workload inputs, not AWS service limits, prices, or promises. recovery_capacity_rps means measured end-to-end committed work, not broker reads. safety_reservation_rps is deliberately unused capacity for variance and incident control. Stability requires recovery_capacity_rps > live_arrival_rps + safety_reservation_rps; the redrive limiter can reduce the remaining rate further.

The input domain requires recovery_capacity_rps > 0 records/s; zero or negative total capacity is rejected before any capacity-share division, while zero-spare and negative-spare fixtures retain positive total capacity.

Model details · task8 recovery values
retry_layers=3
attempts_per_layer=3
sensitivity_attempts_per_layer=4
arrival_rps=200
service_time_seconds=0.12
headroom_ratio=1.5
slow_service_multiplier=2
backlog_records=900000
recovery_capacity_rps=800
live_arrival_rps=500
safety_reservation_rps=100
replay_rate_cap_rps=200
Model details · task8 cost results
TASK8_RESULT|nested_retry_worst_case_attempts|27.0
TASK8_RESULT|nested_retry_sensitivity_attempts|64.0
TASK8_RESULT|base_concurrency|24.0
TASK8_RESULT|planned_concurrency|36
TASK8_RESULT|slow_dependency_planned_concurrency|72
TASK8_RESULT|raw_spare_rps|200.0
TASK8_RESULT|effective_redrive_rps|200.0
TASK8_RESULT|recovery_status|POSITIVE_DRAIN
TASK8_RESULT|backlog_growth_rps|0
TASK8_RESULT|backlog_drain_seconds|4500.0
TASK8_RESULT|backlog_drain_minutes|75.0
TASK8_RESULT|recovery_action|bounded replay
TASK8_RESULT|live_capacity_percent|62.5
TASK8_RESULT|replay_capacity_percent|25.0
TASK8_RESULT|safety_capacity_percent|12.5
KindNameValue or equationUnit
INPUTretry_layers3ratio/count
INPUTattempts_per_layer3ratio/count
INPUTsensitivity_attempts_per_layer4ratio/count
INPUTarrival_rps200records/s
INPUTservice_time_seconds0.12s
INPUTheadroom_ratio1.50ratio/count
INPUTslow_service_multiplier2ratio/count
INPUTbacklog_records900000records
INPUTrecovery_capacity_rps800records/s
INPUTlive_arrival_rps500records/s
INPUTsafety_reservation_rps100records/s
INPUTreplay_rate_cap_rps200records/s
FORMULAnested_retryattempts_per_layer ^ retry_layersattempts
FORMULAconcurrencyceil(arrival_rps * service_time_seconds * headroom_ratio)concurrent requests
FORMULAraw_sparerecovery_capacity_rps - live_arrival_rps - safety_reservation_rpsrecords/s
FORMULAeffective_replaymax(0, min(replay_rate_cap_rps, raw_spare_rps))records/s
FORMULAdrain_timeif effective_redrive_rps > 0 then backlog_records / effective_redrive_rps else infinites
FORMULAnegative_branchif raw_spare_rps < 0 then backlog_growth_rps = -raw_spare_rpsrecords/s
RESULTnested_retry_worst_case_attempts27attempts
RESULTnested_retry_sensitivity_attempts64attempts
RESULTbase_concurrency24concurrent requests
RESULTplanned_concurrency36concurrent requests
RESULTslow_dependency_planned_concurrency72concurrent requests
RESULTraw_spare_rps200records/s
RESULTeffective_redrive_rps200records/s
RESULTrecovery_statusPOSITIVE_DRAINstate
RESULTbacklog_growth_rps0records/s
RESULTbacklog_drain_seconds4500s
RESULTbacklog_drain_minutes75min
RESULTrecovery_actionbounded replayaction
RESULTlive_capacity_percent62.50%
RESULTreplay_capacity_percent25%
RESULTsafety_capacity_percent12.50%

Interpretation: ceil(arrival rate × service time × headroom) gives 36 planned concurrent requests and 72 at the 2x slowdown. Raw spare is mu - lambda - reserve; effective replay is max(0, min(cap, raw_spare)). Positive spare can drain, zero spare means no drain and infinite drain time, and negative spare means backlog growth at the deficit rate plus admission reduction or capacity restoration. The positive example drains 900,000 records in 4,500 seconds or 75 minutes. Detection, deployment, skew, retries, and reconciliation margin must be added before setting retention.

These Task 9 values are illustrative planning assumptions, not AWS prices, quotas, service promises, or measured production facts. They expose the ratios that would falsify each architecture choice without duplicating Task 10's dated regional price analysis. Before selection, measure request and event-rate distributions, serialized payloads, key skew, end-to-end committed throughput, tail latency, dependency slowdowns, rebuild time, reconciliation breaks, and the engineering/on-call/compliance hours needed to own each variant (C112; F19,F20).

Model details · task9 model values
a_commands_peak_rps=1000
a_reads_peak_rps=50000
a_low_reads_peak_rps=12000
a_authoritative_writes_per_command=4
a_projection_writes_per_command=4
a_projection_write_migration_trigger=6
b_average_events_rps=5000
b_peak_events_rps=8000
b_payload_bytes=700
b_fanout_consumers=3
b_top_symbol_share=0.12
b_hot_share_sensitivity=0.15
b_single_lane_capacity_rps=1000
b_recovery_capacity_rps=12000
b_live_allocation_rps=8000
b_safety_reservation_rps=1000
b_replay_cap_rps=3000
b_backlog_records=4500000
b_zero_spare_capacity_rps=9000
c_total_arrival_rps=24000
c_match_partitions=8
c_service_time_us=180
c_top_symbol_share=0.20
c_hot_share_sensitivity=0.24
c_service_time_sensitivity_us=220
c_hot_dedicated_partition=1
c_hot_partition_other_live_rps=0
c_hot_safety_reservation_rps=300
c_hot_replay_cap_rps=400
c_hot_backlog_commands=240000
c_hot_zero_capacity_rps=5100
c_burst_arrival_rps=6200
c_burst_duration_seconds=2

The same complete table is rendered in the Task 9 chapter. All formula rows, inputs, base results, and sensitivities are validated against the block above.

KindKeyValue or equationUnit
INPUTa_commands_peak_rps1000commands/s
INPUTa_reads_peak_rps50000reads/s
INPUTa_low_reads_peak_rps12000reads/s
INPUTa_authoritative_writes_per_command4writes/command
INPUTa_projection_writes_per_command4writes/command
INPUTa_projection_write_migration_trigger6writes/command
INPUTb_average_events_rps5000events/s
INPUTb_peak_events_rps8000events/s
INPUTb_payload_bytes700B/event
INPUTb_fanout_consumers3consumers
INPUTb_top_symbol_share0.12ratio
INPUTb_hot_share_sensitivity0.15ratio
INPUTb_single_lane_capacity_rps1000events/s
INPUTb_recovery_capacity_rps12000committed events/s
INPUTb_live_allocation_rps8000events/s
INPUTb_safety_reservation_rps1000events/s
INPUTb_replay_cap_rps3000events/s
INPUTb_backlog_records4500000events
INPUTb_zero_spare_capacity_rps9000committed events/s
INPUTc_total_arrival_rps24000commands/s
INPUTc_match_partitions8partitions
INPUTc_service_time_us180us/command
INPUTc_top_symbol_share0.20ratio
INPUTc_hot_share_sensitivity0.24ratio
INPUTc_service_time_sensitivity_us220us/command
INPUTc_hot_dedicated_partition1boolean 1=yes
INPUTc_hot_partition_other_live_rps0commands/s
INPUTc_hot_safety_reservation_rps300commands/s
INPUTc_hot_replay_cap_rps400commands/s
INPUTc_hot_backlog_commands240000commands
INPUTc_hot_zero_capacity_rps5100commands/s
INPUTc_burst_arrival_rps6200commands/s
INPUTc_burst_duration_seconds2s
FORMULAa_read_write_ratioa_reads_peak_rps / a_commands_peak_rpsreads/command
FORMULAa_total_write_amplificationa_authoritative_writes_per_command + a_projection_writes_per_commandwrites/command
FORMULAb_raw_bytes_per_secondevents_rps * b_payload_bytesB/s
FORMULAb_fanout_bytes_per_secondraw_bytes_per_second * b_fanout_consumersB/s
FORMULAb_hot_symbol_rateevents_rps * symbol_shareevents/s
FORMULAb_replay_ratemax(0,min(replay_cap,recovery-live-safety))events/s
FORMULAb_drain_timebacklog / replay_rate; infinite when replay_rate <= 0s
FORMULAc_partition_arrivalc_total_arrival_rps / c_match_partitionscommands/s/partition
FORMULAc_utilizationarrival_rps * service_time_us / 1000000ratio
FORMULAc_hottest_symbol_utilizationc_total_arrival_rps * share * service_time_us / 1000000ratio
FORMULAc_hot_partition_livehottest_symbol_rps + other_live_rpscommands/s
FORMULAc_hot_arithmetic_spareservice_capacity - hot_partition_livecommands/s
FORMULAc_hot_replay_ratemax(0,min(replay_cap,service_capacity-hot_live-safety))commands/s
FORMULAc_hot_drain_timehot_backlog / hot_replay_rate; infinite when replay_rate <= 0s
FORMULAc_burst_queue_growthmax(0,burst_arrival-service_capacity) * burst_durationcommands
RESULTa_read_write_ratio50.00reads/command
RESULTa_low_read_write_ratio12.00reads/command
RESULTa_projection_write_amplification4writes/command
RESULTa_total_write_amplification8writes/command
RESULTa_migration_triggerREASSESS_AT_6_PROJECTION_WRITESstate
RESULTb_average_raw_Bps3500000B/s
RESULTb_peak_raw_Bps5600000B/s
RESULTb_average_fanout_Bps10500000B/s
RESULTb_peak_fanout_Bps16800000B/s
RESULTb_top_symbol_average_rps600events/s
RESULTb_top_symbol_peak_rps960events/s
RESULTb_hot_sensitivity_peak_rps1200events/s
RESULTb_hot_sensitivity_stateOVER_SINGLE_LANEstate
RESULTb_live_capacity_percent66.67%
RESULTb_replay_capacity_percent25.00%
RESULTb_safety_capacity_percent8.33%
RESULTb_replay_rate_rps3000events/s
RESULTb_backlog_drain_seconds1500.00s
RESULTb_backlog_drain_minutes25.00min
RESULTb_zero_spare_stateNO_SAFE_DRAINstate
RESULTc_partition_arrival_rps3000.00commands/s/partition
RESULTc_partition_service_capacity_rps5555.56commands/s/partition
RESULTc_partition_utilization0.5400ratio
RESULTc_partition_headroom_percent46.00%
RESULTc_hottest_symbol_rps4800commands/s
RESULTc_hottest_symbol_utilization0.8640ratio
RESULTc_hot_share_sensitivity_rps5760commands/s
RESULTc_hot_share_sensitivity_utilization1.0368ratio
RESULTc_service_time_sensitivity_utilization1.0560ratio
RESULTc_hottest_sensitivity_stateOVER_CAPACITYstate
RESULTc_hot_partition_assignmentDEDICATED_HOT_BOOKstate
RESULTc_hot_partition_other_live_rps0commands/s
RESULTc_hot_partition_live_rps4800commands/s
RESULTc_hot_arithmetic_spare_rps755.56commands/s
RESULTc_hot_partition_headroom_percent13.60%
RESULTc_hot_safety_reservation_rps300commands/s
RESULTc_hot_effective_replay_rps400commands/s
RESULTc_hot_backlog_drain_seconds600.00s
RESULTc_hot_backlog_drain_minutes10.00min
RESULTc_hot_zero_spare_stateNO_SAFE_DRAINstate
RESULTc_burst_excess_rps644.44commands/s
RESULTc_burst_queue_growth_commands1288.89commands
RESULTc_tail_service_capacity_rps4545.45commands/s
RESULTc_p99_latency_stateUNVALIDATED_LOAD_TEST_REQUIREDstate

Interpretation by variant:

  • Variant A: the base planning point has 50 reads per command, four deliberate projection writes, and eight total logical writes. Task 10's dated model puts ARCA's 50 reads/command below its 75.462912 reads/write cost break-even and at -$887.203238/month; choose ARCA only when the measured 95 ms p99 read-latency gain, 2-second freshness, and command/read isolation justify that cost. The lower-read sensitivity is 12 reads/command. Reassess when measured read work avoided no longer covers variable projection/storage/rebuild work and fixed ownership, or when projection fan-out reaches six writes/command.
  • Variant B: raw traffic is 3,500,000 B/s average and 5,600,000 B/s peak; three full consumers turn that into 10,500,000 and 16,800,000 downstream B/s before protocol/storage amplification. A 12% top symbol reaches 960 events/s at peak against the 1,000-event/s planning lane; 15% reaches 1,200 and forces admission, a different source-order/merge design, or a new substrate. Of 12,000 committed events/s, the model reserves 66.67% live, 25% replay, and 8.33% safety; 4,500,000 events drain in 1,500 seconds (25 minutes). At 9,000 total capacity, live plus safety leaves no safe drain.
  • Variant C: the average across eight partitions is 3,000 commands/s, 0.54 utilization, and 46% arithmetic headroom at 180 us, but it is not an admission or latency proof. The 20% hottest book has a dedicated partition, so its 4,800/s includes 0/s co-located book traffic; utilization is 0.864, arithmetic spare is 755.56/s, and headroom is 13.60%. After a 300/s hot-book safety reserve, effective replay is capped at 400/s; 240,000 commands drain in 600.00 seconds (10.00 minutes). A 5,100/s zero-capacity case leaves no safe hot-book replay. A 6,200/s burst for 2 seconds exceeds nominal service capacity by 644.44/s and grows the queue by 1,288.89 commands before retries or downstream delay. A 24% hot share reaches 5,760/s and 1.0368 utilization; a 220 us service-time tail gives 4,545.45/s capacity and 1.0560 utilization. The sub-1-ms p99 is therefore an unvalidated scenario target until measured burst, tail, queue, journal, and replay load tests prove it. Admission, migration, and replay use this hottest-partition envelope, never aggregate spare on unrelated books.

Variable drivers are service requests, bytes, fan-out, writes/indexes, compute, storage/retention, transfer, replay, evidence, and reconciliation. Fixed burden is architecture design, exchange/FIX certification, schema and policy ownership, security review, on-call, game days, compliance evidence, and trained operations. The model chooses neither service nor price; Task 10 will attach dated eu-west-1 prices.

Task 10 dated cross-service cost, performance, and capacity model

Section titled “Task 10 dated cross-service cost, performance, and capacity model”

Last validated: 2026-08-22. This extension preserves every Task 5–9 block and uses one new closed model copied byte-for-byte into the reader chapter. Portable formulas are separate from mutable prices. B and KiB retain the definitions above; price-list GB is modeled as 2^30 B, the month is 2,592,000 seconds / 720 hours, and every multiplication retains its dimension.

All workload, FTE/salary, on-call, compliance, expected-loss, cache-hit, compression, skew, utilization, and retention values are illustrative planning assumptions. Free tier, progressive tiers above the declared first tier, tax, support, credits, and commitments/Savings Plans are excluded symmetrically. Each PRICE row records service, SKU, usage type, operation, unit, tier boundary, publication, region, currency, retrieval date, and route (C49,C113,C116; A99,A123–A127, retrieved 2026-08-22; F19,F20).

Expected correctness/availability loss is a scenario input, never permission to violate an invariant or mandatory control.

Model details · task10 canonical
# official AWS prices retrieved 2026-08-22
META|task10-v1|eu-west-1|USD|2026-08-22|2592000s_720h|1GB=2^30B
PRICE|lambda_request_usd|AWSLambda|B5V2RNHAWGVJBZD3|EU-Request|none|Request|0|Inf|0.0000002000|2026-08-19T22:47:03Z|retrieved_2026-08-22|A123
PRICE|lambda_gb_second_usd|AWSLambda|SGGKTWDV7PGMPPSJ|EU-Lambda-GB-Second|none|Lambda-GB-Second|0|6000000000|0.0000166667|2026-08-19T22:47:03Z|retrieved_2026-08-22|A123
PRICE|fargate_vcpu_hour_usd|AmazonECS|K4EXFQ5YFQCP98EN|EU-Fargate-vCPU-Hours:perCPU|none|hours|0|Inf|0.0404800000|2026-07-07T16:06:51Z|retrieved_2026-08-22|A124
PRICE|fargate_gb_hour_usd|AmazonECS|UP5ETC3QSW2QZGEY|EU-Fargate-GB-Hours|none|hours|0|Inf|0.0044450000|2026-07-07T16:06:51Z|retrieved_2026-08-22|A124
PRICE|ddb_wru_usd|AmazonDynamoDB|F4EZE5SAMS3D49NJ|EU-WriteRequestUnits|PayPerRequestThroughput|WriteRequestUnits|0|Inf|0.0000007050|2026-08-15T03:52:56Z|retrieved_2026-08-22|A125
PRICE|ddb_replicated_wru_usd|AmazonDynamoDB|Y8RETJA3NHS97536|EU-ReplWriteRequestUnits|PayPerRequestThroughput|ReplicatedWriteRequestUnits|0|Inf|0.0000007050|2026-08-15T03:52:56Z|retrieved_2026-08-22|A125
PRICE|ddb_rru_usd|AmazonDynamoDB|3ERQSZWPAMX2JWHN|EU-ReadRequestUnits|PayPerRequestThroughput|ReadRequestUnits|0|Inf|0.0000001415|2026-08-15T03:52:56Z|retrieved_2026-08-22|A125
PRICE|kinesis_shard_hour_usd|AmazonKinesis|C8T9ZXPQRX6FS23J|EU-Storage-ShardHour|shardHourStorage|ShardHour|0|Inf|0.0170000000|2026-08-13T19:39:54Z|retrieved_2026-08-22|A99
PRICE|kinesis_put_payload_unit_usd|AmazonKinesis|XE5NBZYRTSWZZ8J7|EU-PutRequestPayloadUnits|PutRequest|PutRequest|0|Inf|0.0000000165|2026-08-13T19:39:54Z|retrieved_2026-08-22|A99
PRICE|kinesis_efo_consumer_shard_hour_usd|AmazonKinesis|HUJ72XPTKF8QXV6H|EU-EnhancedFanoutHour|ConsumerHour|ConsumerShardHour|0|Inf|0.0170000000|2026-08-13T19:39:54Z|retrieved_2026-08-22|A99
PRICE|kinesis_efo_gb_usd|AmazonKinesis|W6ZVCP635EBGH7N7|EU-ReadBytes|EnhancedFanoutDataRetrieval|GB|0|Inf|0.0147000000|2026-08-13T19:39:54Z|retrieved_2026-08-22|A99
PRICE|s3_standard_gb_month_usd|AmazonS3|4AJHPB29ZPVFADXP|EU-TimedStorage-ByteHrs|none|GB-Mo|0|51200|0.0230000000|2026-08-18T18:11:13Z|retrieved_2026-08-22|A126
PRICE|s3_restore_request_usd|AmazonS3|ETABQUNVVQGWUQN4|EU-Requests-Tier3|RestoreObject|Requests|0|Inf|0.0000550000|2026-08-18T18:11:13Z|retrieved_2026-08-22|A126
PRICE|s3_get_request_usd|AmazonS3|ZCQD4CM637S7D8U5|EU-Requests-Tier2|none|Requests|0|Inf|0.0000004000|2026-08-18T18:11:13Z|retrieved_2026-08-22|A126
PRICE|s3_restore_retrieval_gb_usd|AmazonS3|G6YZ6EAX5498CAQ2|EU-Standard-Retrieval-Bytes|RestoreObject|GB|0|Inf|0.0100000000|2026-08-18T18:11:13Z|retrieved_2026-08-22|A126
SETTING|region|eu-west-1|region
SETTING|currency|USD|currency
SETTING|retrieval_date|2026-08-22|date
SETTING|lambda_architecture|x86_64|architecture
SETTING|kinesis_capacity_mode|provisioned|mode
SETTING|kinesis_read_mode|EFO|mode
SETTING|replay_expired_post_reingest_read_mode|EFO|mode
SETTING|ddb_capacity_mode|on_demand|mode
SETTING|ddb_read_consistency|eventual|setting
SETTING|free_tier_tiering_commitments|excluded_symmetrically|policy
LANE|order|ddb_txn_order_kib|ddb_order_hot_share|base|transactional
LANE|idempotency|ddb_txn_idempotency_kib|ddb_idempotency_hot_share|base|transactional
LANE|outbox|ddb_txn_outbox_kib|ddb_outbox_hot_share|base|transactional
LANE|sentinel|ddb_txn_sentinel_kib|ddb_sentinel_hot_share|base|transactional
LANE|order_account_gsi|ddb_order_account_gsi_kib|ddb_order_account_gsi_hot_share|gsi|ordinary
LANE|order_status_gsi|ddb_order_status_gsi_kib|ddb_order_status_gsi_hot_share|gsi|ordinary
LANE|outbox_ready_gsi|ddb_outbox_ready_gsi_kib|ddb_outbox_ready_gsi_hot_share|gsi|ordinary
INPUT|month_seconds|2592000|s/month
INPUT|month_hours|720|h/month
INPUT|avg_orders_rps|100|requests/s
INPUT|peak_orders_rps|400|requests/s
INPUT|active_duty_cycle|0.25|ratio
INPUT|accept_rate|0.95|accepted/orders
INPUT|fills_per_accepted|1.2|fills/accepted
INPUT|market_updates_rps|5000|records/s
INPUT|peak_market_rps|8000|records/s
INPUT|burst_seconds|60|s
INPUT|payload_bytes|700|B/record
INPUT|billing_chunk_bytes|25600|B/Kinesis-PUT-payload-unit
INPUT|put_payload_chunk_bytes|25600|B/payload-unit
INPUT|fanout_consumers|3|consumers
INPUT|projection_fanout|4|projection-writes/accepted
INPUT|batch_small|1|records/invocation
INPUT|batch_medium|10|records/invocation
INPUT|batch_large|100|records/invocation
INPUT|flush_small_ms|5|ms
INPUT|flush_medium_ms|50|ms
INPUT|flush_large_ms|500|ms
INPUT|retry_rate|0.02|retries/original
INPUT|partial_failure_rate|0.01|failed-records/original
INPUT|replay_ratio|0.05|replay-records/original
INPUT|lambda_memory_gb|1|GB/invocation
INPUT|lambda_duration_s|0.08|s/invocation
INPUT|lambda_headroom|1.5|ratio
INPUT|lambda_tail_target_ms|200|ms
INPUT|lambda_measured_p99_ms|180|ms
INPUT|lambda_cold_p99_ms|350|ms
INPUT|fargate_tasks|2|tasks
INPUT|fargate_vcpu|1|vCPU/task
INPUT|fargate_memory_gb|2|GB/task
INPUT|fargate_worker_service_s|0.08|s/batch
INPUT|fargate_events_per_batch|10|events/batch
INPUT|fargate_capacity_headroom|1.5|ratio
INPUT|fargate_ha_min_tasks|2|tasks
INPUT|fargate_scaling_lag_s|30|s
INPUT|compute_peak_to_active_ratio|4|peak/active
INPUT|compute_crossing_search_max_average_rps|10000|time-averaged-events/s
INPUT|partial_batch_checkpoint_enabled|1|boolean
INPUT|ddb_txn_order_kib|1.2|KiB/item
INPUT|ddb_txn_idempotency_kib|0.7|KiB/item
INPUT|ddb_txn_outbox_kib|1.6|KiB/item
INPUT|ddb_txn_sentinel_kib|0.2|KiB/item
INPUT|ddb_order_account_gsi_kib|0.45|KiB/index-entry
INPUT|ddb_order_status_gsi_kib|0.35|KiB/index-entry
INPUT|ddb_outbox_ready_gsi_kib|0.45|KiB/index-entry
INPUT|ddb_order_hot_share|0.30|ratio
INPUT|ddb_idempotency_hot_share|0.20|ratio
INPUT|ddb_outbox_hot_share|0.25|ratio
INPUT|ddb_sentinel_hot_share|0.10|ratio
INPUT|ddb_order_account_gsi_hot_share|0.20|ratio
INPUT|ddb_order_status_gsi_hot_share|0.15|ratio
INPUT|ddb_outbox_ready_gsi_hot_share|0.25|ratio
INPUT|ddb_transaction_multiplier|2|WRU/ordinary-WRU
INPUT|ddb_hot_share|0.30|ratio
INPUT|ddb_lane_target_wru_s|1000|WRU/s
INPUT|ddb_global_table_replicas|0|added-replica-regions
INPUT|ddb_replica_storage_usd_month|0|USD/month-scenario
INPUT|ddb_replica_restore_usd_month|0|USD/month-scenario
INPUT|ddb_replica_topology_other_usd_month|0|USD/month-scenario
INPUT|kinesis_skew|1.25|hottest/average
INPUT|kinesis_top_key_share|0.15|ratio
INPUT|kinesis_util_target|0.80|ratio
INPUT|kinesis_shard_write_rps|1000|records/s/shard
INPUT|kinesis_shard_write_Bps|1000000|B/s/shard
INPUT|kinesis_shard_read_Bps|2000000|B/s/shard
INPUT|kinesis_recovery_commit_rps|9000|committed-records/s
INPUT|kinesis_zero_spare_commit_rps|6000|committed-records/s
INPUT|kinesis_safety_rps|1000|records/s
INPUT|kinesis_backlog_records|4500000|records
INPUT|kinesis_retention_hours|24|hours
INPUT|replay_age_hours|30|hours
INPUT|replay_sensitivity_ratio|0.20|replay-records/original
INPUT|replay_retrieval_consumers|3|consumers
INPUT|replay_consumer_batch_records|100|records/invocation
INPUT|replay_consumer_memory_gb|1|GB/invocation
INPUT|replay_consumer_duration_s|0.08|s/invocation
INPUT|replay_sink_consumers|3|consumers
INPUT|replay_sink_wru_per_record|1|WRU/written-record
INPUT|replay_sink_write_fraction|0.10|written/replayed-record
INPUT|replay_duplicate_rate|0.02|duplicates/attempt
INPUT|replay_idempotency_rru_per_attempt|1|RRU/attempt
INPUT|replay_reconciliation_rate|0.01|reconciliations/attempt
INPUT|replay_sink_capacity_wru_s|2000|WRU/s
INPUT|replay_retained_source_capacity_rps|4000|source-records/s
INPUT|replay_restore_source_capacity_rps|4000|source-records/s
INPUT|replay_consumer_capacity_rps|4000|source-records/s
INPUT|replay_stream_reingest_capacity_rps|5000|source-records/s
INPUT|replay_expired_post_reingest_read_capacity_rps|4000|source-records/s
INPUT|replay_archive_object_bytes|134217728|B/object
INPUT|audit_monthly_ingest_gb|100|GB/month
INPUT|audit_retention_months|24|months
INPUT|audit_year1_months|12|months
INPUT|audit_year2_months|24|months
INPUT|audit_object_lock_usd_year|0|USD/year-scenario
INPUT|audit_requests_usd_year|0|USD/year-scenario
INPUT|audit_transitions_usd_year|0|USD/year-scenario
INPUT|audit_retrieval_usd_year|0|USD/year-scenario
INPUT|audit_kms_usd_year|0|USD/year-scenario
INPUT|audit_export_usd_year|0|USD/year-scenario
INPUT|audit_legal_review_usd_year|0|USD/year-scenario
INPUT|active_accounts|50000|accounts-month
INPUT|ddb_read_item_kib|6|KiB/item
INPUT|cqrs_rru_avoided_per_read|4|RRU/read
INPUT|cqrs_zero_benefit_rru|0|RRU/read
INPUT|cqrs_projection_writes|4|writes/source-write
INPUT|cqrs_transport_requests_per_write|1|requests/source-write
INPUT|cqrs_cache_storage_usd_month|150|USD/month
INPUT|cqrs_rebuild_ratio|0.05|rebuild-writes/source-write
INPUT|cqrs_reconciliation_rate|0.01|reconciliations/source-write
INPUT|cqrs_engineering_hours|6|hours/month
INPUT|cqrs_oncall_hours|2|hours/month
INPUT|cqrs_hourly_usd|150|USD/hour
INPUT|cqrs_fixed_ops_usd|1000|USD/month
INPUT|cqrs_source_p99_ms|120|ms
INPUT|cqrs_projection_p99_ms|25|ms
INPUT|cqrs_freshness_s|2|s
INPUT|allocation_accepted_order|0.20|ratio
INPUT|allocation_execution_fill|0.20|ratio
INPUT|allocation_million_market_updates|0.35|ratio
INPUT|allocation_active_account_month|0.05|ratio
INPUT|allocation_projection_update|0.15|ratio
INPUT|allocation_retained_audit_year|0.05|ratio
INPUT|engineering_usd|12000|USD/month
INPUT|oncall_usd|6000|USD/month
INPUT|compliance_usd|4000|USD/month
INPUT|expected_loss_usd|5000|USD/month
FORMULA|business_counts|orders=avg_orders_rps*month_seconds*duty; accepted=orders*accept_rate; fills=accepted*fills_per_accepted|events/month
FORMULA|batching|invocations=orders/batch*(1+retry); chunks=ceil(batch*payload/billing_chunk); redelivery=batch*(retry+partial); concurrency=ceil(peak/batch*duration*headroom)|mixed
FORMULA|fanout|consumer_work=market_updates*consumers*(1+retry+replay)|records/month
FORMULA|cqrs_break_even|R/W=(projection_variable+fixed_ops/W)/(rru_avoided*rru_price)|reads/write
FORMULA|kinesis_capacity|shards=ceil(max(peak*payload/Bps_limit,peak/rps_limit)*skew/util_target)|shards
FORMULA|kinesis_recovery|drain=backlog/(commit-live-safety); no_safe_drain when denominator<=0|s
FORMULA|dynamodb_amplification|WRU/order=2*sum(ceil(each transaction target KiB))+sum(ceil(each GSI entry KiB))|WRU/order
FORMULA|compute_break_even|events/s=fargate_monthly*batch/(month_seconds*(1+retry)*(request_price+memory*duration*GBs_price))|events/s
FORMULA|unit_economics|unit_cost=allocated_numerator/business_denominator|USD/business-unit
FORMULA|sensitivity|recompute(base;traffic*0.5;traffic*2;fanout*2;burst*10;replay)|scenario
FORMULA|audit_cohorts|exposure=monthly_ingest*sum(cohort_months); retained_years=months/12; unit=annual_storage/retained_years|GB-month,USD/year
FORMULA|compute_capacity|capacity_per_task=batch/service; tasks=max(HA,ceil(peak*headroom/capacity)); active_crossing=average_crossing/duty|events/s,tasks
FORMULA|cqrs_components|threshold=(transport+projection_index+cache+rebuild+reconciliation+engineering+oncall+other_fixed)/avoided_read|reads/write
FORMULA|scenario_economics|recompute all priced components and six marginal/allocated/fully-loaded units under traffic,fanout,replay,retention,replicas|USD
FORMULA|compute_stepwise_capacity|for each average rate derive active=average/duty, peak=active*peak_ratio, tasks=max(HA,ceil(peak*headroom/task_capacity)), then compare Lambda to fleet|state,USD/month
FORMULA|dynamodb_physical_lanes|each base table and GSI lane=peak*lane_share*rounded_lane_WRU; feasibility=max(actual lane)|WRU/s
FORMULA|replica_billing|single Region=base_WRU+GSI_WRU; with n added Regions all n+1 Regions bill base_rWRU+ordinary_GSI_WRU+typed topology scenarios|USD/month
FORMULA|replay_full_path|select retained EFO or expired S3 restore/re-ingest plus selected post-read mode; effective rate=min(source,post-read,consumer,stream,spare,sink); then price retrieval+consumer+sink+idempotency+reconciliation and drain|USD/month,state
DRIVER|eventbridge|scenario_both|batching|cqrs|capacity
DRIVER|sqs_sns|scenario_both|batching|cqrs|capacity
DRIVER|step_functions|scenario_both|batching|cqrs|capacity
DRIVER|api|scenario_both|batching|cqrs|capacity
DRIVER|storage|modeled_both|batching|cqrs|capacity
DRIVER|retention_storage_class|scenario_both|batching|cqrs|capacity
DRIVER|cache_search_analytics|scenario_both|batching|cqrs|capacity
DRIVER|logs|scenario_both|batching|cqrs|capacity
DRIVER|traces|scenario_both|batching|cqrs|capacity
DRIVER|data_transfer|scenario_both|batching|cqrs|capacity
DRIVER|nat|scenario_both|batching|cqrs|capacity
DRIVER|kms|scenario_both|batching|cqrs|capacity
DRIVER|backup_export|scenario_both|batching|cqrs|capacity
DRIVER|retries_dlqs|scenario_both|batching|cqrs|capacity
DRIVER|replay_reconciliation|scenario_both|batching|cqrs|capacity
DRIVER|multi_az_region|scenario_both|batching|cqrs|capacity
DRIVER|support_discounts_tax|excluded_both:risk=invoice_variance|batching|cqrs|capacity
DRIVER|engineering_oncall|modeled_both|batching|cqrs|capacity
DRIVER|expected_correctness_availability_loss|scenario_both|batching|cqrs|capacity
SEMANTIC|chapter_preamble|chapter|PREAMBLE|closed_section|C49,C102,C112,C113|F19,F20|governed_v1|sha256:cba4691ddd0a5f8c505f912abd6e74e8e92ad9a1d0cc0d944abcf1ceb1cb8ee2
SEMANTIC|chapter_optimization|chapter|Optimization sequence|closed_section|C105,C108,C109,C110,C111,C112,C113,C114,C115|F19,F20|governed_v1|sha256:5df27fc8fa9967350996427e01a73d32711e29e84259785a277df899c130ec92
SEMANTIC|chapter_canonical|chapter|Canonical quantitative model|closed_section|C49,C78,C82,C95,C113,C114,C116|A44,A45,A46,A75,A99,A100,A123,A124,A125,A126,A127,F19,F20|governed_v1|sha256:8f58dbcc483b1919e737cfd56bf9a0c72a2d73da6c2f6f6d1ae8730a7d62e430
SEMANTIC|chapter_units|chapter|Six fintech unit economics|closed_section|C113|A123,A125,A126,F19,F20|governed_v1|sha256:e8806b03a1ee9f755ba30021e667475d67e01833be7d067424f163e0d4a70c11
SEMANTIC|chapter_batching|chapter|Batching and fan-out|closed_section|C73,C76,C113,C114|A96,A98,A99|governed_v1|sha256:7e01449e43e4d6717a1cead2bce8afbfd009355ec470638d6fe5f822da5ee060
SEMANTIC|chapter_cqrs|chapter|CQRS dated break-even|closed_section|C35,C46,C97,C100,C102,C113|A113,F06,F19,F20|governed_v1|sha256:171d71d4deebb924fa714becdd5abdbd6545549dca1d179be33229ab6ce98dc1
SEMANTIC|chapter_capacity|chapter|Kinesis and DynamoDB feasibility|closed_section|C70,C75,C77,C78,C82,C83,C85,C87,C89,C95,C114,C116|A95,A97,A99,A100,A101,A104,A105,A107,A125,A126,A127|governed_v1|sha256:308324dd1d668fac5ac28f2c744e6de0ba14c3c0816b6f326d1a39fc7c4322ff
SEMANTIC|chapter_compute|chapter|Lambda versus sustained compute|closed_section|C53,C111,C115|A51,A58,A59,A67,A123,A124,F09|governed_v1|sha256:e1209232ceaad7d07a40403ccbc3fa93263ae96b8405c87bfa9bbacc1424168b
SEMANTIC|chapter_completeness|chapter|Cost-completeness matrix|closed_section|C113,C114,C115,C116|A99,A123,A124,A125,A126,A127,F19,F20|governed_v1|sha256:7fe8b6d53e48c78f022b44f8507055150d279a16f3c4ba6536377cbe63bb024f
SEMANTIC|chapter_decisions|chapter|Decision table|closed_section|C113,C114,C115,C116|A99,A123,A124,A125,A126,A127,F19,F20|governed_v1|sha256:014719b2690da00561b3ed80403caa462c16e4b3de0b94511f0c05867a5db53c
SEMANTIC|chapter_sensitivity|chapter|Sensitivity and falsification|closed_section|C113,C114,C115,C116|A99,A123,A124,A125,A126,A127,F19,F20|governed_v1|sha256:75da42848f4b0ef5676461becc537c9d5057956bc4aaf57aaa9553b0061833df
SEMANTIC|chapter_questions|chapter|Senior quantitative interview questions|closed_section|C113,C114,C115,C116|A99,A123,A124,A125,A126,A127,F19,F20|governed_v1|sha256:06f4826de85f0686d232faeaf6e37300c4ea11f6ef88080b35055a02634541aa
SEMANTIC|chapter_sources|chapter|Sources|closed_section|C49,C102,C112,C113,C114,C115,C116|A44,A45,A46,A51,A67,A75,A95,A99,A100,A101,A102,A103,A104,A105,A107,A123,A124,A125,A126,A127,F19,F20|governed_v1|sha256:ee256848006c6fee0d9a58d8468c12bcfff8a3f0a8c285ab344c2d239db4ea7a
SEMANTIC|cost_task10|cost|Task 10 dated cross-service cost, performance, and capacity model|closed_section|C49,C113,C114,C115,C116|A99,A123,A124,A125,A126,A127,F19,F20|governed_v1|sha256:ac59c724a9788bb76a02762d63496cc5fce4974be506f2b685e2b8a065c0f789
RESULT|monthly_orders|64800000.0|orders/month
RESULT|monthly_accepted_orders|61560000.0|accepted/month
RESULT|monthly_fills|73872000.0|fills/month
RESULT|monthly_market_updates|12960000000.0|records/month
RESULT|monthly_projection_updates|246240000.0|updates/month
RESULT|batch_small_invocations|66096000.0|invocations/month
RESULT|batch_small_chunks|1.0|chunks/invocation
RESULT|batch_small_flush_ms|5.0|ms
RESULT|batch_small_redelivery_records|0.03|record-attempts/original-batch
RESULT|batch_small_expected_extra_attempts|0.03|record-attempts/original-batch
RESULT|batch_small_conditional_max_coupled_records|1.0|records/poison-batch
RESULT|batch_small_concurrency|48.0|concurrent-invocations
RESULT|batch_small_commits|66744000.0|commits/month
RESULT|batch_medium_invocations|6609600.0|invocations/month
RESULT|batch_medium_chunks|1.0|chunks/invocation
RESULT|batch_medium_flush_ms|50.0|ms
RESULT|batch_medium_redelivery_records|0.3|record-attempts/original-batch
RESULT|batch_medium_expected_extra_attempts|0.3|record-attempts/original-batch
RESULT|batch_medium_conditional_max_coupled_records|10.0|records/poison-batch
RESULT|batch_medium_concurrency|5.0|concurrent-invocations
RESULT|batch_medium_commits|6674400.0|commits/month
RESULT|batch_large_invocations|660960.0|invocations/month
RESULT|batch_large_chunks|3.0|chunks/invocation
RESULT|batch_large_flush_ms|500.0|ms
RESULT|batch_large_redelivery_records|3.0|record-attempts/original-batch
RESULT|batch_large_expected_extra_attempts|3.0|record-attempts/original-batch
RESULT|batch_large_conditional_max_coupled_records|100.0|records/poison-batch
RESULT|batch_large_concurrency|1.0|concurrent-invocations
RESULT|batch_large_commits|667440.0|commits/month
RESULT|fanout_consumer_work_records|41601600000.0|consumer-records/month
RESULT|partial_batch_checkpoint_state|ENABLED_LIMITS_SUCCESSFUL_PREFIX_REPLAY|state
RESULT|lambda_monthly_usd|43.908549|USD/month
RESULT|fargate_monthly_usd|71.0928|USD/month
RESULT|fargate_capacity_per_task_rps|125.0|events/s/task
RESULT|fargate_required_tasks|5.0|tasks
RESULT|fargate_minimum_feasible_monthly_usd|177.732|USD/month
RESULT|fargate_baseline_basket_state|PRICE_ONLY_INFEASIBLE|state
RESULT|compute_break_even_events_rps|438.422795|source-records/s
RESULT|compute_break_even_average_rps|438.422795|time-averaged-events/s
RESULT|compute_break_even_active_rps|1753.691181|active-period-events/s
RESULT|compute_break_even_lambda_usd|177.732|USD/month
RESULT|compute_break_even_plugback_usd|177.732|USD/month
RESULT|compute_crossing_state|NO_CAPACITY_FEASIBLE_PRICE_CROSSING|state
RESULT|compute_candidate_average_rps|438.422795|time-averaged-events/s
RESULT|compute_candidate_active_rps|1753.691181|active-period-events/s
RESULT|compute_candidate_peak_rps|7014.764726|peak-events/s
RESULT|compute_candidate_required_tasks|85.0|tasks
RESULT|compute_candidate_fleet_usd|3021.444|USD/month
RESULT|compute_candidate_lambda_usd|177.732|USD/month
RESULT|compute_candidate_price_gap_usd|2843.712|USD/month
RESULT|compute_candidate_queue_events|0.0|events
RESULT|compute_crossing_search_max_average_rps|10000.0|time-averaged-events/s
RESULT|fargate_scaling_lag_queue_events|4500.0|events
RESULT|lambda_warm_tail_margin_ms|20.0|ms
RESULT|lambda_cold_tail_state|TARGET_MISSED|state
RESULT|ddb_wru_per_order|15.0|WRU/order
RESULT|ddb_base_wru_per_order|12.0|WRU/order
RESULT|ddb_gsi_wru_per_order|3.0|WRU/order
RESULT|ddb_replica_wru_per_order|0.0|WRU/order/replicas
RESULT|ddb_replica_base_rwru_per_order|12.0|WRU/order
RESULT|ddb_replica_gsi_wru_per_order|3.0|WRU/order
RESULT|ddb_replica_base_usd_month|559.17216|USD/month
RESULT|ddb_replica_gsi_usd_month|139.79304|USD/month
RESULT|ddb_replica_exclusions_state|ZERO_PLANNING_INPUTS_REPRICE_BEFORE_TOPOLOGY_DECISION|state
RESULT|ddb_topology_state|SINGLE_REGION_ORDINARY_WRU|state
RESULT|ddb_topology_region_count|1.0|Regions
RESULT|ddb_topology_base_usd|559.17216|USD/month
RESULT|ddb_topology_gsi_usd|139.79304|USD/month
RESULT|ddb_unequal_price_single_region_units|15.0|synthetic-cost-units
RESULT|ddb_unequal_price_two_region_units|54.0|synthetic-cost-units
RESULT|ddb_unequal_price_probe_state|OPERATION_SPLIT_PROVEN|state
RESULT|ddb_monthly_usd|1122.141535|USD/month
RESULT|ddb_billing_aggregate_wru_s|1800.0|WRU/s
RESULT|ddb_max_hot_lane_wru_s|480.0|WRU/s
RESULT|ddb_max_hot_lane_id|order|identifier
RESULT|ddb_max_hot_lane_state|FEASIBLE|state
RESULT|ddb_lane_headroom_wru_s|520.0|WRU/s
RESULT|kinesis_planned_shards|13.0|shards
RESULT|kinesis_put_payload_units|13219200000.0|synthetic-cost-units
RESULT|kinesis_monthly_usd|1263.9698|USD/month
RESULT|s3_monthly_usd|59.611731|USD/month
RESULT|kinesis_hot_key_rps|1200.0|source-records/s
RESULT|kinesis_hot_key_state|INFEASIBLE_SINGLE_KEY|state
RESULT|kinesis_standard_required_Bps|10500000.0|B/s
RESULT|kinesis_standard_capacity_Bps|26000000.0|B/s
RESULT|kinesis_standard_read_state|AGGREGATE_FITS_MEASURE_PER_SHARD|state
RESULT|kinesis_replay_spare_rps|3000.0|source-records/s
RESULT|kinesis_drain_seconds|1500.0|s
RESULT|kinesis_zero_drain_state|NO_SAFE_DRAIN_AT_ZERO_SPARE|state
RESULT|kinesis_retention_margin_hours|-6.0|hours
RESULT|kinesis_replay_retention_state|REPLAY_EXPIRED_RESTORE_REQUIRED|state
RESULT|audit_year1_storage_gb_month|7800.0|GB-month/cumulative-cohort-period
RESULT|audit_year1_storage_usd|179.4|USD/cumulative-cohort-period
RESULT|audit_year1_retained_years|1.0|retained-years
RESULT|audit_two_year_storage_gb_month|30000.0|GB-month/cumulative-cohort-period
RESULT|audit_two_year_storage_usd|690.0|USD/cumulative-cohort-period
RESULT|audit_two_year_retained_years|2.0|retained-years
RESULT|audit_steady_storage_gb_month|28800.0|GB-month/year
RESULT|audit_steady_storage_usd|662.4|USD/year
RESULT|audit_steady_retained_years|2.0|retained-years
RESULT|audit_year1_cost_per_retained_year_usd|179.4|USD/retained-audit-year
RESULT|audit_two_year_cost_per_retained_year_usd|345.0|USD/retained-audit-year
RESULT|audit_steady_cost_per_retained_year_usd|331.2|USD/retained-audit-year
RESULT|audit_object_lock_usd_year|0.0|USD/year-scenario
RESULT|audit_requests_usd_year|0.0|USD/year-scenario
RESULT|audit_transitions_usd_year|0.0|USD/year-scenario
RESULT|audit_retrieval_usd_year|0.0|USD/year-scenario
RESULT|audit_kms_usd_year|0.0|USD/year-scenario
RESULT|audit_export_usd_year|0.0|USD/year-scenario
RESULT|audit_legal_review_usd_year|0.0|USD/year-scenario
RESULT|audit_adjacent_scenario_total_usd_year|0.0|USD/year-scenario
RESULT|audit_adjacent_scenarios_state|ZERO_PLANNING_INPUTS_REPRICE_BEFORE_DECISION|state
RESULT|cqrs_transport_usd_month|94.392164|USD/month
RESULT|cqrs_projection_index_usd_month|173.5992|USD/month
RESULT|cqrs_cache_storage_usd_month|150.0|USD/month
RESULT|cqrs_rebuild_replay_usd_month|8.67996|USD/month
RESULT|cqrs_reconciliation_usd_month|2.679914|USD/month
RESULT|cqrs_engineering_usd_month|900.0|USD/month
RESULT|cqrs_oncall_usd_month|300.0|USD/month
RESULT|cqrs_break_even_reads_per_write|75.462912|reads/write
RESULT|cqrs_read_heavy_net_usd|-887.203238|USD/month
RESULT|cqrs_mixed_net_usd|-2350.607558|USD/month
RESULT|cqrs_write_heavy_net_usd|-2559.665318|USD/month
RESULT|cqrs_zero_benefit_state|NO_ECONOMIC_WIN_ZERO_BENEFIT|state
RESULT|cqrs_half_volume_break_even|142.908388|reads/write
RESULT|cqrs_double_volume_break_even|41.740175|reads/write
RESULT|cqrs_half_benefit_break_even|150.925825|reads/write
RESULT|cqrs_double_fanout_break_even|80.744184|reads/write
RESULT|cqrs_measured_p99_gain_ms|95.0|ms
RESULT|cqrs_measured_freshness_s|2.0|s
RESULT|ddb_eventual_rru|1.0|RRU/read
RESULT|ddb_strong_rru|2.0|RRU/read
RESULT|ddb_transactional_rru|4.0|RRU/read
RESULT|marginal_platform_usd|2489.631616|USD/month
RESULT|allocated_platform_usd|24489.631616|USD/month
RESULT|fully_loaded_risk_adjusted_usd|29489.631616|USD/month
RESULT|allocation_share_sum|1.0|ratio
RESULT|lambda_contribution_percent|1.763656|percent
RESULT|ddb_contribution_percent|45.072593|percent
RESULT|kinesis_contribution_percent|50.76935|percent
RESULT|s3_contribution_percent|2.3944|percent
RESULT|half_traffic_shards|7.0|shards
RESULT|double_traffic_shards|25.0|shards
RESULT|double_fanout_work_records|83203200000.0|consumer-records/month
RESULT|tenfold_burst_lambda_concurrency|48.0|concurrent-invocations
RESULT|tenfold_burst_queue_records|4300800.0|records
RESULT|replay_load_records|2592000000.0|records/month
RESULT|ddb_lane_order_wru_per_order|4.0|WRU/order
RESULT|ddb_lane_order_hot_wru_s|480.0|WRU/s
RESULT|ddb_lane_order_state|FEASIBLE|state
RESULT|ddb_lane_idempotency_wru_per_order|2.0|WRU/order
RESULT|ddb_lane_idempotency_hot_wru_s|160.0|WRU/s
RESULT|ddb_lane_idempotency_state|FEASIBLE|state
RESULT|ddb_lane_outbox_wru_per_order|4.0|WRU/order
RESULT|ddb_lane_outbox_hot_wru_s|400.0|WRU/s
RESULT|ddb_lane_outbox_state|FEASIBLE|state
RESULT|ddb_lane_sentinel_wru_per_order|2.0|WRU/order
RESULT|ddb_lane_sentinel_hot_wru_s|80.0|WRU/s
RESULT|ddb_lane_sentinel_state|FEASIBLE|state
RESULT|ddb_lane_order_account_gsi_wru_per_order|1.0|WRU/order
RESULT|ddb_lane_order_account_gsi_hot_wru_s|80.0|WRU/s
RESULT|ddb_lane_order_account_gsi_state|FEASIBLE|state
RESULT|ddb_lane_order_status_gsi_wru_per_order|1.0|WRU/order
RESULT|ddb_lane_order_status_gsi_hot_wru_s|60.0|WRU/s
RESULT|ddb_lane_order_status_gsi_state|FEASIBLE|state
RESULT|ddb_lane_outbox_ready_gsi_wru_per_order|1.0|WRU/order
RESULT|ddb_lane_outbox_ready_gsi_hot_wru_s|100.0|WRU/s
RESULT|ddb_lane_outbox_ready_gsi_state|FEASIBLE|state
RESULT|replay_efo_retrieval_gb|1267.34376|GB/month
RESULT|replay_efo_retrieval_usd|18.629953|USD/month
RESULT|replay_source_state|EXPIRED_S3_RESTORE_REINGEST|state
RESULT|replay_source_available_rps|4000.0|source-records/s
RESULT|replay_effective_rate_rps|3000.0|source-records/s
RESULT|replay_rate_bottleneck|KINESIS_SPARE|state
RESULT|replay_sink_capacity_source_rps|6535.947712|source-records/s
RESULT|replay_archive_objects|3380.0|objects/month
RESULT|replay_s3_source_gb|422.44792|GB/month
RESULT|replay_s3_restore_request_usd|0.1859|USD/month
RESULT|replay_s3_get_request_usd|0.001352|USD/month
RESULT|replay_s3_retrieval_usd|4.224479|USD/month
RESULT|replay_reingest_put_units|648000000.0|payload-units/month
RESULT|replay_reingest_put_usd|10.692|USD/month
RESULT|replay_post_reingest_read_mode|EFO|state
RESULT|replay_post_reingest_read_capacity_rps|4000.0|source-records/s
RESULT|replay_post_reingest_read_gb|1267.34376|GB/month
RESULT|replay_post_reingest_read_usd|18.629953|USD/month
RESULT|replay_post_reingest_read_capacity_state|CAPACITY_AVAILABLE|state
RESULT|replay_consumer_invocations|19440000.0|invocations/month
RESULT|replay_consumer_compute_usd|29.808052|USD/month
RESULT|replay_sink_attempts|1982880000.0|attempts/month
RESULT|replay_sink_projection_wru|198288000.0|WRU/month
RESULT|replay_sink_projection_usd|139.79304|USD/month
RESULT|replay_idempotency_rru|1982880000.0|RRU/month
RESULT|replay_idempotency_usd|280.57752|USD/month
RESULT|replay_reconciliation_attempts|19828800.0|attempts/month
RESULT|replay_reconciliation_usd|6.771535|USD/month
RESULT|replay_sink_demand_wru_s|918.0|WRU/s
RESULT|replay_sink_capacity_headroom_wru_s|1082.0|WRU/s
RESULT|replay_sink_capacity_state|CAPACITY_FEASIBLE|state
RESULT|replay_drain_seconds|216000.0|s
RESULT|replay_retained_probe_source_state|RETAINED_KINESIS_EFO|state
RESULT|replay_retained_probe_effective_rate_rps|3000.0|source-records/s
RESULT|replay_retained_probe_rate_bottleneck|KINESIS_SPARE|state
RESULT|replay_retained_probe_drain_seconds|216000.0|s
RESULT|replay_retained_probe_efo_usd|18.629953|USD/month
RESULT|replay_retained_probe_s3_usd|0.0|USD/month
RESULT|replay_retained_probe_reingest_usd|0.0|USD/month
RESULT|replay_expired_probe_source_state|EXPIRED_S3_RESTORE_REINGEST|state
RESULT|replay_expired_probe_efo_usd|18.629953|USD/month
RESULT|replay_expired_probe_s3_usd|4.411731|USD/month
RESULT|replay_expired_probe_reingest_usd|10.692|USD/month
RESULT|replay_sink_limited_500_rate_rps|1633.986928|source-records/s
RESULT|replay_sink_limited_500_drain_seconds|396576.0|s
RESULT|replay_sink_limited_500_demand_wru_s|500.0|WRU/s
RESULT|replay_sink_limited_500_state|SINK|state
RESULT|replay_consumer_limited_rate_rps|1000.0|source-records/s
RESULT|replay_consumer_limited_drain_seconds|648000.0|s
RESULT|replay_consumer_limited_state|CONSUMER|state
RESULT|replay_zero_spare_rate_rps|0.0|source-records/s
RESULT|replay_zero_spare_drain_state|NO_SAFE_DRAIN|state
RESULT|replay_zero_spare_drain_seconds|INFINITE|s
RESULT|accepted_order_marginal_numerator_usd|497.926323|USD/numerator-period
RESULT|accepted_order_marginal_usd|0.000008|USD/business-unit
RESULT|accepted_order_allocated_numerator_usd|4897.926323|USD/numerator-period
RESULT|accepted_order_allocated_usd|0.00008|USD/business-unit
RESULT|accepted_order_fully_loaded_numerator_usd|5897.926323|USD/numerator-period
RESULT|accepted_order_fully_loaded_usd|0.000096|USD/business-unit
RESULT|accepted_order_denominator|61560000.0|business-units
RESULT|execution_fill_marginal_numerator_usd|497.926323|USD/numerator-period
RESULT|execution_fill_marginal_usd|0.000007|USD/business-unit
RESULT|execution_fill_allocated_numerator_usd|4897.926323|USD/numerator-period
RESULT|execution_fill_allocated_usd|0.000066|USD/business-unit
RESULT|execution_fill_fully_loaded_numerator_usd|5897.926323|USD/numerator-period
RESULT|execution_fill_fully_loaded_usd|0.00008|USD/business-unit
RESULT|execution_fill_denominator|73872000.0|business-units
RESULT|million_market_updates_marginal_numerator_usd|871.371066|USD/numerator-period
RESULT|million_market_updates_marginal_usd|0.067235|USD/business-unit
RESULT|million_market_updates_allocated_numerator_usd|8571.371066|USD/numerator-period
RESULT|million_market_updates_allocated_usd|0.661371|USD/business-unit
RESULT|million_market_updates_fully_loaded_numerator_usd|10321.371066|USD/numerator-period
RESULT|million_market_updates_fully_loaded_usd|0.796402|USD/business-unit
RESULT|million_market_updates_denominator|12960.0|business-units
RESULT|active_account_month_marginal_numerator_usd|124.481581|USD/numerator-period
RESULT|active_account_month_marginal_usd|0.00249|USD/business-unit
RESULT|active_account_month_allocated_numerator_usd|1224.481581|USD/numerator-period
RESULT|active_account_month_allocated_usd|0.02449|USD/business-unit
RESULT|active_account_month_fully_loaded_numerator_usd|1474.481581|USD/numerator-period
RESULT|active_account_month_fully_loaded_usd|0.02949|USD/business-unit
RESULT|active_account_month_denominator|50000.0|business-units
RESULT|projection_update_marginal_numerator_usd|373.444742|USD/numerator-period
RESULT|projection_update_marginal_usd|0.000002|USD/business-unit
RESULT|projection_update_allocated_numerator_usd|3673.444742|USD/numerator-period
RESULT|projection_update_allocated_usd|0.000015|USD/business-unit
RESULT|projection_update_fully_loaded_numerator_usd|4423.444742|USD/numerator-period
RESULT|projection_update_fully_loaded_usd|0.000018|USD/business-unit
RESULT|projection_update_denominator|246240000.0|business-units
RESULT|retained_audit_year_marginal_numerator_usd|1493.778969|USD/numerator-period
RESULT|retained_audit_year_marginal_usd|746.889485|USD/business-unit
RESULT|retained_audit_year_allocated_numerator_usd|14693.778969|USD/numerator-period
RESULT|retained_audit_year_allocated_usd|7346.889485|USD/business-unit
RESULT|retained_audit_year_fully_loaded_numerator_usd|17693.778969|USD/numerator-period
RESULT|retained_audit_year_fully_loaded_usd|8846.889485|USD/business-unit
RESULT|retained_audit_year_denominator|2.0|business-units
RESULT|scenario_half_marginal_usd|1269.295808|USD/month
RESULT|scenario_half_accepted_order_marginal_usd|0.000008|USD/business-unit
RESULT|scenario_half_accepted_order_allocated_usd|0.000151|USD/business-unit
RESULT|scenario_half_accepted_order_fully_loaded_usd|0.000184|USD/business-unit
RESULT|scenario_half_execution_fill_marginal_usd|0.000007|USD/business-unit
RESULT|scenario_half_execution_fill_allocated_usd|0.000126|USD/business-unit
RESULT|scenario_half_execution_fill_fully_loaded_usd|0.000153|USD/business-unit
RESULT|scenario_half_million_market_updates_marginal_usd|0.068558|USD/business-unit
RESULT|scenario_half_million_market_updates_allocated_usd|1.256829|USD/business-unit
RESULT|scenario_half_million_market_updates_fully_loaded_usd|1.526891|USD/business-unit
RESULT|scenario_half_active_account_month_marginal_usd|0.002539|USD/business-unit
RESULT|scenario_half_active_account_month_allocated_usd|0.046539|USD/business-unit
RESULT|scenario_half_active_account_month_fully_loaded_usd|0.056539|USD/business-unit
RESULT|scenario_half_projection_update_marginal_usd|0.000002|USD/business-unit
RESULT|scenario_half_projection_update_allocated_usd|0.000028|USD/business-unit
RESULT|scenario_half_projection_update_fully_loaded_usd|0.000034|USD/business-unit
RESULT|scenario_half_retained_audit_year_marginal_usd|380.788742|USD/business-unit
RESULT|scenario_half_retained_audit_year_allocated_usd|6980.788742|USD/business-unit
RESULT|scenario_half_retained_audit_year_fully_loaded_usd|8480.788742|USD/business-unit
RESULT|scenario_double_marginal_usd|4930.303231|USD/month
RESULT|scenario_double_accepted_order_marginal_usd|0.000008|USD/business-unit
RESULT|scenario_double_accepted_order_allocated_usd|0.000044|USD/business-unit
RESULT|scenario_double_accepted_order_fully_loaded_usd|0.000052|USD/business-unit
RESULT|scenario_double_execution_fill_marginal_usd|0.000007|USD/business-unit
RESULT|scenario_double_execution_fill_allocated_usd|0.000036|USD/business-unit
RESULT|scenario_double_execution_fill_fully_loaded_usd|0.000043|USD/business-unit
RESULT|scenario_double_million_market_updates_marginal_usd|0.066574|USD/business-unit
RESULT|scenario_double_million_market_updates_allocated_usd|0.363642|USD/business-unit
RESULT|scenario_double_million_market_updates_fully_loaded_usd|0.431158|USD/business-unit
RESULT|scenario_double_active_account_month_marginal_usd|0.002465|USD/business-unit
RESULT|scenario_double_active_account_month_allocated_usd|0.013465|USD/business-unit
RESULT|scenario_double_active_account_month_fully_loaded_usd|0.015965|USD/business-unit
RESULT|scenario_double_projection_update_marginal_usd|0.000002|USD/business-unit
RESULT|scenario_double_projection_update_allocated_usd|0.000008|USD/business-unit
RESULT|scenario_double_projection_update_fully_loaded_usd|0.00001|USD/business-unit
RESULT|scenario_double_retained_audit_year_marginal_usd|1479.090969|USD/business-unit
RESULT|scenario_double_retained_audit_year_allocated_usd|8079.090969|USD/business-unit
RESULT|scenario_double_retained_audit_year_fully_loaded_usd|9579.090969|USD/business-unit
RESULT|scenario_double_fanout_marginal_usd|3347.042662|USD/month
RESULT|scenario_double_fanout_accepted_order_marginal_usd|0.000011|USD/business-unit
RESULT|scenario_double_fanout_accepted_order_allocated_usd|0.000082|USD/business-unit
RESULT|scenario_double_fanout_accepted_order_fully_loaded_usd|0.000099|USD/business-unit
RESULT|scenario_double_fanout_execution_fill_marginal_usd|0.000009|USD/business-unit
RESULT|scenario_double_fanout_execution_fill_allocated_usd|0.000069|USD/business-unit
RESULT|scenario_double_fanout_execution_fill_fully_loaded_usd|0.000082|USD/business-unit
RESULT|scenario_double_fanout_million_market_updates_marginal_usd|0.090391|USD/business-unit
RESULT|scenario_double_fanout_million_market_updates_allocated_usd|0.684527|USD/business-unit
RESULT|scenario_double_fanout_million_market_updates_fully_loaded_usd|0.819557|USD/business-unit
RESULT|scenario_double_fanout_active_account_month_marginal_usd|0.003347|USD/business-unit
RESULT|scenario_double_fanout_active_account_month_allocated_usd|0.025347|USD/business-unit
RESULT|scenario_double_fanout_active_account_month_fully_loaded_usd|0.030347|USD/business-unit
RESULT|scenario_double_fanout_projection_update_marginal_usd|0.000002|USD/business-unit
RESULT|scenario_double_fanout_projection_update_allocated_usd|0.000015|USD/business-unit
RESULT|scenario_double_fanout_projection_update_fully_loaded_usd|0.000018|USD/business-unit
RESULT|scenario_double_fanout_retained_audit_year_marginal_usd|1004.112799|USD/business-unit
RESULT|scenario_double_fanout_retained_audit_year_allocated_usd|7604.112799|USD/business-unit
RESULT|scenario_double_fanout_retained_audit_year_fully_loaded_usd|9104.112799|USD/business-unit
RESULT|scenario_replay_marginal_usd|3961.683055|USD/month
RESULT|scenario_replay_accepted_order_marginal_usd|0.000013|USD/business-unit
RESULT|scenario_replay_accepted_order_allocated_usd|0.000084|USD/business-unit
RESULT|scenario_replay_accepted_order_fully_loaded_usd|0.000101|USD/business-unit
RESULT|scenario_replay_execution_fill_marginal_usd|0.000011|USD/business-unit
RESULT|scenario_replay_execution_fill_allocated_usd|0.00007|USD/business-unit
RESULT|scenario_replay_execution_fill_fully_loaded_usd|0.000084|USD/business-unit
RESULT|scenario_replay_million_market_updates_marginal_usd|0.10699|USD/business-unit
RESULT|scenario_replay_million_market_updates_allocated_usd|0.701126|USD/business-unit
RESULT|scenario_replay_million_market_updates_fully_loaded_usd|0.836157|USD/business-unit
RESULT|scenario_replay_active_account_month_marginal_usd|0.003962|USD/business-unit
RESULT|scenario_replay_active_account_month_allocated_usd|0.025962|USD/business-unit
RESULT|scenario_replay_active_account_month_fully_loaded_usd|0.030962|USD/business-unit
RESULT|scenario_replay_projection_update_marginal_usd|0.000002|USD/business-unit
RESULT|scenario_replay_projection_update_allocated_usd|0.000016|USD/business-unit
RESULT|scenario_replay_projection_update_fully_loaded_usd|0.000019|USD/business-unit
RESULT|scenario_replay_retained_audit_year_marginal_usd|1188.504916|USD/business-unit
RESULT|scenario_replay_retained_audit_year_allocated_usd|7788.504916|USD/business-unit
RESULT|scenario_replay_retained_audit_year_fully_loaded_usd|9288.504916|USD/business-unit
RESULT|scenario_replay_kinesis_usd|1351.93566|USD/month
RESULT|scenario_replay_efo_retrieval_usd|74.519813|USD/month
RESULT|scenario_replay_consumer_compute_usd|119.232207|USD/month
RESULT|scenario_replay_sink_projection_usd|559.17216|USD/month
RESULT|scenario_replay_idempotency_usd|1122.31008|USD/month
RESULT|scenario_replay_reconciliation_usd|27.086141|USD/month
RESULT|scenario_one_replica_marginal_usd|3188.596816|USD/month
RESULT|scenario_one_replica_accepted_order_marginal_usd|0.00001|USD/business-unit
RESULT|scenario_one_replica_accepted_order_allocated_usd|0.000082|USD/business-unit
RESULT|scenario_one_replica_accepted_order_fully_loaded_usd|0.000098|USD/business-unit
RESULT|scenario_one_replica_execution_fill_marginal_usd|0.000009|USD/business-unit
RESULT|scenario_one_replica_execution_fill_allocated_usd|0.000068|USD/business-unit
RESULT|scenario_one_replica_execution_fill_fully_loaded_usd|0.000082|USD/business-unit
RESULT|scenario_one_replica_million_market_updates_marginal_usd|0.086112|USD/business-unit
RESULT|scenario_one_replica_million_market_updates_allocated_usd|0.680248|USD/business-unit
RESULT|scenario_one_replica_million_market_updates_fully_loaded_usd|0.815278|USD/business-unit
RESULT|scenario_one_replica_active_account_month_marginal_usd|0.003189|USD/business-unit
RESULT|scenario_one_replica_active_account_month_allocated_usd|0.025189|USD/business-unit
RESULT|scenario_one_replica_active_account_month_fully_loaded_usd|0.030189|USD/business-unit
RESULT|scenario_one_replica_projection_update_marginal_usd|0.000002|USD/business-unit
RESULT|scenario_one_replica_projection_update_allocated_usd|0.000015|USD/business-unit
RESULT|scenario_one_replica_projection_update_fully_loaded_usd|0.000018|USD/business-unit
RESULT|scenario_one_replica_retained_audit_year_marginal_usd|956.579045|USD/business-unit
RESULT|scenario_one_replica_retained_audit_year_allocated_usd|7556.579045|USD/business-unit
RESULT|scenario_one_replica_retained_audit_year_fully_loaded_usd|9056.579045|USD/business-unit
RESULT|scenario_one_replica_topology_state|GLOBAL_TABLE_ALL_REGIONS_BASE_RWRU_GSI_WRU|state
RESULT|scenario_one_replica_region_count|2.0|Regions
RESULT|scenario_one_replica_base_rwru_usd|1118.34432|USD/month
RESULT|scenario_one_replica_gsi_wru_usd|279.58608|USD/month
Result IDValueUnit
monthly_orders64800000.0orders/month
monthly_accepted_orders61560000.0accepted/month
monthly_fills73872000.0fills/month
monthly_market_updates12960000000.0records/month
monthly_projection_updates246240000.0updates/month
batch_small_invocations66096000.0invocations/month
batch_small_chunks1.0chunks/invocation
batch_small_flush_ms5.0ms
batch_small_redelivery_records0.03record-attempts/original-batch
batch_small_expected_extra_attempts0.03record-attempts/original-batch
batch_small_conditional_max_coupled_records1.0records/poison-batch
batch_small_concurrency48.0concurrent-invocations
batch_small_commits66744000.0commits/month
batch_medium_invocations6609600.0invocations/month
batch_medium_chunks1.0chunks/invocation
batch_medium_flush_ms50.0ms
batch_medium_redelivery_records0.3record-attempts/original-batch
batch_medium_expected_extra_attempts0.3record-attempts/original-batch
batch_medium_conditional_max_coupled_records10.0records/poison-batch
batch_medium_concurrency5.0concurrent-invocations
batch_medium_commits6674400.0commits/month
batch_large_invocations660960.0invocations/month
batch_large_chunks3.0chunks/invocation
batch_large_flush_ms500.0ms
batch_large_redelivery_records3.0record-attempts/original-batch
batch_large_expected_extra_attempts3.0record-attempts/original-batch
batch_large_conditional_max_coupled_records100.0records/poison-batch
batch_large_concurrency1.0concurrent-invocations
batch_large_commits667440.0commits/month
fanout_consumer_work_records41601600000.0consumer-records/month
partial_batch_checkpoint_stateENABLED_LIMITS_SUCCESSFUL_PREFIX_REPLAYstate
lambda_monthly_usd43.908549USD/month
fargate_monthly_usd71.0928USD/month
fargate_capacity_per_task_rps125.0events/s/task
fargate_required_tasks5.0tasks
fargate_minimum_feasible_monthly_usd177.732USD/month
fargate_baseline_basket_statePRICE_ONLY_INFEASIBLEstate
compute_break_even_events_rps438.422795source-records/s
compute_break_even_average_rps438.422795time-averaged-events/s
compute_break_even_active_rps1753.691181active-period-events/s
compute_break_even_lambda_usd177.732USD/month
compute_break_even_plugback_usd177.732USD/month
compute_crossing_stateNO_CAPACITY_FEASIBLE_PRICE_CROSSINGstate
compute_candidate_average_rps438.422795time-averaged-events/s
compute_candidate_active_rps1753.691181active-period-events/s
compute_candidate_peak_rps7014.764726peak-events/s
compute_candidate_required_tasks85.0tasks
compute_candidate_fleet_usd3021.444USD/month
compute_candidate_lambda_usd177.732USD/month
compute_candidate_price_gap_usd2843.712USD/month
compute_candidate_queue_events0.0events
compute_crossing_search_max_average_rps10000.0time-averaged-events/s
fargate_scaling_lag_queue_events4500.0events
lambda_warm_tail_margin_ms20.0ms
lambda_cold_tail_stateTARGET_MISSEDstate
ddb_wru_per_order15.0WRU/order
ddb_base_wru_per_order12.0WRU/order
ddb_gsi_wru_per_order3.0WRU/order
ddb_replica_wru_per_order0.0WRU/order/replicas
ddb_replica_base_rwru_per_order12.0WRU/order
ddb_replica_gsi_wru_per_order3.0WRU/order
ddb_replica_base_usd_month559.17216USD/month
ddb_replica_gsi_usd_month139.79304USD/month
ddb_replica_exclusions_stateZERO_PLANNING_INPUTS_REPRICE_BEFORE_TOPOLOGY_DECISIONstate
ddb_topology_stateSINGLE_REGION_ORDINARY_WRUstate
ddb_topology_region_count1.0Regions
ddb_topology_base_usd559.17216USD/month
ddb_topology_gsi_usd139.79304USD/month
ddb_unequal_price_single_region_units15.0synthetic-cost-units
ddb_unequal_price_two_region_units54.0synthetic-cost-units
ddb_unequal_price_probe_stateOPERATION_SPLIT_PROVENstate
ddb_monthly_usd1122.141535USD/month
ddb_billing_aggregate_wru_s1800.0WRU/s
ddb_max_hot_lane_wru_s480.0WRU/s
ddb_max_hot_lane_idorderidentifier
ddb_max_hot_lane_stateFEASIBLEstate
ddb_lane_headroom_wru_s520.0WRU/s
kinesis_planned_shards13.0shards
kinesis_put_payload_units13219200000.0synthetic-cost-units
kinesis_monthly_usd1263.9698USD/month
s3_monthly_usd59.611731USD/month
kinesis_hot_key_rps1200.0source-records/s
kinesis_hot_key_stateINFEASIBLE_SINGLE_KEYstate
kinesis_standard_required_Bps10500000.0B/s
kinesis_standard_capacity_Bps26000000.0B/s
kinesis_standard_read_stateAGGREGATE_FITS_MEASURE_PER_SHARDstate
kinesis_replay_spare_rps3000.0source-records/s
kinesis_drain_seconds1500.0s
kinesis_zero_drain_stateNO_SAFE_DRAIN_AT_ZERO_SPAREstate
kinesis_retention_margin_hours-6.0hours
kinesis_replay_retention_stateREPLAY_EXPIRED_RESTORE_REQUIREDstate
audit_year1_storage_gb_month7800.0GB-month/cumulative-cohort-period
audit_year1_storage_usd179.4USD/cumulative-cohort-period
audit_year1_retained_years1.0retained-years
audit_two_year_storage_gb_month30000.0GB-month/cumulative-cohort-period
audit_two_year_storage_usd690.0USD/cumulative-cohort-period
audit_two_year_retained_years2.0retained-years
audit_steady_storage_gb_month28800.0GB-month/year
audit_steady_storage_usd662.4USD/year
audit_steady_retained_years2.0retained-years
audit_year1_cost_per_retained_year_usd179.4USD/retained-audit-year
audit_two_year_cost_per_retained_year_usd345.0USD/retained-audit-year
audit_steady_cost_per_retained_year_usd331.2USD/retained-audit-year
audit_object_lock_usd_year0.0USD/year-scenario
audit_requests_usd_year0.0USD/year-scenario
audit_transitions_usd_year0.0USD/year-scenario
audit_retrieval_usd_year0.0USD/year-scenario
audit_kms_usd_year0.0USD/year-scenario
audit_export_usd_year0.0USD/year-scenario
audit_legal_review_usd_year0.0USD/year-scenario
audit_adjacent_scenario_total_usd_year0.0USD/year-scenario
audit_adjacent_scenarios_stateZERO_PLANNING_INPUTS_REPRICE_BEFORE_DECISIONstate
cqrs_transport_usd_month94.392164USD/month
cqrs_projection_index_usd_month173.5992USD/month
cqrs_cache_storage_usd_month150.0USD/month
cqrs_rebuild_replay_usd_month8.67996USD/month
cqrs_reconciliation_usd_month2.679914USD/month
cqrs_engineering_usd_month900.0USD/month
cqrs_oncall_usd_month300.0USD/month
cqrs_break_even_reads_per_write75.462912reads/write
cqrs_read_heavy_net_usd-887.203238USD/month
cqrs_mixed_net_usd-2350.607558USD/month
cqrs_write_heavy_net_usd-2559.665318USD/month
cqrs_zero_benefit_stateNO_ECONOMIC_WIN_ZERO_BENEFITstate
cqrs_half_volume_break_even142.908388reads/write
cqrs_double_volume_break_even41.740175reads/write
cqrs_half_benefit_break_even150.925825reads/write
cqrs_double_fanout_break_even80.744184reads/write
cqrs_measured_p99_gain_ms95.0ms
cqrs_measured_freshness_s2.0s
ddb_eventual_rru1.0RRU/read
ddb_strong_rru2.0RRU/read
ddb_transactional_rru4.0RRU/read
marginal_platform_usd2489.631616USD/month
allocated_platform_usd24489.631616USD/month
fully_loaded_risk_adjusted_usd29489.631616USD/month
allocation_share_sum1.0ratio
lambda_contribution_percent1.763656percent
ddb_contribution_percent45.072593percent
kinesis_contribution_percent50.76935percent
s3_contribution_percent2.3944percent
half_traffic_shards7.0shards
double_traffic_shards25.0shards
double_fanout_work_records83203200000.0consumer-records/month
tenfold_burst_lambda_concurrency48.0concurrent-invocations
tenfold_burst_queue_records4300800.0records
replay_load_records2592000000.0records/month
ddb_lane_order_wru_per_order4.0WRU/order
ddb_lane_order_hot_wru_s480.0WRU/s
ddb_lane_order_stateFEASIBLEstate
ddb_lane_idempotency_wru_per_order2.0WRU/order
ddb_lane_idempotency_hot_wru_s160.0WRU/s
ddb_lane_idempotency_stateFEASIBLEstate
ddb_lane_outbox_wru_per_order4.0WRU/order
ddb_lane_outbox_hot_wru_s400.0WRU/s
ddb_lane_outbox_stateFEASIBLEstate
ddb_lane_sentinel_wru_per_order2.0WRU/order
ddb_lane_sentinel_hot_wru_s80.0WRU/s
ddb_lane_sentinel_stateFEASIBLEstate
ddb_lane_order_account_gsi_wru_per_order1.0WRU/order
ddb_lane_order_account_gsi_hot_wru_s80.0WRU/s
ddb_lane_order_account_gsi_stateFEASIBLEstate
ddb_lane_order_status_gsi_wru_per_order1.0WRU/order
ddb_lane_order_status_gsi_hot_wru_s60.0WRU/s
ddb_lane_order_status_gsi_stateFEASIBLEstate
ddb_lane_outbox_ready_gsi_wru_per_order1.0WRU/order
ddb_lane_outbox_ready_gsi_hot_wru_s100.0WRU/s
ddb_lane_outbox_ready_gsi_stateFEASIBLEstate
replay_efo_retrieval_gb1267.34376GB/month
replay_efo_retrieval_usd18.629953USD/month
replay_source_stateEXPIRED_S3_RESTORE_REINGESTstate
replay_source_available_rps4000.0source-records/s
replay_effective_rate_rps3000.0source-records/s
replay_rate_bottleneckKINESIS_SPAREstate
replay_sink_capacity_source_rps6535.947712source-records/s
replay_archive_objects3380.0objects/month
replay_s3_source_gb422.44792GB/month
replay_s3_restore_request_usd0.1859USD/month
replay_s3_get_request_usd0.001352USD/month
replay_s3_retrieval_usd4.224479USD/month
replay_reingest_put_units648000000.0payload-units/month
replay_reingest_put_usd10.692USD/month
replay_post_reingest_read_modeEFOstate
replay_post_reingest_read_capacity_rps4000.0source-records/s
replay_post_reingest_read_gb1267.34376GB/month
replay_post_reingest_read_usd18.629953USD/month
replay_post_reingest_read_capacity_stateCAPACITY_AVAILABLEstate
replay_consumer_invocations19440000.0invocations/month
replay_consumer_compute_usd29.808052USD/month
replay_sink_attempts1982880000.0attempts/month
replay_sink_projection_wru198288000.0WRU/month
replay_sink_projection_usd139.79304USD/month
replay_idempotency_rru1982880000.0RRU/month
replay_idempotency_usd280.57752USD/month
replay_reconciliation_attempts19828800.0attempts/month
replay_reconciliation_usd6.771535USD/month
replay_sink_demand_wru_s918.0WRU/s
replay_sink_capacity_headroom_wru_s1082.0WRU/s
replay_sink_capacity_stateCAPACITY_FEASIBLEstate
replay_drain_seconds216000.0s
replay_retained_probe_source_stateRETAINED_KINESIS_EFOstate
replay_retained_probe_effective_rate_rps3000.0source-records/s
replay_retained_probe_rate_bottleneckKINESIS_SPAREstate
replay_retained_probe_drain_seconds216000.0s
replay_retained_probe_efo_usd18.629953USD/month
replay_retained_probe_s3_usd0.0USD/month
replay_retained_probe_reingest_usd0.0USD/month
replay_expired_probe_source_stateEXPIRED_S3_RESTORE_REINGESTstate
replay_expired_probe_efo_usd18.629953USD/month
replay_expired_probe_s3_usd4.411731USD/month
replay_expired_probe_reingest_usd10.692USD/month
replay_sink_limited_500_rate_rps1633.986928source-records/s
replay_sink_limited_500_drain_seconds396576.0s
replay_sink_limited_500_demand_wru_s500.0WRU/s
replay_sink_limited_500_stateSINKstate
replay_consumer_limited_rate_rps1000.0source-records/s
replay_consumer_limited_drain_seconds648000.0s
replay_consumer_limited_stateCONSUMERstate
replay_zero_spare_rate_rps0.0source-records/s
replay_zero_spare_drain_stateNO_SAFE_DRAINstate
replay_zero_spare_drain_secondsINFINITEs
accepted_order_marginal_numerator_usd497.926323USD/numerator-period
accepted_order_marginal_usd0.000008USD/business-unit
accepted_order_allocated_numerator_usd4897.926323USD/numerator-period
accepted_order_allocated_usd0.00008USD/business-unit
accepted_order_fully_loaded_numerator_usd5897.926323USD/numerator-period
accepted_order_fully_loaded_usd0.000096USD/business-unit
accepted_order_denominator61560000.0business-units
execution_fill_marginal_numerator_usd497.926323USD/numerator-period
execution_fill_marginal_usd0.000007USD/business-unit
execution_fill_allocated_numerator_usd4897.926323USD/numerator-period
execution_fill_allocated_usd0.000066USD/business-unit
execution_fill_fully_loaded_numerator_usd5897.926323USD/numerator-period
execution_fill_fully_loaded_usd0.00008USD/business-unit
execution_fill_denominator73872000.0business-units
million_market_updates_marginal_numerator_usd871.371066USD/numerator-period
million_market_updates_marginal_usd0.067235USD/business-unit
million_market_updates_allocated_numerator_usd8571.371066USD/numerator-period
million_market_updates_allocated_usd0.661371USD/business-unit
million_market_updates_fully_loaded_numerator_usd10321.371066USD/numerator-period
million_market_updates_fully_loaded_usd0.796402USD/business-unit
million_market_updates_denominator12960.0business-units
active_account_month_marginal_numerator_usd124.481581USD/numerator-period
active_account_month_marginal_usd0.00249USD/business-unit
active_account_month_allocated_numerator_usd1224.481581USD/numerator-period
active_account_month_allocated_usd0.02449USD/business-unit
active_account_month_fully_loaded_numerator_usd1474.481581USD/numerator-period
active_account_month_fully_loaded_usd0.02949USD/business-unit
active_account_month_denominator50000.0business-units
projection_update_marginal_numerator_usd373.444742USD/numerator-period
projection_update_marginal_usd0.000002USD/business-unit
projection_update_allocated_numerator_usd3673.444742USD/numerator-period
projection_update_allocated_usd0.000015USD/business-unit
projection_update_fully_loaded_numerator_usd4423.444742USD/numerator-period
projection_update_fully_loaded_usd0.000018USD/business-unit
projection_update_denominator246240000.0business-units
retained_audit_year_marginal_numerator_usd1493.778969USD/numerator-period
retained_audit_year_marginal_usd746.889485USD/business-unit
retained_audit_year_allocated_numerator_usd14693.778969USD/numerator-period
retained_audit_year_allocated_usd7346.889485USD/business-unit
retained_audit_year_fully_loaded_numerator_usd17693.778969USD/numerator-period
retained_audit_year_fully_loaded_usd8846.889485USD/business-unit
retained_audit_year_denominator2.0business-units
scenario_half_marginal_usd1269.295808USD/month
scenario_half_accepted_order_marginal_usd0.000008USD/business-unit
scenario_half_accepted_order_allocated_usd0.000151USD/business-unit
scenario_half_accepted_order_fully_loaded_usd0.000184USD/business-unit
scenario_half_execution_fill_marginal_usd0.000007USD/business-unit
scenario_half_execution_fill_allocated_usd0.000126USD/business-unit
scenario_half_execution_fill_fully_loaded_usd0.000153USD/business-unit
scenario_half_million_market_updates_marginal_usd0.068558USD/business-unit
scenario_half_million_market_updates_allocated_usd1.256829USD/business-unit
scenario_half_million_market_updates_fully_loaded_usd1.526891USD/business-unit
scenario_half_active_account_month_marginal_usd0.002539USD/business-unit
scenario_half_active_account_month_allocated_usd0.046539USD/business-unit
scenario_half_active_account_month_fully_loaded_usd0.056539USD/business-unit
scenario_half_projection_update_marginal_usd0.000002USD/business-unit
scenario_half_projection_update_allocated_usd0.000028USD/business-unit
scenario_half_projection_update_fully_loaded_usd0.000034USD/business-unit
scenario_half_retained_audit_year_marginal_usd380.788742USD/business-unit
scenario_half_retained_audit_year_allocated_usd6980.788742USD/business-unit
scenario_half_retained_audit_year_fully_loaded_usd8480.788742USD/business-unit
scenario_double_marginal_usd4930.303231USD/month
scenario_double_accepted_order_marginal_usd0.000008USD/business-unit
scenario_double_accepted_order_allocated_usd0.000044USD/business-unit
scenario_double_accepted_order_fully_loaded_usd0.000052USD/business-unit
scenario_double_execution_fill_marginal_usd0.000007USD/business-unit
scenario_double_execution_fill_allocated_usd0.000036USD/business-unit
scenario_double_execution_fill_fully_loaded_usd0.000043USD/business-unit
scenario_double_million_market_updates_marginal_usd0.066574USD/business-unit
scenario_double_million_market_updates_allocated_usd0.363642USD/business-unit
scenario_double_million_market_updates_fully_loaded_usd0.431158USD/business-unit
scenario_double_active_account_month_marginal_usd0.002465USD/business-unit
scenario_double_active_account_month_allocated_usd0.013465USD/business-unit
scenario_double_active_account_month_fully_loaded_usd0.015965USD/business-unit
scenario_double_projection_update_marginal_usd0.000002USD/business-unit
scenario_double_projection_update_allocated_usd0.000008USD/business-unit
scenario_double_projection_update_fully_loaded_usd0.00001USD/business-unit
scenario_double_retained_audit_year_marginal_usd1479.090969USD/business-unit
scenario_double_retained_audit_year_allocated_usd8079.090969USD/business-unit
scenario_double_retained_audit_year_fully_loaded_usd9579.090969USD/business-unit
scenario_double_fanout_marginal_usd3347.042662USD/month
scenario_double_fanout_accepted_order_marginal_usd0.000011USD/business-unit
scenario_double_fanout_accepted_order_allocated_usd0.000082USD/business-unit
scenario_double_fanout_accepted_order_fully_loaded_usd0.000099USD/business-unit
scenario_double_fanout_execution_fill_marginal_usd0.000009USD/business-unit
scenario_double_fanout_execution_fill_allocated_usd0.000069USD/business-unit
scenario_double_fanout_execution_fill_fully_loaded_usd0.000082USD/business-unit
scenario_double_fanout_million_market_updates_marginal_usd0.090391USD/business-unit
scenario_double_fanout_million_market_updates_allocated_usd0.684527USD/business-unit
scenario_double_fanout_million_market_updates_fully_loaded_usd0.819557USD/business-unit
scenario_double_fanout_active_account_month_marginal_usd0.003347USD/business-unit
scenario_double_fanout_active_account_month_allocated_usd0.025347USD/business-unit
scenario_double_fanout_active_account_month_fully_loaded_usd0.030347USD/business-unit
scenario_double_fanout_projection_update_marginal_usd0.000002USD/business-unit
scenario_double_fanout_projection_update_allocated_usd0.000015USD/business-unit
scenario_double_fanout_projection_update_fully_loaded_usd0.000018USD/business-unit
scenario_double_fanout_retained_audit_year_marginal_usd1004.112799USD/business-unit
scenario_double_fanout_retained_audit_year_allocated_usd7604.112799USD/business-unit
scenario_double_fanout_retained_audit_year_fully_loaded_usd9104.112799USD/business-unit
scenario_replay_marginal_usd3961.683055USD/month
scenario_replay_accepted_order_marginal_usd0.000013USD/business-unit
scenario_replay_accepted_order_allocated_usd0.000084USD/business-unit
scenario_replay_accepted_order_fully_loaded_usd0.000101USD/business-unit
scenario_replay_execution_fill_marginal_usd0.000011USD/business-unit
scenario_replay_execution_fill_allocated_usd0.00007USD/business-unit
scenario_replay_execution_fill_fully_loaded_usd0.000084USD/business-unit
scenario_replay_million_market_updates_marginal_usd0.10699USD/business-unit
scenario_replay_million_market_updates_allocated_usd0.701126USD/business-unit
scenario_replay_million_market_updates_fully_loaded_usd0.836157USD/business-unit
scenario_replay_active_account_month_marginal_usd0.003962USD/business-unit
scenario_replay_active_account_month_allocated_usd0.025962USD/business-unit
scenario_replay_active_account_month_fully_loaded_usd0.030962USD/business-unit
scenario_replay_projection_update_marginal_usd0.000002USD/business-unit
scenario_replay_projection_update_allocated_usd0.000016USD/business-unit
scenario_replay_projection_update_fully_loaded_usd0.000019USD/business-unit
scenario_replay_retained_audit_year_marginal_usd1188.504916USD/business-unit
scenario_replay_retained_audit_year_allocated_usd7788.504916USD/business-unit
scenario_replay_retained_audit_year_fully_loaded_usd9288.504916USD/business-unit
scenario_replay_kinesis_usd1351.93566USD/month
scenario_replay_efo_retrieval_usd74.519813USD/month
scenario_replay_consumer_compute_usd119.232207USD/month
scenario_replay_sink_projection_usd559.17216USD/month
scenario_replay_idempotency_usd1122.31008USD/month
scenario_replay_reconciliation_usd27.086141USD/month
scenario_one_replica_marginal_usd3188.596816USD/month
scenario_one_replica_accepted_order_marginal_usd0.00001USD/business-unit
scenario_one_replica_accepted_order_allocated_usd0.000082USD/business-unit
scenario_one_replica_accepted_order_fully_loaded_usd0.000098USD/business-unit
scenario_one_replica_execution_fill_marginal_usd0.000009USD/business-unit
scenario_one_replica_execution_fill_allocated_usd0.000068USD/business-unit
scenario_one_replica_execution_fill_fully_loaded_usd0.000082USD/business-unit
scenario_one_replica_million_market_updates_marginal_usd0.086112USD/business-unit
scenario_one_replica_million_market_updates_allocated_usd0.680248USD/business-unit
scenario_one_replica_million_market_updates_fully_loaded_usd0.815278USD/business-unit
scenario_one_replica_active_account_month_marginal_usd0.003189USD/business-unit
scenario_one_replica_active_account_month_allocated_usd0.025189USD/business-unit
scenario_one_replica_active_account_month_fully_loaded_usd0.030189USD/business-unit
scenario_one_replica_projection_update_marginal_usd0.000002USD/business-unit
scenario_one_replica_projection_update_allocated_usd0.000015USD/business-unit
scenario_one_replica_projection_update_fully_loaded_usd0.000018USD/business-unit
scenario_one_replica_retained_audit_year_marginal_usd956.579045USD/business-unit
scenario_one_replica_retained_audit_year_allocated_usd7556.579045USD/business-unit
scenario_one_replica_retained_audit_year_fully_loaded_usd9056.579045USD/business-unit
scenario_one_replica_topology_stateGLOBAL_TABLE_ALL_REGIONS_BASE_RWRU_GSI_WRUstate
scenario_one_replica_region_count2.0Regions
scenario_one_replica_base_rwru_usd1118.34432USD/month
scenario_one_replica_gsi_wru_usd279.58608USD/month

Audit retention uses monthly cohorts: year-one and year-two cumulative GB-month exposure and the 24-month steady-state annual exposure are priced before division by retained business-year cohorts. Thus retention changes both the numerator and denominator. The baseline S3 component is the steady-state monthly_ingest * retention_months inventory. Object Lock, requests, transitions, retrieval, KMS, export and legal review are separate typed annual scenario inputs. Their dated planning values are zero and explicitly classified as requiring repricing before a decision; they are not implicitly free or hidden in the storage rate.

The two-task Fargate row is a price-only basket. Capacity parity uses measured service seconds and events/batch, average-to-active and active-to-peak conversion, peak headroom, HA minimum, scaling lag, and a required-task function inside each fleet-cost step. The fixed-five-task price equality is a counterfactual candidate only: its derived peak needs 85 tasks, whose price is not equal to Lambda. The bounded stepwise solve reports no capacity-feasible price crossing and the plug-back exposes the positive fleet-price gap.

Batch expected extra attempts per original batch and the conditional whole-batch poison coupling are separate quantities. CQRS names transport, projection/index, cache/storage, rebuild/replay, reconciliation, engineering, on-call and other fixed burden, and derives the zero-benefit branch before division. Half/double traffic, doubled fan-out and replay each reprice all components and all six unit metrics; top-key share, DynamoDB lane target, Kinesis retention and global-table replicas are typed, sensitivity-tested inputs. Task 6's 15 logical WRUs are decomposed through one frozen typed descriptor into four base-table and three GSI physical lanes. With n added global-table replica Regions, all n+1 Regions bill base-table replicated WRUs and ordinary GSI WRUs (C116; A127); single-Region billing remains ordinary WRUs. Replay selects its source first: retained records price EFO reads, while expired records price S3 restore and retrieval, Kinesis re-ingest, and the selected post-reingest read mode. The canonical expired mode is EFO, so restored records incur EFO GB retrieval and an explicit post-read capacity gate before consumers. It then prices consumer compute, projection writes, idempotency/duplicate attempts and reconciliation, and derives sink demand and drain from the minimum available source/post-read/consumer/stream/spare/sink rate.

Reading layout adapted from SSE reading notes by Mohammed Balila, MIT. Source manifest · Attribution