==== Brand Analytics Final test results ====

==== BA-14 price-volume-mix ====
{"ok":true,"data":{"comparison_sales":2340906670668,"price_effect":283606865481.22375,"volume_effect":-506773347906.7772,"mix_effect":-60248994207.44617,"new_products_effect":850031710,"discontinued_products_effect":-1836912700,"current_sales":2056504313045,"reconciliation_difference":0,"method":"laspeyres_v1","method_details":{"price_effect":"sum(current_qty * (current_unit_price - comparison_unit_price)) for common products","volume_effect":"(current_common_qty - comparison_common_qty) * comparison_common_weighted_average_price","mix_effect":"quantity_at_comparison_price_effect - volume_effect; quantity-zero monetary residuals are included here","new_products_effect":"current minus comparison sales for products without a comparison unit price","discontinued_products_effect":"current minus comparison sales for products without a current unit price"},"product_counts":{"common":546,"new":22,"discontinued":54}},"meta":{"request_id":"c91cd587-292d-4384-9651-0d28f6e82daf","generated_at":"2026-08-26T14:47:46+03:30","data_updated_at":"2026-07-31T23:59:59+03:30","currency":"IRR","timezone":"Asia/Tehran","applied_filters":{"brand_id":6514,"period":{"from":"2026-06-01","to":"2026-07-31","granularity":"month"},"comparison":{"type":"previous_period","from":"2026-04-01","to":"2026-05-31"},"filters":{"product_group_ids":[],"category_ids":[],"product_ids":[],"store_ids":[],"provinces":[],"cities":[],"regions":[],"store_grades":[],"channels":[]}},"warnings":[]}}

==== LOOKUP brands ====
{"ok":true,"data":{"items":[],"page":1,"page_size":10,"total_items":0,"total_pages":0},"meta":{"request_id":"62a4a31f-eaf8-413a-ad26-5cbf7aece7ea","generated_at":"2026-08-26T14:47:47+03:30","data_updated_at":"2026-07-31T23:59:59+03:30","currency":"IRR","timezone":"Asia/Tehran","applied_filters":{},"warnings":[]}}

==== LOOKUP product-groups ====
{"ok":true,"data":{"items":[{"id":2,"name":"چای ، قهوه ، محصولات پودری","code":"2","active":true},{"id":3,"name":"خشکبار و تنقلات","code":"3","active":true},{"id":7,"name":"شوینده و بهداشتی","code":"7","active":true},{"id":1,"name":"گروه 1","code":"1","active":true},{"id":11,"name":"گروه 11","code":"11","active":true},{"id":12,"name":"گروه 12","code":"12","active":true},{"id":4,"name":"گروه 4","code":"4","active":true},{"id":5,"name":"گروه 5","code":"5","active":true},{"id":6,"name":"گروه 6","code":"6","active":true},{"id":9,"name":"گروه 9","code":"9","active":true},{"id":8,"name":"لبنیات","code":"8","active":true},{"id":10,"name":"نوشیدنی","code":"10","active":true}]},"meta":{"request_id":"cb64406a-de30-49e7-8764-db1e8fd423a7","generated_at":"2026-08-26T14:47:53+03:30","data_updated_at":"2026-07-31T23:59:59+03:30","currency":"IRR","timezone":"Asia/Tehran","applied_filters":{},"warnings":[]}}

==== LOOKUP categories ====
<br />
<b>Fatal error</b>:  Maximum execution time of 120 seconds exceeded in <b>C:\xampp\htdocs\dashboard-project\src\helpers\BrandAnalytics.php</b> on line <b>685</b><br />


