Seller Profit Guard

What mistakes distort Shopify subscription margin?

Last updated: 2026-08-09

Written and reviewed by Seller Profit Guard Editorial Team.

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed.

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

Audit coercion, dates, and confirmations

Add four errors to the exception log: symbols or prose accepted as numbers, an impossible source date, a seller policy newer than its source review, and a missing shared confirmation.

Record the raw input, correction, owner, reviewer, output-quarantine count, and whether the historical packet requires a new version.

Reject term-wide inventory assumptions

Prepaid inventory is not reserved for the entire subscription when the order is created. Counting future stock as secured can hide shortages, failed billing, split fulfillment, and service risk.

Record each fulfillment date, inventory state, oversell rule, location or shipping-profile split, exception, and human action separately.

Prepaid cash used as first-box revenue

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 1 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For prepaid cash used as first-box revenue, 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.

Fixed fee repeated per prepaid shipment

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 2 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For fixed fee repeated per prepaid shipment, 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.

CAC subtracted on every renewal

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 3 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For cac subtracted on every renewal, 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 exception log: cac subtracted on every renewal
Original explanatory diagram for cac subtracted on every renewal without customer or order data.

Zero churn creates infinite lifetime

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 4 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For zero churn creates infinite lifetime, 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.

Scheduled orders counted as fulfilled

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 5 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For scheduled orders counted as fulfilled, 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.

App cost omitted

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 6 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For app cost omitted, 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.

Refund reserve hidden

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 7 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For refund reserve hidden, 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.

Cancellation confused with refund

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 8 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For cancellation confused with refund, 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.

Inventory timing ignored

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 9 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For inventory timing ignored, 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.

Modeled LTV presented as observed

Frequent errors are counting prepaid cash as first-box revenue, charging a fixed payment fee per prepaid shipment, subtracting CAC on every renewal, using zero churn, mixing scheduled and fulfilled orders, omitting app cost, ignoring refunds, treating cancellation as a refund, hiding inventory risk, and presenting modeled lifetime value as observed. Show the incorrect treatment, its numerical direction, the corrected evidence, and the control that prevents recurrence. Checkpoint 10 in the subscription exception log records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.

For modeled ltv presented as observed, 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.

Prepaid cash used as first-box revenue: verification test 1

Create a synthetic counterexample for prepaid cash used as first-box revenue. 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.

Fixed fee repeated per prepaid shipment: verification test 2

Create a synthetic counterexample for fixed fee repeated per prepaid shipment. 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.

CAC subtracted on every renewal: verification test 3

Create a synthetic counterexample for cac subtracted on every renewal. 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 exception log: cac subtracted on every renewal: verification test 3
Original explanatory diagram for cac subtracted on every renewal: verification test 3 without customer or order data.

Zero churn creates infinite lifetime: verification test 4

Create a synthetic counterexample for zero churn creates infinite lifetime. 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.

Scheduled orders counted as fulfilled: verification test 5

Create a synthetic counterexample for scheduled orders counted as fulfilled. 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.

App cost omitted: verification test 6

Create a synthetic counterexample for app cost omitted. 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.

Refund reserve hidden: verification test 7

Create a synthetic counterexample for refund reserve hidden. 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.

Cancellation confused with refund: verification test 8

Create a synthetic counterexample for cancellation confused with refund. 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.

Inventory timing ignored: verification test 9

Create a synthetic counterexample for inventory timing ignored. 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.

Modeled LTV presented as observed: verification test 10

Create a synthetic counterexample for modeled ltv presented as observed. 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.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 1

Reperform prepaid cash used as first-box revenue 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.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 2

Reperform fixed fee repeated per prepaid shipment 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.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 3

Reperform cac subtracted on every renewal 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 exception log: 10 subscription margin mistakes that break payback: evidence exercise 3
Original explanatory diagram for 10 subscription margin mistakes that break payback: evidence exercise 3 without customer or order data.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 4

Reperform zero churn creates infinite lifetime 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.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 5

Reperform scheduled orders counted as fulfilled 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.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 6

Reperform app cost omitted 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.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 7

Reperform refund reserve hidden 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.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 8

Reperform cancellation confused with refund 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.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 9

Reperform inventory timing ignored 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.

10 Subscription Margin Mistakes That Break Payback: evidence exercise 10

Reperform modeled ltv presented as observed 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.