BESS Custom Bids
This section covers how to create custom bids for Battery Energy Storage Systems (BESS) and simulate it.
Bidding and Dispatch Behavior
Bid creation and editing for Battery Energy Storage Systems (BESS) are performed using iBidEzy. This tool allows users to manage the dual nature of storage—acting as both a generator (Supply) and a load (Demand).
- 1. Market Rules
- 2. Setup & Selection
- 3. Bidding Logic
- 4. Bid Bands
- 5. Execution & Saving
Market Rules for Storage
- Supply Bid: The unit discharges if the market price is above the bid price.
- Demand Bid: The unit charges if the market price is below the bid price.
- Strategic Charging: To ensure a battery charges regardless of price (e.g., to capture specific solar generation), one can set a high demand bid price.
Open iBidEzy
- Launch iBidEzy.
- Choose Units.
- Click Edit.
Select BESS Units
Identify your units based on the following naming conventions:
- Supply Unit: Generates power into the grid; operating this unit reduces the overall storage level.
- Naming convention:
UnitName(e.g., 01AAA_BAT_G01)
- Naming convention:
- Demand Unit: Consumes power from the grid to charge; operating this unit increases the overall storage level.
- Naming convention:
UnitName_L(e.g., 01AAA_BAT_G01_L)
- Naming convention:
- From the list, tick the checkbox of the BESS Unit(s) you want to modify.
- Multiple units may be selected for bulk price updates.
- Click Update.
- Navigate to the Bid Stack tab.
Define Supply and Demand Logic
BESS bidding requires configuring two different behaviors based on market price thresholds.
3.1 Supply Bids (Discharging)
- Logic: The unit discharges if the Market Price > Bid Price.
- Application: Set these in Bands 1–10 with positive MW values.
- Goal: Capture high-price intervals (e.g., evening peaks).
3.2 Demand Bids (Charging)
- Logic: The unit charges if the Market Price < Bid Price.
- Application: These are entered as Demand Bids.
- Goal: To charge during low price and have enough supply during the evening peaks.
Understand the BESS Bid Bands
| Band | Parameter | Description for BESS |
|---|---|---|
| Band 1–10 | Price | Ten levels of bid prices. For BESS, these represent the price at which the battery will charge or discharge. Prices must be in ascending order. |
| Band -1 | Available Capacity | The total dischargeable capacity (MW) available. |
| Band -2 | Ramp-Up Rate | MW per minute. Not applicable for BESS. |
| Band -3 | Ramp-Down Rate | MW per minute. Not applicable for BESS. |
Quantity (MW)
Each unit is configured using either 24 columns (hourly) or 288 columns (5-minute intervals). These columns allow you to define the specific quantity in MW for each bid band across the trading day.

Price
For every time interval (column), you can assign a specific bid price. This enables time-varying bidding strategies, allowing the unit to respond to price fluctuations throughout the day.

Edit Bid Prices and Capacities
- Modify Hourly Slots: Since BESS is energy-limited, adjust capacities hourly based on your cycling strategy.
- Strategic Overrides: During periods of high renewable generation, use the "Strategic Charging" method by setting high demand prices to ensure the battery reaches target SoC.
- Efficiency: Use Right-click > Copy Right to quickly populate ramp rates or static price floors across the day.
Save and Apply Changes
- Click Update.
- Verify that your Supply and Demand prices do not overlap in a way that creates "circular" logic (i.e., charging and discharging at the same price).
- Save the file as a .bid file.
- The file is stored in the Bids at C:\IENERGY\XXXX\Bids.
Validation: Ensure your total bid quantity (Supply or Demand) never exceeds the physical capability defined in Band -1.
Step-by-Step BESS Simulation
- Phase 1: Inputs Preparation
- Phase 2: Initialize and Run
- Phase 3: Compare and Analyze
Units File (Units.csv)
Define the individual battery units and link them to their respective site. This file is also located in the Databases folder.
- Key Parameters: Unit ID, Region, Costs, Efficiency, Maximum/Minimum Capacity, and the associated
SiteID.
All other parameters should be kept identical to the template.
Read more about Units.csv here.
Update Database
Run the batch file RunAddBESS.bat to update your database to include the BESS.
Run the Batch File
Navigate to C:\IENERGY\WESM25XX and execute the RunBESS.bat file to process the simulation.
View Summary of Scenarios
| SCENARIO ID | DESCRIPTION |
|---|---|
| ORIG_NOBESS | The Base Case scenario simulating a 7-day period using historical demand and generation data. |
| WIF_NOBESS | Based on the Base Case scenario, featuring a 15% increase in system demand and a 500% increase in solar generation, with no BESS operation. |
| WIF_BESSBID | Builds upon the WIF_NOBESS scenario by introducing BESS market bids.• BESS in LUZON: 2 x 500 MW • BESS in VISAYAS: 2 x 500 MW |