==== LOOKUP cities ====
{"ok":true,"data":{"items":[{"id":"آبعلی","name":"آبعلی","code":"آبعلی","active":true,"parent_id":"تهران"},{"id":"آذرشهر","name":"آذرشهر","code":"آذرشهر","active":true,"parent_id":"اذربایجان شرقی"},{"id":"احمد آباد","name":"احمد آباد","code":"احمد آباد","active":true,"parent_id":"تهران"},{"id":"اردبیل","name":"اردبیل","code":"اردبیل","active":true,"parent_id":"اردبیل"},{"id":"ارومیه","name":"ارومیه","code":"ارومیه","active":true,"parent_id":"اذربایجان غربی"},{"id":"اسد آباد","name":"اسد آباد","code":"اسد آباد","active":true,"parent_id":"تهران"},{"id":"اسلامشهر","name":"اسلامشهر","code":"اسلامشهر","active":true,"parent_id":"تهران"},{"id":"اسکو","name":"اسکو","code":"اسکو","active":true,"parent_id":"اذربایجان شرقی"},{"id":"اصفهان","name":"اصفهان","code":"اصفهان","active":true,"parent_id":"اصفهان"},{"id":"اهر","name":"اهر","code":"اهر","active":true,"parent_id":"اذربایجان شرقی"},{"id":"اهواز","name":"اهواز","code":"اهواز","active":true,"parent_id":"خوزستان"},{"id":"باروق","name":"باروق","code":"باروق","active":true,"parent_id":"اذربایجان غربی"},{"id":"باسمنج","name":"باسمنج","code":"باسمنج","active":true,"parent_id":"اذربایجان شرقی"},{"id":"بروجرد","name":"بروجرد","code":"بروجرد","active":true,"parent_id":"لرستان"},{"id":"بستان آباد","name":"بستان آباد","code":"بستان آباد","active":true,"parent_id":"اذربایجان شرقی"},{"id":"بناب","name":"بناب","code":"بناب","active":true,"parent_id":"اذربایجان شرقی"},{"id":"بندر شرفخانه","name":"بندر شرفخانه","code":"بندر شرفخانه","active":true,"parent_id":"اذربایجان شرقی"},{"id":"بهارستان","name":"بهارستان","code":"بهارستان","active":true,"parent_id":"تهران"},{"id":"بهاریستان","name":"بهاریستان","code":"بهاریستان","active":true,"parent_id":"تهران"},{"id":"بومهن","name":"بومهن","code":"بومهن","active":true,"parent_id":"تهران"},{"id":"بوکان","name":"بوکان","code":"بوکان","active":true,"parent_id":"اذربایجان غربی"},{"id":"پاکدشت","name":"پاکدشت","code":"پاکدشت","active":true,"parent_id":"تهران"},{"id":"پردیس","name":"پردیس","code":"پردیس","active":true,"parent_id":"تهران"},{"id":"پرند","name":"پرند","code":"پرند","active":true,"parent_id":"تهران"},{"id":"تبریز","name":"تبریز","code":"تبریز","active":true,"parent_id":"اذربایجان شرقی"},{"id":"تسوج","name":"تسوج","code":"تسوج","active":true,"parent_id":"اذربایجان شرقی"},{"id":"تهران","name":"تهران","code":"تهران","active":true,"parent_id":"تهران"},{"id":"تهران دشت","name":"تهران دشت","code":"تهران دشت","active":true,"parent_id":"البرز"},{"id":"تکاب","name":"تکاب","code":"تکاب","active":true,"parent_id":"اذربایجان غربی"},{"id":"جلفا","name":"جلفا","code":"جلفا","active":true,"parent_id":"اذربایجان شرقی"},{"id":"چهاربرج","name":"چهاربرج","code":"چهاربرج","active":true,"parent_id":"اذربایجان غربی"},{"id":"چهاردانگه","name":"چهاردانگه","code":"چهاردانگه","active":true,"parent_id":"تهران"},{"id":"حصارک","name":"حصارک","code":"حصارک","active":true,"parent_id":"تهران"},{"id":"خ المهدی","name":"خ المهدی","code":"خ المهدی","active":true,"parent_id":"اذربایجان غربی"},{"id":"خ8شهریور","name":"خ8شهریور","code":"خ8شهریور","active":true,"parent_id":"اذربایجان غربی"},{"id":"خامنه","name":"خامنه","code":"خامنه","active":true,"parent_id":"اذربایجان شرقی"},{"id":"خاوران","name":"خاوران","code":"خاوران","active":true,"parent_id":"اذربایجان شرقی"},{"id":"خسرو شاه","name":"خسرو شاه","code":"خسرو شاه","active":true,"parent_id":"اذربایجان شرقی"},{"id":"دماوند","name":"دماوند","code":"دماوند","active":true,"parent_id":"تهران"},{"id":"رباط کریم","name":"رباط کریم","code":"رباط کریم","active":true,"parent_id":"تهران"},{"id":"رودهن","name":"رودهن","code":"رودهن","active":true,"parent_id":"تهران"},{"id":"ساوه","name":"ساوه","code":"ساوه","active":true,"parent_id":"مرکزی"},{"id":"سردرود","name":"سردرود","code":"سردرود","active":true,"parent_id":"اذربایجان شرقی"},{"id":"سرعین","name":"سرعین","code":"سرعین","active":true,"parent_id":"اردبیل"},{"id":"سقز","name":"سقز","code":"سقز","active":true,"parent_id":"کردستان"},{"id":"سلطان آباد","name":"سلطان آباد","code":"سلطان آباد","active":true,"parent_id":"تهران"},{"id":"سلماس","name":"سلماس","code":"سلماس","active":true,"parent_id":"اذربایجان غربی"},{"id":"سلمان شهر","name":"سلمان شهر","code":"سلمان شهر","active":true,"parent_id":"مازندران"},{"id":"شاهین دژ","name":"شاهین دژ","code":"شاهین دژ","active":true,"parent_id":"اذربایجان غربی"},{"id":"شبستر","name":"شبستر","code":"شبستر","active":true,"parent_id":"اذربایجان شرقی"},{"id":"شمیرانات","name":"شمیرانات","code":"شمیرانات","active":true,"parent_id":"تهران"},{"id":"شند آباد","name":"شند آباد","code":"شند آباد","active":true,"parent_id":"اذربایجان شرقی"},{"id":"شهر قدس","name":"شهر قدس","code":"شهر قدس","active":true,"parent_id":"تهران"},{"id":"شهرقدس","name":"شهرقدس","code":"شهرقدس","active":true,"parent_id":"تهران"},{"id":"شهریار","name":"شهریار","code":"شهریار","active":true,"parent_id":"تهران"},{"id":"صالحیه","name":"صالحیه","code":"صالحیه","active":true,"parent_id":"تهران"},{"id":"صوفیان","name":"صوفیان","code":"صوفیان","active":true,"parent_id":"اذربایجان شرقی"},{"id":"عجب شیر","name":"عجب شیر","code":"عجب شیر","active":true,"parent_id":"اذربایجان شرقی"},{"id":"علیشاه","name":"علیشاه","code":"علیشاه","active":true,"parent_id":"اذربایجان شرقی"},{"id":"فردیس","name":"فردیس","code":"فردیس","active":true,"parent_id":"البرز"},{"id":"قائمیه","name":"قائمیه","code":"قائمیه","active":true,"parent_id":"تهران"},{"id":"قرچک","name":"قرچک","code":"قرچک","active":true,"parent_id":"تهران"},{"id":"قم","name":"قم","code":"قم","active":true,"parent_id":"قم"},{"id":"گرمدره","name":"گرمدره","code":"گرمدره","active":true,"parent_id":"البرز"},{"id":"گلستان","name":"گلستان","code":"گلستان","active":true,"parent_id":"تهران"},{"id":"لواسان","name":"لواسان","code":"لواسان","active":true,"parent_id":"تهران"},{"id":"لیان","name":"لیان","code":"لیان","active":true,"parent_id":"اذربایجان شرقی"},{"id":"مارلیک","name":"مارلیک","code":"مارلیک","active":true,"parent_id":"تهران"},{"id":"ماهدشت","name":"ماهدشت","code":"ماهدشت","active":true,"parent_id":"البرز"},{"id":"مرتضی گرد","name":"مرتضی گرد","code":"مرتضی گرد","active":true,"parent_id":"تهران"},{"id":"مرند","name":"مرند","code":"مرند","active":true,"parent_id":"اذربایجان شرقی"},{"id":"مشهد","name":"مشهد","code":"مشهد","active":true,"parent_id":"خراسان"},{"id":"ملارد","name":"ملارد","code":"ملارد","active":true,"parent_id":"تهران"},{"id":"ملکان","name":"ملکان","code":"ملکان","active":true,"parent_id":"اذربایجان شرقی"},{"id":"میاندوآب","name":"میاندوآب","code":"میاندوآب","active":true,"parent_id":"اذربایجان غربی"},{"id":"میاندواب","name":"میاندواب","code":"میاندواب","active":true,"parent_id":"اذربایجان غربی"},{"id":"نسیم شهر","name":"نسیم شهر","code":"نسیم شهر","active":true,"parent_id":"تهران"},{"id":"نصیر آباد","name":"نصیر آباد","code":"نصیر آباد","active":true,"parent_id":"تهران"},{"id":"نصیر شهر","name":"نصیر شهر","code":"نصیر شهر","active":true,"parent_id":"تهران"},{"id":"نظرلو","name":"نظرلو","code":"نظرلو","active":true,"parent_id":"اذربایجان شرقی"},{"id":"نقده","name":"نقده","code":"نقده","active":true,"parent_id":"اذربایجان غربی"},{"id":"هادی شهر","name":"هادی شهر","code":"هادی شهر","active":true,"parent_id":"اذربایجان شرقی"},{"id":"هشترود","name":"هشترود","code":"هشترود","active":true,"parent_id":"اذربایجان شرقی"},{"id":"همدانک","name":"همدانک","code":"همدانک","active":true,"parent_id":"تهران"},{"id":"واوان","name":"واوان","code":"واوان","active":true,"parent_id":"تهران"},{"id":"وایقان","name":"وایقان","code":"وایقان","active":true,"parent_id":"اذربایجان شرقی"},{"id":"وجه آباد","name":"وجه آباد","code":"وجه آباد","active":true,"parent_id":"تهران"},{"id":"ورامین","name":"ورامین","code":"ورامین","active":true,"parent_id":"تهران"},{"id":"ولیعصر","name":"ولیعصر","code":"ولیعصر","active":true,"parent_id":"اذربایجان شرقی"},{"id":"کرج","name":"کرج","code":"کرج","active":true,"parent_id":"البرز"},{"id":"کشاورز","name":"کشاورز","code":"کشاورز","active":true,"parent_id":"اذربایجان غربی"},{"id":"کوزه کنان","name":"کوزه کنان","code":"کوزه کنان","active":true,"parent_id":"اذربایجان شرقی"},{"id":"کیش","name":"کیش","code":"کیش","active":true,"parent_id":"هرمزگان"}]},"meta":{"request_id":"e6956d2a-22a7-4098-a084-9bf3042a7280","generated_at":"2026-08-26T14:49:53+03:30","data_updated_at":"2026-07-31T23:59:59+03:30","currency":"IRR","timezone":"Asia/Tehran","applied_filters":{},"warnings":[]}}

