{ "meta": { "title": "SLA Calculator", "subtitle": "eCom Content Factory", "version": "1.0.0", "handoverDays": 1, "businessDaysOnly": true, "syndicationBufferDays": 10, "syndicationBufferNote": "When syndication is required, we suggest a 10 business-day buffer between completion date and go-live date due to retailer requirements." }, "briefTypes": [ { "id": "country_pull_adaptation", "label": "Country Pull - Adaptation", "projectType": "Country Pull - Adaptation", "description": [ "Entails moderate tasks like integrating new elements or local customisation", "Applies to motion content", "Master Content Exists" ] }, { "id": "country_pull_creation", "label": "Country Pull - Creation", "projectType": "Country Pull - Creation", "description": [ "Creation of a new KV & Visual ID", "Applies to motion content" ] }, { "id": "country_pull_simple", "label": "Country Pull - Simple", "projectType": "Country Pull - Simple", "description": [ "Resizing / Cropping & Translation Only", "Involves straightforward tasks such as adjusting sizes or making language translations", "Does not apply to motion content" ] }, { "id": "country_retailer_request", "label": "Country Retailer Request", "projectType": "Country Retailer Request", "description": [ "Syndication requests ONLY that do not need production" ] }, { "id": "global_push_eventing", "label": "Global Push - Eventing", "projectType": "Global Push - Eventing", "description": [ "ECF ONLY", "This brief type is for Brand Content Managers (ECF/DEC)", "Refers to a Global Eventing request to be rolled out to the markets" ] }, { "id": "global_push_pdp", "label": "Global Push - PDP", "projectType": "Global Push - PDP", "description": [ "ECF ONLY", "This brief type is for Brand Content Managers (ECF/DEC)", "Refers to a Global Push PDP request to be rolled out to the markets" ] }, { "id": "local_push_eventing", "label": "Local Push - Eventing", "projectType": "Local Push - Eventing", "description": [ "Market ONLY", "This brief type is for markets", "Refers to a Global Eventing request to be rolled out to the market" ] }, { "id": "local_push_pdp", "label": "Local Push - PDP", "projectType": "Local Push - PDP", "description": [ "Market ONLY", "This brief type is for markets", "Refers to a Global Push PDP request to be rolled out to the market" ] }, { "id": "urgent_brief", "label": "Urgent Brief", "projectType": "Urgent Brief", "description": [ "Please only submit as URGENT if conditions apply:", "1 urgent brief at a time per brand and market", "Eventing PULL requests only", "Up to 10 simple visuals", "Only for changing existing assets (e.g. price, promo updates, resizing)", "Excludes: Complex Adaptations & Creations, & any other formats", "The DEC team will be responsible for reviewing and determining whether a request qualifies as urgent" ] } ], "stages": [ { "id": "stage1", "number": 1, "label": "Missing DMI Asset Creation", "shortLabel": "DMI Asset Creation" }, { "id": "stage2", "number": 2, "label": "Mastering, Copy Creation / Extraction", "shortLabel": "Mastering / Copy" }, { "id": "stage3", "number": 3, "label": "Global Rollout Invitation", "shortLabel": "Global Rollout" }, { "id": "stage4", "number": 4, "label": "Translation (Salsify PDP)", "shortLabel": "Translation (PDP)" }, { "id": "stage5", "number": 5, "label": "Translation (Asset)", "shortLabel": "Translation (Asset)" }, { "id": "stage6", "number": 6, "label": "Production", "shortLabel": "Production" }, { "id": "stage7", "number": 7, "label": "Opera Upload", "shortLabel": "Opera Upload" }, { "id": "stage8", "number": 8, "label": "Syndication", "shortLabel": "Syndication" } ], "stageMatrix": { "country_pull_adaptation": [false, true, false, true, true, true, true, false], "country_pull_creation": [false, true, false, true, true, true, true, false], "country_pull_simple": [false, false, false, true, true, true, true, false], "country_retailer_request": [false, false, false, false, false, false, true, true], "global_push_eventing": [false, true, true, false, false, false, true, false], "global_push_pdp": [false, true, true, false, false, false, true, false], "local_push_eventing": [false, false, false, false, true, true, true, true], "local_push_pdp": [false, false, false, true, true, true, true, true], "urgent_brief": [false, false, false, false, false, true, true, false] }, "stageConfigs": { "stage1": { "label": "1. Missing DMI Asset Creation", "tooltip": "This stage covers creation of missing DMI assets before they can be mastered.", "fields": { "complexity": { "label": "Complexity", "tooltip": "DMI Asset Creation complexity level.", "options": [ { "value": "creation", "label": "Creation", "days": 6, "definition": "Full creation of missing DMI assets." } ], "default": "creation" }, "revisionRounds": { "label": "Rounds of Review", "tooltip": "Maximum 2 rounds of review.", "min": 0, "max": 2, "default": 0 }, "marketApprovalDays": { "label": "Market Approval Days", "tooltip": "Recommend 3 days, can be shorter.", "min": 0, "max": 10, "default": 3 }, "revisionDays": { "label": "Revision Days (per round)", "tooltip": "Recommend 2 days per revision round.", "min": 0, "max": 5, "default": 2 } } }, "stage2": { "label": "2. Mastering, Copy Creation / Extraction", "tooltip": "This stage covers mastering DMI handover assets and creating/extracting copy.", "fields": { "masteringComplexity": { "label": "Mastering / Copy Extraction Complexity", "tooltip": "How complex is it to re-master the DMI handover asset and extract copy.", "options": [ { "value": "simple", "label": "Simple", "days": 1, "definition": "DMI handover assets are straightforward to re-master and extract copy before automation." }, { "value": "mid", "label": "Mid", "days": 2, "definition": "DMI handover assets require manual recreation of the master, extract copy, and format changes (sometimes Figma files)." }, { "value": "not_required", "label": "Not Required", "days": 0, "definition": "This step is not required." } ], "default": "not_required" }, "copyComplexity": { "label": "Copy Creation / Adaptation Complexity", "tooltip": "Complexity of the copy work required for this project.", "options": [ { "value": "adaptation_simple", "label": "Copy Adaptation Simple", "days": 0.5, "definition": "Simple adjustments to existing text, modifying slightly to fit different formats or audiences. Up to 200 words. Example: Taking PDP copy and adapting it to fit banner headlines." }, { "value": "creation_medium", "label": "Copy Creation Medium", "days": 1, "definition": "Generating straightforward original text, such as brief product descriptions or basic promotional materials. Up to 500 words. Example: Writing PDP copy." }, { "value": "creation_complex", "label": "Copy Creation Complex", "days": 1.5, "definition": "Crafting original content requiring moderate research and creativity, developing text for specific themes, incorporating brand guidelines. Up to 1,000 words. Example: Writing a bespoke newsletter from scratch." }, { "value": "not_required", "label": "Not Required", "days": 0, "definition": "This step is not required." } ], "default": "not_required" }, "bcmApproval": { "label": "Does Copy need to be Approved by BCM?", "tooltip": "If the copy requires to be tweaked for Amazon, it needs to be approved by BCM. Otherwise, select No.", "options": [ { "value": "yes", "label": "Yes" }, { "value": "no", "label": "No" } ], "default": "yes" } } }, "stage3": { "label": "3. Global Rollout Invitation", "tooltip": "This stage covers the global rollout invitation to markets for campaign acceptance/rejection.", "fields": { "rolloutDays": { "label": "Rollout Days", "tooltip": "Number of days for the global rollout invitation process.", "min": 1, "max": 10, "default": 3 } } }, "stage4_5": { "label": "4 & 5. Translation (Salsify PDP & Asset)", "tooltip": "Salsify and Asset translation are normally kicked off at the same time. Most translation projects are within 2,000 words.", "note": "Stages 4 and 5 run in parallel - enter details once for both.", "fields": { "wordCount": { "label": "Estimated Translation Word Count", "tooltip": "Most translation projects are within 2,000 words. Check with TM if you are not certain.", "options": [ { "value": "0_2000", "label": "0 - 2,000 words", "days": 3 }, { "value": "2000_3500", "label": "2,000 - 3,500 words", "days": 4 }, { "value": "3500_5000", "label": "3,500 - 5,000 words", "days": 5 }, { "value": "not_required", "label": "Not Required", "days": 0 } ], "default": "0_2000" }, "revisionRounds": { "label": "Estimated Rounds of Translation", "tooltip": "Based on experience, it takes 1-2 rounds for copy review.", "min": 0, "max": 4, "default": 1 }, "marketApprovalDays": { "label": "Translation Market Approval Days", "tooltip": "Based on experience, it takes around 5 working days for Market to provide feedback.", "min": 0, "max": 15, "default": 5 }, "revisionDays": { "label": "Translation Revision Days (per round)", "tooltip": "Based on experience, it takes 2 days for revision.", "min": 0, "max": 5, "default": 1 } } }, "stage6": { "label": "6. Production", "tooltip": "Production complexity and volume determine the WIP days. PM can apply a speed-up percentage to reduce timeline.", "fields": { "complexity": { "label": "Asset Complexity", "tooltip": "This can be defined based on the Brief/Project Type, or updated by the PM based on actual complexity.", "options": [ { "value": "simple", "label": "Simple", "definition": "Low-complexity assets require light manual adaptation only: resizing/recropping with no need to reposition or redesign. The layout remains intact." }, { "value": "complex", "label": "Complex", "definition": "Medium complexity: layout exists but several elements need manual placement, adjustment or resizing. Partial reshaping required." }, { "value": "creation", "label": "Creation", "definition": "High-complexity: creating from scratch, adapting with new full layout, multiple elements redesigned manually." }, { "value": "bespoke", "label": "Bespoke", "definition": "Anything outside standard levels: video creation from scratch, re-editing video with new elements/animations, new audio. Must be costed and signed off in advance." } ], "default": "simple" }, "assetVolume": { "label": "Estimated Number of Assets", "tooltip": "PM to give a rough estimate of no. of Assets to evaluate the timeline. Asset count is key for Production and Opera Upload timelines.", "options": [ { "value": "0_50", "label": "0 - 50 Assets", "impactPercent": 0 }, { "value": "50_100", "label": "50 - 100 Assets", "impactPercent": 0 }, { "value": "100_200", "label": "100 - 200 Assets", "impactPercent": 0 }, { "value": "200_300", "label": "200 - 300 Assets", "impactPercent": 0 }, { "value": "300_400", "label": "300 - 400 Assets", "impactPercent": 0 } ], "default": "0_50" }, "crossReferenceTable": { "_comment": "Production days by complexity x asset volume. Key format: complexity_assetVolume", "simple_0_50": 2, "simple_50_100": 4, "simple_100_200": 6, "simple_200_300": 6, "simple_300_400": 6, "complex_0_50": 5, "complex_50_100": 6, "complex_100_200": 8, "complex_200_300": 8, "complex_300_400": 8, "creation_0_50": 7, "creation_50_100": 9, "creation_100_200": 11, "creation_200_300": 11, "creation_300_400": 11, "bespoke_0_50": 10, "bespoke_50_100": 20, "bespoke_100_200": 25, "bespoke_200_300": 27, "bespoke_300_400": 30 }, "defaultRevisionRounds": { "_comment": "Suggested revision rounds by complexity level", "simple": 2, "complex": 2, "creation": 4, "bespoke": 0 }, "revisionRounds": { "label": "Estimated Rounds of Production Revision", "tooltip": "PM can evaluate revision rounds based on complexity: Simple=1, Complex=2, Creation=4. If the project has a tight deadline, manage client expectations to reduce rounds.", "min": 0, "max": 6, "default": 0 }, "marketApprovalDays": { "label": "Production Market Approval Days", "tooltip": "Based on experience, it takes around 2-3 working days for Market to provide feedback.", "min": 0, "max": 10, "default": 3 }, "revisionDays": { "label": "Production Revision Days (per round)", "tooltip": "Based on experience, it takes 2 days per revision round.", "min": 0, "max": 5, "default": 2 }, "speedUpPercent": { "label": "Speed Up by %", "tooltip": "PM can adjust manually to speed up production WIP by a percentage. Enter 0 for no speed-up, 50 to halve the days, etc.", "min": 0, "max": 80, "step": 5, "default": 0 } } }, "stage7": { "label": "7. Opera Upload", "tooltip": "Opera Upload days depend on the number of assets. This stage uses the same asset volume selected in Production.", "alwaysActive": true, "daysByAssetVolume": { "0_50": 1, "50_100": 2, "100_200": 3, "200_300": 4, "300_400": 5 }, "defaultDays": 1 }, "stage8": { "label": "8. Syndication", "tooltip": "Syndication type determines the base days. Salsify Prep Only = 4d, Syndication PDP = 5d, Syndication Non-PDP = 3d.", "fields": { "syndicationType": { "label": "Syndication Type", "tooltip": "Type of syndication work required — drives the base days.", "options": [ { "value": "salsify_prep_only", "label": "Salsify Prep Only", "days": 4, "definition": "Prepping PDP content in Salsify, completing any necessary workflows or manual asset selections." }, { "value": "syndication_pdp", "label": "Syndication PDP", "days": 5, "definition": "Prepping PDP content in Salsify, extracting information from Salsify through channels, loading into SharePoint or a retailer portal and sending any necessary communications." }, { "value": "syndication_non_pdp", "label": "Syndication Non-PDP", "days": 3, "definition": "Sharing non-PDP information directly with a retailer." } ], "default": "syndication_pdp" } } } }, "verdictMessages": { "canMeet": "CAN meet the required deadline", "cannotMeet": "CANNOT meet the required deadline" }, "pmInstructions": { "canMeet": "The project can meet the Go Live Date based on SLA calculator. The Brief can be accepted and kicked off as per planned Start Date.", "cannotMeet": "The project cannot meet the Go Live Date. PM can try to adjust Rounds of Revision and Market Approval Days. Please ensure the client understands the required turnaround. If it still doesn't meet the deadline, negotiate with the client for a new deadline." } }