""" templates.py ============ The report sections that are effectively identical across communities. From the Jaji/Kwarua Tasha comparison these are byte-for-byte boilerplate aside from the community name and the mini-grid developer, so they should NEVER be sent to an LLM — that only risks hallucination and wastes tokens. They are stored as format strings and filled deterministically. If a future report needs to vary one of these, lift it out into the schema and add a generation chain for it. Until then, keep it here. """ INTRODUCTION = { "lead": "This study evaluates the needs, viability, profitability, " "implementation, and long-term sustainability of Productive Use of Energy " "(PUE) investments in {community} community. The assessment employed a " "rigorous methodology that combined desktop research, survey design, " "field-based needs assessments, equipment design, financial modeling, and " "project management. Key inputs were provided by the Distributed Renewable " "Energy Enhancement Facility (DREEF), {developer} (the mini-grid " "developer), the PUE team and local community leaders. These contributions " "included technical data, funding support, and facilitation of access to " "community stakeholders and proposed beneficiaries.", "objectives_lead": "The specific objectives of the study were to:", "objectives": [ "Identify potential PUE users, their production/processing capacity, " "expenses spent on fossil fuel and their power capacity requirements.", "Assess the socio-economic and commercial viability of PUE " "opportunities.", "Propose tailored PUE solutions.", "Evaluate users' willingness to switch from fossil fuels to " "energy-efficient PUE equipment and to connect to the proposed " "mini-grid for increased productivity.", "Develop an implementation plan for deploying these solutions in the " "community.", ], "closing": "This report provides actionable insights to guide the design " "and deployment of productive use of energy technologies, strengthen rural " "enterprises, and align with Nigeria's broader development priorities, " "while contributing to the achievement of the Sustainable Development " "Goals (SDGs).", } ABOUT_CONTRACTOR = { "body": "This report is carried out by the PUE team of DREEF with " "collaboration from other key expert teams, namely the Technical team, " "Legal team, Financial team, Procurement team, and ESG team.", "link_lead": "For more detailed information about DREEF, kindly click ", "link_text": "HERE", "link_url": "https://dreef.org/", "link_tail": ".", } METHODOLOGY = { "body": "A desktop review and gap analysis was conducted to establish " "baseline information on the communities and their mini-grid development " "prospects. This included assessments of energy demand, household " "demographics, existing energy sources, environmental and infrastructural " "factors, financial viability, and regulatory frameworks. Where information " "was lacking, gaps were identified for follow-up during fieldwork.", "link_lead": "A detailed description of this process, including survey " "design, site reconnaissance, data collection methodology, and the field " "deployment and management activities is provided ", "link_text": "HERE", "link_url": "https://dreef.sharepoint.com/:w:/r/sites/DataRoom/_layouts/15/" "Doc.aspx?sourcedoc=%7BFEF33821-07EA-4611-9BD8-55968C203AD8%7D&file=" "DESKTOP%20REVIEW.docx&action=default&mobileredirect=true", "link_tail": ".", } # Risk register — identical across both reviewed reports. RISKS_IDENTIFIED = [ ("Low Equipment Adoption", "Users may be unwilling to switch from manual or diesel-powered methods due to habit or cost fears."), ("Machine Downtime", "Equipment may break down frequently due to poor maintenance, improper use, or lack of spare parts."), ("Electricity Reliability", "Mini-grid overload or poor solar sizing could affect equipment performance or user satisfaction."), ("Theft and Vandalism", "Equipment, batteries, or solar panels may be stolen or damaged, especially at night or in isolated areas."), ("Lack of Operator Skills", "Improper usage may cause damage or reduce equipment lifespan."), ("Financial Default", "Operators may default on payment models (lease-to-own, usage fees, subscriptions)."), ("Cooperative Failure", "Poor management or conflicts can collapse cooperatives managing shared equipment."), ("Climate Disruptions", "Heavy rains or flooding may affect logistics, deployment schedules, or equipment use."), ("Community Resistance", "Resistance to cooperative models or shared infrastructure from individuals preferring personal ownership."), ] MITIGATION_MEASURES = [ ("Low Equipment Adoption", "Community sensitization sessions before deployment; early pilot demonstrations with lead users; flexible financing (pay-as-you-use or lease-to-own)."), ("Machine Downtime", "Operator and technician training prior to handover; preventive maintenance schedules; spare parts kits stored locally; equipment logbooks for tracking faults."), ("Electricity Reliability", "System design includes buffer for peak loads; load staggering strategy; battery banks and backup generation in hybrid systems."), ("Theft and Vandalism", "Secure installation (anchor bolts, enclosures); community-led equipment protection committees; asset insurance for high-value machines."), ("Lack of Operator Skills", "Pre-deployment technical training; step-by-step visual SOPs; on-call technical support; quarterly refresher training."), ("Financial Default", "Equipment usage tied to cooperative performance; usage monitoring via IoT; group guarantees or staggered asset handover; revenue-based repayment models."), ("Cooperative Failure", "External facilitation and capacity-building support for 12 months; strong bylaws and conflict resolution frameworks; monthly governance reviews."), ("Climate Disruptions", "Site selection considers drainage and elevation; weather-resistant installations; deployment flexibility during wet season."), ("Community Resistance", "Choice between individual and cooperative models; pilots to test both models; transparent beneficiary selection and inclusive engagement."), ] KPIS = [ ("Energy Utilization", "kWh consumed per equipment category (daily/monthly)", "Monthly"), ("Energy Utilization", "Peak load vs average load per site", "Monthly"), ("Operational", "Machine uptime and downtime logs (hrs/month)", "Weekly"), ("Operational", "Frequency of maintenance or repairs", "Monthly"), ("Operational", "Processing rate and quantity", "Daily"), ("Economic Impact", "Increase in monthly revenue per processor (₦)", "Quarterly"), ("Economic Impact", "Monthly fuel savings for e-mobility and agro-processors (₦)", "Monthly"), ("Social Impact", "Number of jobs created (technicians, operators, riders)", "Quarterly"), ("Social Impact", "Number of women/youths trained and engaged", "Quarterly"), ("Adoption", "Number of active PUE users", "Monthly"), ("Adoption", "Number of cooperative members enrolled", "Monthly"), ] SDGS = [ ("SDG 7", "Affordable and Clean Energy", "Deployment of solar mini-grids and reduction in fossil fuel usage"), ("SDG 8", "Decent Work and Economic Growth", "Job creation and promotion of local agro-based industries"), ("SDG 5", "Gender Equality", "Inclusion of women in employment and entrepreneurial roles"), ] IMPLEMENTATION_MODELS = [ ("Individual Model - New Equipment", "Beneficiaries lease newly procured equipment individually on a lease-to-own basis. Each beneficiary is solely responsible for repayment and eventual ownership."), ("Individual Model - Retrofit", "Existing fossil-fuel equipment is retrofitted to electric power. Beneficiaries pay for the upgrade in installments over the loan repayment period."), ("Agrohub Model", "A shared agricultural hub is established; beneficiaries collectively lease and manage the equipment as a cooperative under a lease-to-own arrangement."), ("Hybrid Model - New Equipment", "A shared hub used by farmer cooperatives (collective lease) and individual agroprocessors (individual lease)."), ("Agrohub Model + Grant", "As the Agrohub Model, but a grant covers the cost of constructing the hub structure, reducing the financial burden on beneficiaries."), ] AI_DISCLOSURE = { "intro": [ "In the preparation of this report, Artificial Intelligence (AI) was " "applied primarily as a language support and structuring tool. AI was " "used to improve the clarity, readability, and grammatical arrangement " "of the document to ensure that the information presented was coherent " "and professionally communicated.", "It is important to emphasize that the substantive content of the " "report was not generated by AI. The data and insights were drawn from " "multiple reliable sources, including:", ], "sources": [ ("Field Data", "Primary information collected through surveys, " "assessments, and stakeholder engagements."), ("Recommendations", "Developed based on the experience and expertise " "of subject matter specialists."), ("Budget Estimates", "Sourced directly from Original Equipment " "Manufacturers (OEMs)."), ("Financial Models", "Designed and validated by the financial team."), ("Technical Inputs", "Provided by the technical team with " "sector-specific knowledge."), ], "closing": "AI therefore played a supporting role in enhancing the " "presentation of information, while the core knowledge, data, and analysis " "were derived from fieldwork, expert judgment, and technical and financial " "teams.", } def fill_intro(community: str, developer: str = "the mini-grid developer") -> str: return INTRODUCTION.format(community=community, developer=developer) # =========================================================================== # # TEMPLATE-FAITHFUL BOILERPLATE (verbatim from the Akotogbo PUE template) # These are the sections that are identical across communities. Only the # {community} / {developer} tokens vary. Everything else renders as-is so the # agent's output matches the reference template's tone and wording exactly. # =========================================================================== # TITLE_BLOCK = { "title": "{community_upper} PRODUCTIVE USE OF ENERGY REPORT", "subtitle_lines": [ "Presented by the", "Productive Use of Energy Team", "of", "Distributed Renewable Energy Enhancement Facility", ], } METHODOLOGY_HEADING = ("Desktop Review, Gap Analysis of Preliminary " "Information and Field Management Activities") ENERGY_SUBSTITUTION = [ # Table 3 — Use Case / Current Source / Replacement ("Household lighting", "Kerosene lamps, petrol generators", "Solar electricity"), ("Grinding (cassava); Digesting (Oilpalm)", "Diesel/petrol engines", "PUE machines"), ("SME", "Small petrol generators", "Reliable solar mini-grid power"), ("Mobility", "Petrol powered two-wheelers", "Electric powered two-wheelers"), ] # --- Detailed Pilot Infrastructure Specifications (boilerplate prose) ------- # AGROHUB_SPEC_INTRO = ( "Each AgroHub functions as a centralized processing facility equipped with " "electric-powered machinery tailored to the specific crop value chains. " "The hubs will be:") AGROHUB_SPEC_BULLETS = [ "Owned by the SPV", "Managed by the cooperative", "Powered by a stand-alone system", "Modular, allowing expansion to accommodate additional machines or " "processing lines during scale-up phases.", ] LAND_BUILDING_LAYOUT = [ "Total Land Area: One plot = 15m x 30m = 450m²", "Sunbread size — External Dimensions: 10ft by 10ft container", "Internal Floor Area (Inside): 2.9 m × 2.9 m ≈ 8.41 m²", "Panel Land Size: Half plot of land = 15m x 15m = 225m²", "Agrohub — Pilot Hub Facility: 3.03m x 3.03m", ] INFRA_LAYOUT_TABLE = [ # Table: Pilot Phase Layout – IoT Enabled (indicative) ("Primary Processing Machine (e.g. grater/mill)", "0.7m x 1.5m", "1.05", "Power: ~5.5 kW; IoT: RPM, vibration, energy, temp sensors; mounted near " "motor/hopper."), ("Secondary Processing Machine (e.g. presser/polisher)", "0.8m × 1.5m", "1.2", "Power: ~3.5 kW; IoT: throughput, motor temperature, load sensors."), ] STRUCTURAL_FEATURES = [ "Structural Features: Reinforced concrete slab (150–250 mm depending on wet " "zone), oil-resistant epoxy flooring, graded to drains with oil " "interceptors, silt traps, and stainless-steel piping.", "Roof: Steel truss with long-span metal sheeting, insulation, and ridge " "vents for heat and humidity removal.", "Electrical: 3-phase distribution rated ≥ 30 kW with surge protection, " "per-machine breakers, emergency stop buttons, and IoT energy meters.", "Access & Vehicle Movement: Loading bay 8 m × 3 m for trucks and trailers.", ] COOP_GOVERNANCE = [ # Table — Structure / Description ("Cooperative Ownership", "Registered multipurpose cooperative owns the AgroHub asset"), ("Management Committee", "5-person committee: Chair, Secretary, Treasurer, O&M Rep, Machine " "Operator Supervisor"), ("Usage Fee System", "Pay-per-use and revenue-share model (₦/kg and % per " "batch)"), ("Revenue Use", "Split between Lease repayment, maintenance fund, " "cooperative savings, machine operator salaries"), ("Operation Hours", "8am – 6pm daily (with booking slots to avoid " "congestion)"), ("Record-Keeping", "Daily usage logs, financial records, machine servicing " "checklist"), ("Dispute Resolution", "Bylaws + local mediation structure for cooperative " "members"), ] SAFETY_COMPLIANCE = [ # Table — Aspect / Implementation ("Fire Safety", "1 fire extinguisher + 1 fire blanket + sand bucket per hub"), ("Machine Safety", "Emergency stop buttons, operator training, use of " "gloves & PPE"), ("Electrical Safety", "Grounding of machines, surge protectors, ELCBs, " "visible warning signs"), ("Public Health", "Regular cleaning, pest-proofing, first aid kit on site"), ("Noise Control", "Machines installed with dampeners; zoning of quiet vs. " "loud areas"), ] SECURITY_FEATURES = [ "Fenced Compound (block wall or wire mesh)", "Night Security Personnel (optional)", "Solar-powered floodlights", "Inventory Ledger for Inputs and Outputs", ] FIGURE_AGROHUB = "Agrohub Station" # --- Financial Model: the implementation-model catalogue (Table 43) -------- # IMPLEMENTATION_MODELS_FULL = [ ("Individual Model - New Equipment", "Under this model, beneficiaries lease newly procured equipment " "individually on a lease-to-own basis. Each beneficiary is solely " "responsible for repayment and eventual ownership of the equipment."), ("Individual Model - Retrofit", "Existing beneficiary equipment powered by fossil fuels is retrofitted to " "electric-powered systems. Beneficiaries pay for the upgrade in " "installments over the agreed loan repayment period."), ("Agrohub Model", "An agricultural hub is established within the community, equipped with " "shared agro-processing machinery. Beneficiaries collectively lease and " "manage the equipment as a cooperative, operating under a lease-to-own " "arrangement."), ("Hybrid Model - New Equipment", "A shared agricultural hub used by two beneficiary sectors: Farmer " "Cooperatives lease new Agrohub equipment collectively on a lease-to-own " "basis; Agroprocessors lease new equipment individually on a lease-to-own " "basis."), ("Hybrid Model - New Equipment + Retrofit", "As the Hybrid Model, but agroprocessors have existing fossil-fuel " "equipment retrofitted to electric and pay for the upgrade over the loan " "period."), ("Agrohub Model + Grant", "As the Agrohub Model, but a grant covers the cost of constructing the " "Agrohub structure, reducing the burden on beneficiaries."), ("Hybrid Model - New Equipment + Grant", "As the Hybrid Model (New Equipment), but a grant covers the Agrohub " "structure while beneficiaries keep lease-to-own payments for equipment."), ("Hybrid Model - New Equipment + Retrofit + Grant", "As the Hybrid Model (New Equipment + Retrofit), with a grant covering the " "Agrohub structure for both cooperatives and individual agroprocessors."), ] IMPLEMENTATION_PLAN = [ # Table 48 — S/N, Title, Responsibility, Duration, Timeline ("1", "SPV selection", "Procurement, PUE team", "2 weeks", "Week 1 - 2"), ("2", "Contract Signing", "Legal and PUE team", "2 weeks", "Week 3 - 4"), ("3", "Land Engagement with Community", "SPV, Minigrid Developer and PUE team", "2 weeks", "Week 4 - 5"), ("4", "Project Design", "Minigrid developer, SPV, OEM, IOT, Civil engineer and PUE team", "2 weeks", "Week 6 - 7"), ("5", "Submission of Budgets", "SPV, procurement and PUE team", "1 week", "Week 8"), ("6", "First Payment Made", "SPV, Procurement team, PUE team", "2 weeks", "Week 9 - 10"), ("7", "Account Setup", "SPV, Funder firm", "2 weeks", "Week 11 - 12"), ("8", "Mobilization", "SPV and PUE team", "6 weeks", "Week 13 - 19"), ("9", "Transportation, Installation and Commissioning", "SPV and PUE team", "2 weeks", "Week 20 - 21"), ("10", "Monitoring and Evaluation", "SPV, Financial team and PUE team", "Every Quarter", "Week 25 onward"), ] IMPLEMENTATION_PLAN_INTRO = ( "The implementation for the {community} PUE initiative will take a minimum " "of 21 weeks (5 months and 1 week) from SPV selection to PUE installation, " "testing, and commissioning. The PUE implementation for the pilot " "deployment model will follow the process below") # "For more information... click HERE" line linking to the timeline workbook. IMPLEMENTATION_PLAN_LINK_LEAD = ( "For more information on the PUE Implementation Plan, kindly click ") IMPLEMENTATION_PLAN_LINK_TEXT = "HERE" IMPLEMENTATION_PLAN_LINK_URL = ( "https://dreef.sharepoint.com/:x:/r/sites/Ops/_layouts/15/Doc.aspx" "?sourcedoc=%7BCD0ED7B1-B366-49F3-967D-22736C6CE306%7D" "&file=PUE_Implementation_Timeline.xlsx&action=default" "&mobileredirect=true&or=WORD-WEB.BODY.NT&ct=1780934155366") # --- Conditions for Scaleup (verbatim boilerplate, structured) -------------- # SCALEUP_INTRO = ("Below are the key metrics (KPIs) the community must attain " "before we \u201cactivate\u201d the move from Pilot to Scale-up.") SCALEUP_SECTIONS = [ ("Financial & Repayment Metrics (Lease-to-Own triggers)", [ ("Portfolio On-Time Repayment Rate (core trigger)", [ "Target: \u2265 95% on-time repayment for 3 consecutive months", "Definition: % of expected monthly repayments received by due date", "Why it matters: proves discipline + bankability"]), ("Portfolio at Risk (PAR) \u2013 early delinquency control", [ "PAR 30 (payments 30+ days late): Target \u2264 5%", "PAR 60: Target \u2264 2%", "Why it matters: if PAR rises during pilot, scaling multiplies " "defaults."]), ("Collections Coverage of Operating Costs (hub sustainability)", [ "Target: Collections cover 100% of operators\u2019 wages, routine " "maintenance/spares, insurance allocations, admin/collections costs", "Threshold: OPEX Coverage Ratio \u2265 1.0 for 3 straight months"]), ("Minimum Monthly Collections Threshold", [ "Achieve \u2265 90% of expected monthly inflow for 3 consecutive " "months (thresholds derived from the Monthly Revenue tables above)."]), ("Reserve Fund Build", [ "Maintain a Maintenance & Replacement Reserve \u2265 2 months of " "routine O&M cost OR \u2265 5% of monthly collections, whichever is " "higher", "Evidence: separate wallet/account + monthly statement"]), ]), ("Operational & Technical Metrics (Proof the hub can run)", [ ("Asset Uptime (processing + charging + SME loads)", [ "Target: \u2265 90\u201395% uptime during planned operational hours", "Evidence: IoT runtime logs + operator downtime register"]), ("Energy System Reliability", [ "Target: \u2265 95% availability of the modular solar system", "Evidence: inverter logs, battery cycles, fault logs"]), ("Utilization Threshold (demand proof)", [ "Processing utilization \u2265 60% of available hours for 8 " "consecutive weeks, or a waiting list \u2265 20% of slots weekly"]), ("Maintenance Compliance (culture trigger)", [ "Target: 100% daily checks + \u2265 90% weekly preventive " "maintenance tasks completed", "Evidence: signed checklists + monthly maintenance audit"]), ]), ("Governance & Accountability Metrics", [ ("Operating Charter Compliance", [ "Target: zero \u201coff-book\u201d transactions for 90 days", "Evidence: receipts, booking system, reconciliation reports"]), ("Dispute Resolution Performance", [ "Target: \u2265 90% of grievances resolved within 7 days", "Evidence: grievance log with timestamps + outcomes"]), ("Governance Discipline", [ "Hub Management Committee meets monthly with minutes, financial " "summary review, and downtime/maintenance report review", "Evidence: signed minutes + action tracker"]), ]), ("Data & IoT Metrics", [ ("Data Completeness", [ "Target: \u2265 90% completeness across runtime, energy (kWh), " "booking/throughput records, payments/receipts", "Evidence: monthly dashboard export + spot-checks"]), ("Data Integrity (anti-fraud)", [ "Variance between recorded throughput vs runtime vs energy draw " "stays within an agreed tolerance (e.g. \u00b110\u201315%)", "Evidence: audit comparisons"]), ]), ("Market & Value Chain Metrics", [ ("Market Pull / Offtake Proof", [ "At least one of: signed buyer agreement / offtake MoU; repeat bulk " "buyers with documented purchase history; 3-month processor sales " "growth trend"]), ("Quality Standard Compliance", [ "Consistent quality specs (quality, hygiene, packaging) with " "\u2264 5% rejection/complaints", "Evidence: buyer feedback + QC log"]), ]), ("Inclusion & Social Metrics", [ ("Participation Targets (minimum inclusion triggers)", [ "\u2265 25% of hub processing slots allocated to women/youth " "beneficiaries, or a clear step-up plan toward that", "At least 1 female in a financial-control role (cashier/admin/" "treasurer) or deputy role", "Evidence: booking records + committee roster"]), ]), ] SCALEUP_GATE = [ "Repayment performance: On-time repayment \u226595% for 3 months; " "PAR30 \u22645%", "Collections threshold: \u226590% of expected monthly inflow for 3 months", "Operational reliability: uptime \u226590\u201395% and energy availability " "\u226595%", "Demand proof: utilization \u226560% for 8 weeks or waiting list \u226520% " "of slots weekly", "Governance proof: zero off-book transactions + grievances resolved within " "7 days", "Data proof: \u226590% completeness and auditable logs", ] MER_INTRO = ( "To ensure the effectiveness, efficiency, and sustainability of the PUE " "intervention in {community}, a structured Monitoring, Evaluation, and " "Reporting (MER) framework will be deployed. This system will track energy " "usage, equipment performance, productivity outcomes, and community impact, " "while integrating mechanisms for continuous feedback and improvement.") DATA_TOOLS = [ # Table — Tool / Purpose / Managed By ("IoT Smart Meters", "Track real-time energy consumption & machine uptime", "Technical Partner / SPV"), ("Mobile Enumerator Forms", "Collect monthly performance and business data", "PUE team"), ("WhatsApp / SMS Survey Tools", "Collect qualitative feedback from " "end-users", "Various stakeholders"), ("Equipment Logbooks", "Record hours of use and faults", "SPV"), ("Digital Dashboard (central)", "Aggregates all KPIs and generates " "automated reports", "DI Team"), ] FEEDBACK_LOOPS = [ # Table — S/N, Item, Who, Frequency, Purpose ("1", "Operator Feedback Sessions", "Operator and cooperative member", "Monthly", "Discuss challenges, machine performance, and suggestions"), ("2", "Rider Survey Check-ins", "E-mobility operators and association", "Bi-Monthly", "Assess performance, route efficiency, battery swap " "satisfaction, and fuel savings"), ("3", "Performance Alerts", "All IoT enabled devices", "Instant", "Flag high downtime, abnormal consumption, or device malfunctions"), ("4", "Grievance Redress System", "All beneficiaries", "Instant", "Mobile/WhatsApp hotline for complaints or service requests in real time"), ("5", "Quarterly MEL Reports", "Shared with stakeholders", "Quarterly", "Key insights, deviations, and corrective actions"), ] PROJECTED_IMPACT_DEFAULT = [ # Table 54 — used if the sheet has none ("Processing Output", "Tons/bags processed monthly", "+250\u2013350% increase"), ("Average Processor Income", "\u20a6 / month", "+100\u2013200% growth"), ("E-Mobility Operators", "Monthly Savings", "\u20a640,000\u2013\u20a6100,000"), ("Mini-grid Utilization", "kWh / day increase", "+400\u2013500%"), ("CO\u2082 Emission Reduction", "Estimated % decrease", "25\u201340%"), ("Employment", "Jobs created", "120+"), ("Women Beneficiaries", "% of total beneficiaries", "Over 45%"), ] KEY_CHALLENGES = [ # Table 56 — Lesson Learned / Recommended Best Practice ("Inexperienced enumerators from the database network", "Develop a tiered enumerator training program (digital LMS + field " "orientation); add supervisory review layers; run competency tests before " "deployment; maintain a certified \u201cgold pool\u201d for sensitive PUE " "projects."), ("Inconsistent data sources", "Establish a standardized data-collection template; triangulate each data " "point against \u22652 sources; use a validation checklist; centralize " "data in a version-controlled repository."), ("Limited literacy and data recording among processors", "Simplify questionnaires with visual aids; use assisted interviews; " "provide basic recordkeeping training; pilot digital record tools."), ("Delayed responses from OEMs", "Prequalify a roster of responsive OEMs with SLAs; use framework " "agreements; assign a vendor liaison; tie penalties/incentives to " "timeliness."), ("Partial supplier responses", "Issue structured RFQ templates; reject incomplete submissions; establish " "preferred-supplier partnerships; require after-sales commitments."), ("Data accuracy and completeness", "Deploy real-time tools with GPS + timestamp; automate validation/outlier " "checks; require double-entry verification; conduct spot checks."), ("Unrealistic delivery timeline", "Create a standard delivery timeline; build 20\u201330% buffer periods; " "confirm realistic OEM lead times early; use Gantt planning."), ] FORECASTED_CHALLENGES = [ # Table 57 — Lesson Learned / Recommended Best Practice ("Overloading of electric motors on single-phase supply above 2\u20133 HP", "Use three-phase power systems for all induction motors"), ("Mini-grid disruption from startup surge currents", "Equip all induction-motor machines with variable speed drives or soft " "starters"), ("Reliability of mini-grid power supply", "Schedule PUE operations during peak solar generation hours"), ("Insufficient mini-grid capacity for additional agro-processors", "Coordinate with developers to confirm grid compatibility and capacity " "before deployment"), ("Inconsistent year-round equipment use", "Introduce smaller PUE appliances (wet milling, cold storage) to stabilise " "off-peak demand"), ("Need to extend the mini-grid network to reach all processors", "Reassess grid design with developers to incorporate PUE integration"), ("Risk of equipment theft", "Allocate security resources, especially for centralised agro hubs"), ]