==== LOOKUP regions Tehran ====
{"ok":true,"data":{"items":[]},"meta":{"request_id":"ffb6ed2d-37a8-41f5-8e47-4202eb505a2c","generated_at":"2026-08-26T14:49:53+03:30","data_updated_at":"2026-07-31T23:59:59+03:30","currency":"IRR","timezone":"Asia/Tehran","applied_filters":{},"warnings":[]}}

==== LOOKUP store-grades ====
{"ok":true,"data":{"items":[{"id":"A","name":"A","code":"A","active":true},{"id":"َA","name":"َA","code":"َA","active":true},{"id":"A+","name":"A+","code":"A+","active":true},{"id":"B","name":"B","code":"B","active":true},{"id":"C","name":"C","code":"C","active":true}]},"meta":{"request_id":"d9c830ba-1c3f-4f4f-b1c5-4ee92ed79009","generated_at":"2026-08-26T14:49:54+03:30","data_updated_at":"2026-07-31T23:59:59+03:30","currency":"IRR","timezone":"Asia/Tehran","applied_filters":{},"warnings":[]}}

==== LOOKUP channels ====
{"ok":true,"data":{"items":[{"id":"online","name":"آنلاین","code":"online","active":true},{"id":"offline","name":"حضوری","code":"offline","active":true}]},"meta":{"request_id":"bddc7bb5-5b24-49a0-85d4-4320dbed1f42","generated_at":"2026-08-26T14:49:54+03:30","data_updated_at":"2026-07-31T23:59:59+03:30","currency":"IRR","timezone":"Asia/Tehran","applied_filters":{},"warnings":[]}}

