{"id":10099,"date":"2026-05-06T11:04:06","date_gmt":"2026-05-06T09:04:06","guid":{"rendered":"https:\/\/idynamics-apps.com\/?p=10099"},"modified":"2026-05-21T08:29:05","modified_gmt":"2026-05-21T06:29:05","slug":"key-kpis-measure-warehouse-performance","status":"publish","type":"post","link":"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/","title":{"rendered":"Key KPI\u2019s to measure warehouse performance"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row admin_label=&#8221;row&#8221; _builder_version=&#8221;4.27.6&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; width=&#8221;95%&#8221; custom_margin=&#8221;0px|0px|0px|0px|false|false&#8221; custom_padding=&#8221;0px|0px|0px|0px|false|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.6&#8243; custom_padding=&#8221;0px|0px|0px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px|0px|0px|0px|false|false&#8221; custom_padding=&#8221;0px|0px|0px|0px|false|false&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Warehouse performance can no longer be managed based on intuition or experience alone. In today\u2019s data-driven supply chains, <strong>tracking the right warehouse KPIs<\/strong> is essential to improve efficiency, control costs, and meet customer expectations.<\/p>\n<p>However, not all metrics deliver real value. Tracking too many or poorly defined KPIs often leads to noise, wrong conclusions, and a lack of focus. The key is selecting <strong>warehouse KPIs that are directly connected to business outcomes<\/strong>.<\/p>\n<p>In this article, we break down the <strong>most important warehouse KPIs<\/strong>, how to choose them correctly, and how to turn data into actionable insights that improve operational performance.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 ez-toc-wrap-left-text counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title ez-toc-toggle\" style=\"cursor:pointer\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#How_to_choose_the_right_warehouse_KPIs\" >How to choose the right warehouse KPIs<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Align_KPIs_with_business_objectives\" >Align KPIs with business objectives<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Ensure_KPIs_are_actionable_and_traceable\" >Ensure KPIs are actionable and traceable<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Keep_KPIs_clear_and_easy_to_interpret\" >Keep KPIs clear and easy to interpret<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Assign_ownership_who_measures_and_who_acts\" >Assign ownership: who measures and who acts<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Core_categories_of_warehouse_KPIs\" >Core categories of warehouse KPIs<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Receiving_KPIs\" >Receiving KPIs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Put-away_and_storage_KPIs\" >Put-away and storage KPIs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Inventory_management_KPIs\" >Inventory management KPIs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Picking_and_order_fulfillment_KPIs\" >Picking and order fulfillment KPIs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Packing_and_shipping_KPIs\" >Packing and shipping KPIs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Productivity_cost_and_quality_KPIs\" >Productivity, cost, and quality KPIs<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#5_Best_practices_for_a_warehouse_KPI_dashboard_that_actually_works\" >5 Best practices for a warehouse KPI dashboard that actually works<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/idynamics-apps.com\/en\/blog\/key-kpis-measure-warehouse-performance\/#Turning_warehouse_data_into_business_results\" >Turning warehouse data into business results<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"How_to_choose_the_right_warehouse_KPIs\"><\/span>How to choose the right warehouse KPIs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Measuring for the sake of measuring does not improve warehouse performance. The value of KPIs lies in their ability to support <strong>better operational and strategic decisions<\/strong>.<\/p>\n<p>Best-in-class logistics organizations follow four core principles when defining warehouse KPIs:<\/p>\n<ul>\n<li>Strategic alignment<\/li>\n<li>Traceability and actionability<\/li>\n<li>Clarity and consistency<\/li>\n<li>Clear ownership<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Align_KPIs_with_business_objectives\"><\/span>Align KPIs with business objectives<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>A warehouse KPI only makes sense if it supports broader business goals, such as:<\/p>\n<ul>\n<li>Reducing operational costs<\/li>\n<li>Improving customer service levels<\/li>\n<li>Increasing workforce productivity<\/li>\n<li>Minimizing errors and returns<\/li>\n<\/ul>\n<p>For example, if your strategic objective is <strong>customer satisfaction<\/strong>, KPIs like <em>Order Cycle Time<\/em>, <em>OTIF<\/em>, or <em>picking accuracy<\/em> are far more relevant than internal activity metrics with no external impact.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ensure_KPIs_are_actionable_and_traceable\"><\/span>Ensure KPIs are actionable and traceable<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>A strong KPI does more than show that something is wrong. It helps identify <strong>where and why<\/strong> issues occur.<\/p>\n<ul>\n<li>Tracking <em>cost per order<\/em> is useful, but it becomes actionable when broken down into picking, packing, labor, and exception handling.<\/li>\n<li>Low <em>inventory accuracy<\/em> should be traceable to receiving errors, cycle counting issues, or unrecorded movements.<\/li>\n<\/ul>\n<p>Traceability is what transforms KPIs from historical data into continuous improvement tools.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Keep_KPIs_clear_and_easy_to_interpret\"><\/span>Keep KPIs clear and easy to interpret<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Warehouse KPIs must be understood by all stakeholders\u2014warehouse managers, operations teams, and leadership.<\/p>\n<p>Best practices include:<\/p>\n<ul>\n<li>Clear, standardized definitions<\/li>\n<li>Simple and consistent formulas<\/li>\n<li>Intuitive dashboards and visualizations<\/li>\n<\/ul>\n<p>If a KPI requires constant explanation or generates conflicting interpretations, it is likely not serving its purpose.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Assign_ownership_who_measures_and_who_acts\"><\/span>Assign ownership: who measures and who acts<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Every KPI must have a clear owner. Without accountability, KPIs rarely lead to action.<\/p>\n<p>This means defining:<\/p>\n<ul>\n<li>Who is responsible for measuring the KPI<\/li>\n<li>Who analyzes performance<\/li>\n<li>Who has the authority to implement corrective actions<\/li>\n<\/ul>\n<p>KPIs without ownership often stay on dashboards without driving real improvement.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Core_categories_of_warehouse_KPIs\"><\/span>Core categories of warehouse KPIs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Analyzing warehouse performance requires looking at each stage of the operation independently. Grouping KPIs by functional area helps identify bottlenecks and prioritize improvements.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Receiving_KPIs\"><\/span>Receiving KPIs<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Receiving is the first critical control point. Errors here impact inventory accuracy, picking, and service levels downstream.<\/p>\n<p><strong>Key receiving KPIs include:<\/strong><\/p>\n<ul>\n<li><strong>Dock-to-stock time<\/strong><br \/>Measures the time from arrival at the dock until inventory is available for use. Long dock-to-stock times usually indicate inefficiencies in unloading, validation, or system registration.<\/li>\n<li><strong>Receiving accuracy<\/strong><br \/>Tracks the percentage of receipts without quantity, SKU, or condition errors. Low accuracy often points to manual processes or lack of validation controls.<\/li>\n<li><strong>Receiving productivity (units per hour)<\/strong><br \/>Evaluates how many units the receiving team processes per hour, helping identify staffing or process issues.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Put-away_and_storage_KPIs\"><\/span>Put-away and storage KPIs<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Efficient put-away ensures optimal space utilization and faster downstream operations.<\/p>\n<ul>\n<li><strong>Put-away cycle time<\/strong><br \/>The average time required to move goods from receiving to their final storage location.<\/li>\n<li><strong>Put-away accuracy<\/strong><br \/>Measures how often products are stored in the correct assigned location. Errors here increase picking time and inventory discrepancies.<\/li>\n<li><strong>Storage space utilization<\/strong><br \/>Best practice typically targets <strong>80\u201385% utilization<\/strong>. Overcrowding reduces efficiency, while underutilization signals wasted resources.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Inventory_management_KPIs\"><\/span>Inventory management KPIs<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Inventory represents one of the most capital-intensive warehouse assets.<\/p>\n<ul>\n<li><strong>Inventory accuracy<\/strong><br \/>Compares physical stock with system records. Best-in-class warehouses aim for accuracy levels above <strong>97%<\/strong>.<\/li>\n<li><strong>Inventory turnover<\/strong><br \/>Indicates how often inventory is sold and replenished within a period. Low turnover may signal overstock or obsolete items.<\/li>\n<li><strong>Days inventory on hand (DOH)<\/strong><br \/>Shows how long current inventory can support operations, balancing service levels and carrying costs.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Picking_and_order_fulfillment_KPIs\"><\/span>Picking and order fulfillment KPIs<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Picking typically represents the highest operational cost in a warehouse.<\/p>\n<ul>\n<li><strong>Picking rate (picks per hour)<\/strong><br \/>Industry benchmarks often range from <strong>120\u2013175 picks\/hour<\/strong>, with highly optimized operations exceeding <strong>250 picks\/hour<\/strong>.<\/li>\n<li><strong>Picking accuracy<\/strong><br \/>A critical KPI directly tied to customer satisfaction and return costs.<\/li>\n<li><strong>Travel distance per pick<\/strong><br \/>Measures the distance operators travel during picking. Optimized layouts and slotting strategies significantly reduce this metric.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Packing_and_shipping_KPIs\"><\/span>Packing and shipping KPIs<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This stage directly impacts the customer promise.<\/p>\n<ul>\n<li><strong>Order cycle time (OCT)<\/strong><br \/>Measures the total time from order creation to shipment. Typical benchmarks vary by model:\n<ul>\n<li>B2C: 2\u20134 hours<\/li>\n<li>D2C: 30\u201390 minutes<\/li>\n<li>B2B: 12\u201348 hours<\/li>\n<\/ul>\n<\/li>\n<li><strong>Order fill rate<\/strong><br \/>Indicates the percentage of orders shipped complete. Best practice is <strong>97\u201398%<\/strong>.<\/li>\n<li><strong>On-time in-full (OTIF)<\/strong><br \/>One of the most widely used service-level KPIs, measuring delivery completeness and timeliness.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Productivity_cost_and_quality_KPIs\"><\/span>Productivity, cost, and quality KPIs<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>These metrics provide a financial and operational overview.<\/p>\n<ul>\n<li><strong>Labor productivity per employee<\/strong><br \/>Units handled per worker per hour.<\/li>\n<li><strong>Cost per order<\/strong><br \/>A comprehensive KPI covering picking, packing, and labor costs.<\/li>\n<li><strong>Returns and error rate<\/strong><br \/>Measures the operational impact of internal errors on customer experience and reverse logistics.<\/li>\n<li><strong>Safety KPIs<\/strong><br \/>Including number of accidents per year and time since last incident.<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"5_Best_practices_for_a_warehouse_KPI_dashboard_that_actually_works\"><\/span>5 Best practices for a warehouse KPI dashboard that actually works<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li><strong> Automate data collection<\/strong><\/li>\n<\/ol>\n<p>Manual data entry reduces accuracy and trust. Integrating KPIs with <strong>WMS, ERP, and analytics tools<\/strong> ensures reliable, real-time data.<\/p>\n<ol start=\"2\">\n<li><strong> Focus on trends, not isolated values<\/strong><\/li>\n<\/ol>\n<p>Single data points lack context. Trend analysis reveals patterns, seasonality, and structural issues before they escalate.<\/p>\n<ol start=\"3\">\n<li><strong> Define targets and thresholds<\/strong><\/li>\n<\/ol>\n<p>Each KPI should include:<\/p>\n<ul>\n<li>A clear target<\/li>\n<li>Alert thresholds (green, yellow, red)<\/li>\n<\/ul>\n<p>This enables fast interpretation and prioritization.<\/p>\n<ol start=\"4\">\n<li><strong> Share KPIs across teams<\/strong><\/li>\n<\/ol>\n<p>KPIs should not be limited to management. When operational teams understand how their work impacts performance metrics, engagement and results improve.<\/p>\n<ol start=\"5\">\n<li><strong> Review and adjust KPIs regularly<\/strong><\/li>\n<\/ol>\n<p>As volumes grow, channels expand, or automation increases, KPIs must evolve. Periodic reviews keep dashboards relevant and actionable.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Turning_warehouse_data_into_business_results\"><\/span>Turning warehouse data into business results<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Tracking the right warehouse KPIs is not about reporting\u2014it\u2019s about <strong>driving measurable operational and financial improvements<\/strong>. When KPIs are aligned with business goals, clearly defined, and supported by the right systems, warehouses become strategic assets rather than cost centers.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Want to see how real-time warehouse KPIs can improve visibility and performance? Fill out the form and our experts will contact you!<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#d81233&#8243; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_stops=&#8221;#d81233 0%|#990a24 100%&#8221; min_height=&#8221;500px&#8221; custom_margin=&#8221;-2px|15px|15px|15px|false|false&#8221; custom_padding=&#8221;30px||20px||false|false&#8221; border_radii=&#8221;on|30px|30px|30px|30px&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<script src=\"https:\/\/www.cognitoforms.com\/f\/seamless.js\" data-key=\"M0Sv-ZtuoEypxyJjtZiRew\" data-form=\"796\"><\/script>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Warehouse performance can no longer be managed based on intuition or experience alone. In today\u2019s data-driven supply chains, tracking the right warehouse KPIs is essential to improve efficiency, control costs, and meet customer expectations. However, not all metrics deliver real value. Tracking too many or poorly defined KPIs often leads to noise, wrong conclusions, and [&hellip;]<\/p>\n","protected":false},"author":23,"featured_media":10102,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[105],"tags":[96,95,94],"class_list":["post-10099","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-idynamics-warehouse-posts","tag-business-central-2","tag-idynamics-warehouse-2","tag-kpi"],"_links":{"self":[{"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/posts\/10099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/comments?post=10099"}],"version-history":[{"count":4,"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/posts\/10099\/revisions"}],"predecessor-version":[{"id":10138,"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/posts\/10099\/revisions\/10138"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/media\/10102"}],"wp:attachment":[{"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/media?parent=10099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/categories?post=10099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/idynamics-apps.com\/en\/wp-json\/wp\/v2\/tags?post=10099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}