Suggest budget allocation
suggest_budget_allocationReturn a proposed monthly budget split across paid ad channels (Google Ads / Meta / TikTok Ads / Yahoo! Ads / LINE Ads etc.). site_id is OPTIONAL when the request is OAuth-authenticated. Path B (ad spend connected — any channel with spend>0 in the period): weight = ROAS × (1 − saturation) where ROAS is RS-measured revenue ÷ spend (FD-030 A-1, same as the dashboard — NOT platform-reported conversion_value). saturation は RS 自身では推定せず、広告データとして供給された場合のみ使用する (推定エンジンは W17+)。値が無いチャネルは ROAS のみで加重し効率投下上限をかけない — limitations に明記する。⚠ 配分候補は広告プラットフォーム単位 (Meta / Google Ads …) で、Instagram と Facebook のようにセッション側の粒度が細かいチャネルは所属プラットフォームへ畳んで扱う (FD-055)。 Path A (no ad spend): RPS-weighted proportional split with explicit ±20-30% caveats and a connect_incentive_message. Default period for the underlying ROAS/RPS data is 30 days; pass period='today' / '7d' / '90d' or a raw day count (1-365) to override. LLMs should pass assumptions, limitations, and connect_incentive_message through verbatim — they are hardcoded honest axis.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | 30d | |
| site_id | No | ||
| monthly_budget_jpy | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| site_id | Yes | ||
| allocation | Yes | ||
| assumptions | Yes | ||
| limitations | Yes | ||
| next_action | Yes | ||
| unallocated_jpy | Yes | ||
| monthly_budget_jpy | Yes | ||
| expected_roas_current | Yes | ||
| expected_roas_proposed | Yes | ||
| expected_roas_uplift_pct | Yes | ||
| connect_incentive_message | Yes |