==== LOOKUP products ====
{"ok":true,"data":{"items":[],"page":1,"page_size":10,"total_items":0,"total_pages":0},"meta":{"request_id":"8dc2a42c-db11-47dc-aeb1-e5e51bae2be8","generated_at":"2026-08-26T14:51:17+03:30","data_updated_at":"2026-07-31T23:59:59+03:30","currency":"IRR","timezone":"Asia/Tehran","applied_filters":{},"warnings":[]}}

==== BA-13 day_of_week contract ====
{"ok":true,"data":{"series":[{"bucket":"weekday:1","channel":"online","sales_amount":84663262770,"sales_quantity":51787,"channel_mix_percent":29.1244,"growth_percent":21.18,"average_selling_price":1634836.2092803214,"active_product_count":455,"active_store_count":212,"weekday_number":1,"weekday_name":"دوشنبه"},{"bucket":"weekday:1","channel":"offline","sales_amount":206031553661,"sales_quantity":141340.838,"channel_mix_percent":70.8756,"growth_percent":-14.1,"average_selling_price":1457693.0247222676,"active_product_count":500,"active_store_count":381,"weekday_number":1,"weekday_name":"دوشنبه"},{"bucket":"weekday:2","channel":"online","sales_amount":83674268810,"sales_quantity":51272,"channel_mix_percent":28.0683,"growth_percent":17.88,"average_selling_price":1631968.1075440787,"active_product_count":455,"active_store_count":213,"weekday_number":2,"weekday_name":"سه‌شنبه"},{"bucket":"weekday:2","channel":"offline","sales_amount":214434800803,"sales_quantity":142172.667,"channel_mix_percent":71.9317,"growth_percent":-15.21,"average_selling_price":1508270.2275184866,"active_product_count":517,"active_store_count":378,"weekday_number":2,"weekday_name":"سه‌شنبه"},{"bucket":"weekday:3","channel":"online","sales_amount":90355912590,"sales_quantity":54535,"channel_mix_percent":29.2336,"growth_percent":21.8,"average_selling_price":1656842.6256532501,"active_product_count":457,"active_store_count":211,"weekday_number":3,"weekday_name":"چهارشنبه"},{"bucket":"weekday:3","channel":"offline","sales_amount":218726265033,"sales_quantity":145560.106,"channel_mix_percent":70.7664,"growth_percent":-10.28,"average_selling_price":1502652.5539422182,"active_product_count":496,"active_store_count":381,"weekday_number":3,"weekday_name":"چهارشنبه"},{"bucket":"weekday:4","channel":"online","sales_amount":102552529330,"sales_quantity":60108,"channel_mix_percent":30.3316,"growth_percent":27.08,"average_selling_price":1706137.774173155,"active_product_count":466,"active_store_count":218,"weekday_number":4,"weekday_name":"پنجشنبه"},{"bucket":"weekday:4","channel":"offline","sales_amount":235552112961,"sales_quantity":155095.45,"channel_mix_percent":69.6684,"growth_percent":-13.69,"average_selling_price":1518755.7917463083,"active_product_count":491,"active_store_count":378,"weekday_number":4,"weekday_name":"پنجشنبه"},{"bucket":"weekday:5","channel":"online","sales_amount":90054079950,"sales_quantity":54424,"channel_mix_percent":32.3332,"growth_percent":15.86,"average_selling_price":1654675.877370278,"active_product_count":457,"active_store_count":216,"weekday_number":5,"weekday_name":"جمعه"},{"bucket":"weekday:5","channel":"offline","sales_amount":188464939318,"sales_quantity":124535.262,"channel_mix_percent":67.6668,"growth_percent":-22.22,"average_selling_price":1513345.9896523124,"active_product_count":484,"active_store_count":381,"weekday_number":5,"weekday_name":"جمعه"},{"bucket":"weekday:6","channel":"online","sales_amount":76340838260,"sales_quantity":47423,"channel_mix_percent":27.3307,"growth_percent":-2.5,"average_selling_price":1609785.0886700547,"active_product_count":452,"active_store_count":214,"weekday_number":6,"weekday_name":"شنبه"},{"bucket":"weekday:6","channel":"offline","sales_amount":202981813324,"sales_quantity":140485.023,"channel_mix_percent":72.6693,"growth_percent":-26.62,"average_selling_price":1444864.4345810444,"active_product_count":487,"active_store_count":372,"weekday_number":6,"weekday_name":"شنبه"},{"bucket":"weekday:7","channel":"online","sales_amount":71866189420,"sales_quantity":44174,"channel_mix_percent":27.3597,"growth_percent":-10.09,"average_selling_price":1626888.8807896047,"active_product_count":444,"active_store_count":209,"weekday_number":7,"weekday_name":"یکشنبه"},{"bucket":"weekday:7","channel":"offline","sales_amount":190805746815,"sales_quantity":128440.95,"channel_mix_percent":72.6403,"growth_percent":-32.06,"average_selling_price":1485552.2854276616,"active_product_count":488,"active_store_count":371,"weekday_number":7,"weekday_name":"یکشنبه"}]},"meta":{"request_id":"62af242d-e386-4032-80ae-a9ed916af6a0","generated_at":"2026-08-26T14:51:25+03:30","data_updated_at":"2026-07-31T23:59:59+03:30","currency":"IRR","timezone":"Asia/Tehran","applied_filters":{"brand_id":6514,"period":{"from":"2026-06-01","to":"2026-07-31","granularity":"day_of_week"},"comparison":{"type":"previous_period","from":"2026-04-01","to":"2026-05-31"},"filters":{"product_group_ids":[],"category_ids":[],"product_ids":[],"store_ids":[],"provinces":[],"cities":[],"regions":[],"store_grades":[],"channels":[]}},"warnings":[]}}
