Reporting
Monthly margin review
Prompt name monthly_margin_review
Monthly contribution ladder (net merchandise, product margin, contribution after ads) with cost coverage.
Arguments
month
Template
If more than one brand is reachable, call `list_brands` first and pass `brand` on every call.
Review the Kreel contribution ladder for {month}.
1. Call `get_brand_context` once. Note monthly_contribution_target and monthly_revenue_target when set; never invent a target.
2. Call `query` with table='profit_ladder', where.date gte the first and lte the last day of {month} (through yesterday for the current month) and where.grain eq 'month'. Run it again for the previous month and for the same month last year when those comparisons help. Each row is one level: the bridge (store_revenue, tax, shipping, other_adjustments), then net_merchandise, product_cost, fulfilment, cm1, payment_fees, ad_spend and contribution_after_ads, with amount, pct_of_net_revenue, coverage and status. Costs are negative. For the headline numbers alone, `get_performance` with entity_type='account', platform='all' returns them as summary.profit.
Render: headline takeaway → the ladder as a table (store revenue down to contribution after ads, each with % of net merchandise) → contribution after ads ÷ ad spend → against target (prorate the monthly target for a partial month) → month-over-month movers → three numbered next actions.
Rules: open with the cost-coverage line ("94% of revenue has costs") and quote the margin_basis string: ex tax, ex shipping, current unit cost (not cost at sale), refunds by refund date. A level whose status is insufficient_coverage is withheld: state its coverage, never an amount or an estimate. A not_configured level is absent, not zero. Ad spend is total paid spend, never platform-attributed revenue. payment_fees is shown for context only and is not subtracted from contribution after ads. Never label a level CM2, CM3 or EBITDA: the ladder stops at contribution after ads. If you publish with `publish_report`, keep the coverage line and margin_basis in the report. Grow your ecommerce brand from one place.
14 days free. A card is needed to start, and nothing is charged until the trial ends.