[Finance & business intelligence](<https://www.thekeating.co/programs/commercial-reporting/>) / [Use cases](<https://www.thekeating.co/programs/commercial-reporting/use-cases/>) / [Contribution diagnosis](<https://www.thekeating.co/use-cases/contribution-diagnosis/#main>)

[How it works](<https://www.thekeating.co/use-cases/contribution-diagnosis/#system>) [What you get](<https://www.thekeating.co/use-cases/contribution-diagnosis/#outputs>) [Scope](<https://www.thekeating.co/use-cases/contribution-diagnosis/#scope>) [Start a review](<https://www.thekeating.co/contact/?source=discovery&landing_path=%2Fuse-cases%2Fcontribution-diagnosis%2F&intent=discovery&cta_page=%2Fuse-cases%2Fcontribution-diagnosis%2F&cta_placement=navigation&program=commercial-reporting>)

[Finance & business intelligence](<https://www.thekeating.co/programs/commercial-reporting/>)[Margin](<https://www.thekeating.co/programs/commercial-reporting/use-cases/#area-margin>)

# Explain contribution margin by product and channel.

What every product and channel really keeps, with each cost in the margin and each estimate labeled, so decisions rest on the closed books.

[Start with a finance review](<https://www.thekeating.co/contact/?source=discovery&landing_path=%2Fuse-cases%2Fcontribution-diagnosis%2F&intent=discovery&cta_page=%2Fuse-cases%2Fcontribution-diagnosis%2F&cta_placement=hero&program=commercial-reporting>) [How it works](<https://www.thekeating.co/use-cases/contribution-diagnosis/#system>)

Where each $41,000 went · Canvas field jacket

Shopify store _41%__19%__10%__30%_

TikTok Shop _41%__31%__15%__12%_

-   Product
-   Fulfillment, fees and returns
-   Ads or commission
-   Left over

October closed · net sales $41,000 in each channel

One jacket, two channels, one October. Same net sales, very different amounts left over.

## Sound familiar?

-   The dashboard says 31%, and the books say something else.
-   Sales are up, and nobody can say which products or channels pay for it.
-   A freight bill lands after the decision was made.

Spend follows the number on the screen. If that number is an estimate, you scale the channel that loses money.

Fernway’s October close, product by product

1.  ## Forty-eight products sold in October.
    
    Every product and channel that took an order: Shopify, TikTok Shop and wholesale.
    
2.  ## Forty-one have every cost in.
    
    Fulfillment, fees, returns, ads and commission, found for each. The other seven are missing a bill, and say so.
    
3.  ## Forty are trued up to actuals.
    
    Estimates are replaced by what really happened, and the old estimate is kept beside it. One waits on a dispute.
    
4.  ## Twelve led to a decision.
    
    Each has an owner and a date to check: a commission rule, a price review, a dispute.
    
5.  ## TikTok Shop was 12%, not 31%.
    
    The Canvas jacket on TikTok lifts out as the margin table that finance and growth now share.
    

Product · channel

**48**Products sold **41**Costs complete **40**Trued up to actuals **12**Decision made

Where it landed

CT Canvas jacket · TikTok

Reached decision made

12%, commission rule changed

CS Canvas jacket · Shopify

Reached decision made

30%, keep scaling

WS Waxed jacket · Shopify

Reached decision made

Returns up, price review

MW Merino crew · Wholesale

Reached costs complete

Deduction disputed

CK Care Kit · Shopify

Reached trued up to actuals

Costs complete

TP Trail pant · TikTok

Reached products sold

Freight bill missing

GC Gift card

Reached products sold

Not a product cost

SS Sample sale

Reached products sold

Excluded

Contribution by product and channel October closed

Product · channel

Dashboard

Closed books

Decision

Canvas jacket · TikTok

31%

12%

Cut commission

Canvas jacket · Shopify

31%

30%

Keep scaling

Waxed jacket · Shopify

—

14%

Review price

Trail pant · TikTok

—

Estimate

Wait for bill

Overhead is left out of every figure

[How the margin table is built](<https://www.thekeating.co/use-cases/contribution-diagnosis/#outputs>)

## What changes.

ShowTodayWith the engine

The number

An estimate on standard costs Estimate and actual kept side by side, each labeled

Costs

Whatever the dashboard could see Fulfillment, fees, returns, ads and commission, by product and channel

Late costs

Found after the decision Flagged as incomplete, with the bill’s owner

Next step

A chart and a debate A decision with an owner, and a date to check it

## How it works. 5 steps, 4 stages.

-   AI**1**
-   Rules and automation**2**
-   Your team**2**
-   Approval

1.  1 Gather
    
    1.  Rules and automation
        
        ### Pull sales and every cost line
        
        Orders, returns, 3PL bills, payment fees, ad spend and affiliate commission, joined by product and channel.
        
        -   Shopify
        -   TikTok
        -   ShipBob
        -   NetSuite
2.  2 Cost
    
    1.  Your team Approval
        
        ### Agree the definition
        
        Finance signs off what counts in contribution, and which overhead is left out.
        
    2.  Rules and automation
        
        ### Apply the approved cost versions
        
        Each figure says whether it’s estimated or actual, and which costs are still missing.
        
3.  3 Explain
    
    1.  AI
        
        ### Explain what moved
        
        Compares slices, reads the supporting invoices and drafts competing explanations. It doesn’t name a cause the numbers can’t support.
        
4.  4 Decide
    
    1.  Your team Approval
        
        ### Decide, with an owner
        
        Pricing, promotion and media belong to the people who run them. Each decision is logged with a date to check.
        

Actuals true up the next estimate

## What you get. Real work, every week.

Contribution by product and channel October closed

Product · channel

Dashboard

Closed books

Decision

Canvas jacket · TikTok

31%

12%

Cut commission

Canvas jacket · Shopify

31%

30%

Keep scaling

Waxed jacket · Shopify

—

14%

Review price

Trail pant · TikTok

—

Estimate

Wait for bill

Overhead is left out of every figure

The margin table finance and growth share. Estimates and actuals sit side by side, and incomplete costs say so.

TikTok Shop true-ups · Canvas field jacket Standard against actual

-   Affiliate commissionStandard $0 · actual $6,150 **+$6,150**Landed at close
-   FulfillmentStandard $4,500 · actual $5,200 **+$700**Landed at close
-   ReturnsStandard $3,890 · actual $4,400 **+$510**Landed at close
-   Platform and payment feesStandard $2,900 · actual $3,300 **+$400**Landed at close

31% estimated ($12,710) became 12% ($4,950), a difference of $7,760

Why the dashboard was wrong: the costs that landed at the close, kept beside the standard costs they replaced.

Decision 031 Owner: head of growth

Cut affiliate commission to 10% on low-margin products.

Why

TikTok Shop keeps 12%, not the 31% the dashboard estimated

Change

Commission from 15% to 10% on low-margin products

Check

At the November close, December 7

The decision that followed, with its owner and the date to check it.

## How you’ll know it’s working.

1.  Time from a margin movement to a decision
    
    The gap between seeing a change and acting on it.
    
2.  Material slices with every cost in
    
    Products and channels that were invisible before now show their real margin.
    
3.  Decisions completed, and what they changed
    
    Contribution after variable costs, measured at the next close.
    

Baselines agreed before we build.

## Works with what you have.

Commerce

-   Shopify
-   NetSuite

Ads

-   TikTok

Fulfillment

-   ShipBob

Measurement

-   Triple Whale

Accounting

-   A2X

Planning & BI

-   Power BI

We configure first

Tools like A2X Clarity and Triple Whale can already show contribution from your orders and costs. We check what they include, and which costs are missing, before building anything.

We build when

A margin has to include costs no dashboard sees, like landed freight, returns and retailer allowances, and has to agree with your books.

## What a first build includes.

Built in your accounts, around your team. Scope, fee and baseline agreed before we start.

1.  1 Design
2.  2 Build
3.  3 Run it, or hand it over

[Start with a review](<https://www.thekeating.co/contact/?source=discovery&landing_path=%2Fuse-cases%2Fcontribution-diagnosis%2F&intent=discovery&cta_page=%2Fuse-cases%2Fcontribution-diagnosis%2F&cta_placement=content&program=commercial-reporting>) [Scope this build](<https://www.thekeating.co/contact/?source=project&landing_path=%2Fuse-cases%2Fcontribution-diagnosis%2F&intent=project&cta_page=%2Fuse-cases%2Fcontribution-diagnosis%2F&cta_placement=content&use_case=contribution-diagnosis>)

### We build

-   A contribution view by product and channel
-   Cost definitions finance approves, with versions
-   Estimate-to-actual true-ups, with the difference kept
-   A decision log with owners and dates to check

### We start from

-   Orders, returns and refunds
-   Product costs, 3PL and carrier invoices
-   Ad spend and affiliate commissions

### From your team

Owner

Finance lead, with the head of growth

Involves

-   Finance
-   Growth
-   Merchandising
-   Operations

## Questions teams ask.

Is contribution margin the same as profit?

No. Contribution is what’s left after the costs that vary with each sale. Overhead isn’t in it, and we name what’s left out. The daily figure is an estimate until the close trues it up.

Our dashboard already shows margin. What’s missing?

Often the costs nobody owns: landed freight, returns handling, retailer allowances and late bills. We check what your dashboard includes, then add the missing costs, or the flag that says they’re missing.

Who decides what to do about a weak channel?

The people who run it. Finance owns the definitions, and growth, merchandising or operations own the pricing, promotion and media calls. We log each decision with an owner and a date to check.

Who owns it once it’s running?

You do. It’s built in your accounts, documented, with training for the people who run it. Ownership usually sits with your finance lead, with the head of growth. We can keep running it with you, or step back.

How do we start?

Usually with a finance review: two to four weeks, a fixed fee credited to the build, and a plan that’s yours. If the job is already clear, we can scope the build directly.

## Part of your finance engine. One of 11 use cases, in 5 parts.

[See the whole finance engine](<https://www.thekeating.co/programs/commercial-reporting/#look-inside>)

1.  [Trusted records **2**](<https://www.thekeating.co/programs/commercial-reporting/use-cases/#area-records>)
2.  [Margin **2**](<https://www.thekeating.co/programs/commercial-reporting/use-cases/#area-margin>)
3.  [Cash & commitments **2**](<https://www.thekeating.co/programs/commercial-reporting/use-cases/#area-cash>)
4.  [Payables & receivables **2**](<https://www.thekeating.co/programs/commercial-reporting/use-cases/#area-payables>)
5.  [Reporting & decisions **3**](<https://www.thekeating.co/programs/commercial-reporting/use-cases/#area-reporting>)

In margin

-   **Contribution diagnosis**You’re here
-   [**Landed cost**Put true landed cost into every margin number](<https://www.thekeating.co/use-cases/landed-cost/>)

Works with

-   [**Trading brief**Run a weekly trading brief that ends in decisions](<https://www.thekeating.co/use-cases/executive-trading-brief/>)
-   [**Profit signals**Send ad platforms profit, not revenue](<https://www.thekeating.co/use-cases/profit-signals/>)
-   [**Incrementality testing**Prove what’s working, then move the budget](<https://www.thekeating.co/use-cases/incrementality-testing/>)

See it at work

-   [**In Fernway’s first month on TikTok Shop**Week 2: the dashboard said 31%](<https://www.thekeating.co/programs/commercial-reporting/#week-2>)
-   [**Also in**Growth & acquisition](<https://www.thekeating.co/programs/growth-acquisition/>)

## Know what each channel really earns. Start with a finance review.

[Start with a finance review](<https://www.thekeating.co/contact/?source=discovery&landing_path=%2Fuse-cases%2Fcontribution-diagnosis%2F&intent=discovery&cta_page=%2Fuse-cases%2Fcontribution-diagnosis%2F&cta_placement=closing&program=commercial-reporting>) [**Talk it through first**15 minutes](<https://cal.com/nkeating/15min>)

We reply within one business day.

---

Source: [https://www.thekeating.co/use-cases/contribution-diagnosis/](<https://www.thekeating.co/use-cases/contribution-diagnosis/>)

[Contact Keating & Co](mailto:nelson@thekeating.co) · [Agent guidance](https://www.thekeating.co/llms.txt)
