Seller Profit Guard

What belongs in a Shopify subscription margin audit?

Last updated: 2026-08-09

Written and reviewed by Seller Profit Guard Editorial Team.

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test.

subscription audit packet from billing model and fulfillment evidence through contribution, CAC payback, decision, and restoration
Original subscription audit packet diagram using invented values and no subscriber records.

Add the nine-attestation register

Record invented-data scope, shared shipment grain, app and selling plans, charge events, checkout disclosure, inventory and fulfillment, contract-order separation, two-person review, and restoration authority.

Each row has owner, reviewer, source, acquisition date, policy date, yes or no, exception, expiry, and downstream consumer. Missing values Block closure.

Preserve immutable subscription history

Append rather than overwrite products, variants, apps, selling plans, prices, frequencies, charge events, payment fees, policies, contract states, order states, fulfillments, inventory, refunds, costs, cohort assumptions, CAC, outputs, decisions, reviewers, backups, and restore drills.

Immutable history distinguishes source correction, economic change, and operational state change without exposing subscriber data.

Identify product and plan

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 1 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For identify product and plan, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Record billing model

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 2 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For record billing model, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Record charge and cadence

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 3 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For record charge and cadence, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

subscription audit packet: record charge and cadence
Original explanatory diagram for record charge and cadence without customer or order data.

Record fulfillment schedule

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 4 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For record fulfillment schedule, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Record cost packet

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 5 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For record cost packet, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Record churn evidence

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 6 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For record churn evidence, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Record CAC cohort

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 7 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For record cac cohort, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Record policy and checkout

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 8 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For record policy and checkout, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Record decision ownership

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 9 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For record decision ownership, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Record backup and restoration

Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 10 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For record backup and restoration, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.

Identify product and plan: verification test 1

Create a synthetic counterexample for identify product and plan. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Record billing model: verification test 2

Create a synthetic counterexample for record billing model. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Record charge and cadence: verification test 3

Create a synthetic counterexample for record charge and cadence. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

subscription audit packet: record charge and cadence: verification test 3
Original explanatory diagram for record charge and cadence: verification test 3 without customer or order data.

Record fulfillment schedule: verification test 4

Create a synthetic counterexample for record fulfillment schedule. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Record cost packet: verification test 5

Create a synthetic counterexample for record cost packet. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Record churn evidence: verification test 6

Create a synthetic counterexample for record churn evidence. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Record CAC cohort: verification test 7

Create a synthetic counterexample for record cac cohort. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Record policy and checkout: verification test 8

Create a synthetic counterexample for record policy and checkout. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Record decision ownership: verification test 9

Create a synthetic counterexample for record decision ownership. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Record backup and restoration: verification test 10

Create a synthetic counterexample for record backup and restoration. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.

Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.

Subscription Margin Audit and Change Log: evidence exercise 1

Reperform identify product and plan using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Subscription Margin Audit and Change Log: evidence exercise 2

Reperform record billing model using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Subscription Margin Audit and Change Log: evidence exercise 3

Reperform record charge and cadence using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

subscription audit packet: subscription margin audit and change log: evidence exercise 3
Original explanatory diagram for subscription margin audit and change log: evidence exercise 3 without customer or order data.

Subscription Margin Audit and Change Log: evidence exercise 4

Reperform record fulfillment schedule using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Subscription Margin Audit and Change Log: evidence exercise 5

Reperform record cost packet using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Subscription Margin Audit and Change Log: evidence exercise 6

Reperform record churn evidence using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Subscription Margin Audit and Change Log: evidence exercise 7

Reperform record cac cohort using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Subscription Margin Audit and Change Log: evidence exercise 8

Reperform record policy and checkout using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Subscription Margin Audit and Change Log: evidence exercise 9

Reperform record decision ownership using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Subscription Margin Audit and Change Log: evidence exercise 10

Reperform record backup and restoration using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.

Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.

Sources and further reading

Related Seller Profit Guard tools

Next step: Open Seller Profit Guard.

This is operational planning help, not tax, accounting, legal, financial, or platform-policy advice. Review the Terms and disclaimer, and verify current platform rules and fee assumptions before changing prices.