Severity: 8192
Message: Creation of dynamic property CI_URI::$config is deprecated
Filename: core/URI.php
Line Number: 101
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Router::$uri is deprecated
Filename: core/Router.php
Line Number: 127
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$benchmark is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$hooks is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$config is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$log is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$utf8 is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$uri is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$exceptions is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$router is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$output is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$security is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$input is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$lang is deprecated
Filename: core/Controller.php
Line Number: 75
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$load is deprecated
Filename: core/Controller.php
Line Number: 78
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 132
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 290
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 164
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 233
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 313
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Filename: drivers/Session_files_driver.php
Line Number: 354
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 282
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: session_set_cookie_params(): Session cookie parameters cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 289
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 304
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 314
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 315
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 316
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 317
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 375
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: ini_set(): Session ini settings cannot be changed after headers have already been sent
Filename: drivers/Session_files_driver.php
Line Number: 108
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent
Filename: Session/Session.php
Line Number: 110
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: Warning
Message: session_start(): Session cannot be started after headers have already been sent
Filename: Session/Session.php
Line Number: 143
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property Blog::$session is deprecated
Filename: core/Loader.php
Line Number: 1283
Backtrace:
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$benchmark is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$hooks is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$config is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$log is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$utf8 is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$uri is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$exceptions is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$router is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$output is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$security is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$input is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$lang is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$load is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Severity: 8192
Message: Creation of dynamic property CI_Loader::$session is deprecated
Filename: core/Loader.php
Line Number: 931
Backtrace:
File: /var/www/html/application/controllers/Blog.php
Line: 18
Function: view
File: /var/www/html/index.php
Line: 319
Function: require_once
Retailers and brands are constantly engaged in a fierce battle over prices and discounts. Whether it’s major events like Amazon Prime Day, brand-led sales, or everyday price wars, they depend on pricing intelligence and digital shelf analytics to fine-tune their strategies. With a variety of offers such as sales, promotions, and bundles, determining the actual cost to the customer becomes a complex task. The price set by the brand, the retailer’s offer, and the final amount paid by the customer often vary significantly.
In their analysis, retailers and brands frequently focus on the listed price or the final sale price, overlooking a critical factor: the “end-user price.” This includes all discounts, taxes, and shipping costs, providing a more accurate picture of what customers are truly willing to pay at checkout.
Grasping this end-user price is vital for both retailers and brands. For retailers, it helps them stay competitive and refine their promotional strategies. For brands, it offers insights into competitive positioning, net revenue management, and shaping customer price perception.
However, emphasizing the end-user price is challenging, as it involves comprehending all the intricate elements of pricing.
The list price, also known as the manufacturer’s recommended retail price (MSRP), is the initial price set by the brand. This may not always be displayed on marketplaces, especially in categories like grocery. The selling price, on the other hand, is the amount at which a retailer offers the product, often reduced from the list price. The end-user price is the actual amount the customer pays at checkout, which includes taxes, promotions, and other factors that affect the final cost.
The process involves 3 key stages:
The first critical step in calculating end-user pricing is to identify and categorize the various promotional offers available for a given product that can reduce the final amount paid by the consumer. These promotions span a wide range of types:
By accurately identifying and classifying each type of promotion available, brands can then calculate the potential end-user pricing points.
Product pricing and promotional offers can vary based on the consumer’s location or ZIP code. Additionally, customers may opt for different fulfilment modes like delivery, shipping, or in-store pickup, which can further impact the final cost. Accurately calculating the end-user price necessitates considering these location-based pricing nuances as well as the chosen fulfilment method.
In the example below, the selling price is $4.32 for one retailer (on the left in the image) after a discount for online purchase. In another case with Meijer, the item total shows $17.91, but the consumer ends up paying $15.74 after taxes and fees are applied (on the right in the image).

With the various promotional offers and discounts categorized in the previous steps, retailers and brands can now apply each eligible promotion to the product’s selling price. This involves deducting percentages for bank cashback, implementing bundled pricing, applying coupon code discounts, and incorporating shipping promotions.
For retailers, this step allows them to calculate their true effective selling price to customers after all discounts and promotions. They can then compare this end-user price against competitors to ensure they remain competitively priced.
For brands, by systematically layering every applicable offer onto the baseline selling price, they can accurately calculate the multiple potential end-user price points a customer may pay at checkout for their products across different retailers and regions.
Optimizing pricing strategies using the end-user price can benefit retailers and brands in several ways:
While the listed and selling prices are readily available, calculating the true end-user price is quite complex. It involves meticulous tracking and application of various types of promotions, offers, location-based pricing nuances, and fulfillment costs – an uphill task without robust technological solutions.
DataWeave’s end-user price tracking capability empowers retailers and brands with the insights and tools necessary to comprehend the complexities of pricing dynamics. For retailers, it offers the ability to monitor end-user pricing across various products and categories compared to competitors, ensuring competitiveness after all discounts and enabling optimization of promotional strategies. Brands benefit from informed pricing decisions, optimized strategies across retail channels, and a strengthened position within their industries.
Our intuitive dashboard presents classified promotions and corresponding end-user prices across retailers, providing both retailers and brands with a transparent, comprehensive view of the end-user pricing landscape.
Within the detailed product view of DataWeave’s dashboard, the Price and Promotions panel showcases diverse promotions available across different retailers for each product, along with the potential end-user price post-promotions.

Harness the power of DataWeave’s sophisticated Pricing Intelligence and Digital Shelf Analytics to gain an accurate, real-time understanding of your end-user pricing dynamics. Make data-driven pricing decisions that resonate with customers and propel your brand toward sustained success.
Find out how DataWeave can empower your eCommerce pricing strategy – get in touch with us today or write to us at contact@dataweave.com!
Thank you for Subscribing - Team DataWeave
For accounts configured with Google ID, use Google login on top. For accounts using SSO Services, use the button marked "Single Sign-on".