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
Do you remember when the movie Super Size Me came out? If you missed it, it was about the harmful effects of eating fast food too often. One aspect of the film that stands out is McDonald’s clever use of pricing to encourage consumers to buy bigger—and therefore more expensive—meals.
Hungry patrons could upgrade their meal to a Super Size version for only a few cents more. In doing so, McDonald’s was able to capitalize on perceived value, i.e., getting more product for an apparent lower total price for the volume. It encouraged restaurant-goers to spend a little more while feeling like they got a great deal. It was a smart use of strategic pricing.
There are hundreds of pricing relationship types like this one that pricing leaders need to be aware of and can use to their advantage when creating their team’s pricing strategy and workflows. You need to maintain profitable and logical price relationships across your entire product portfolio while keeping up with the competition. After all, the gimmick to Super Size would never have worked if the upgrade had been of less value than just buying another burger, for example.
In this article, we’ll examine more real-world examples of pricing challenges so you can consider the best ways to manage complex price relationships. We’ll examine things like package sizes, brands, and product lines and how they’re intertwined in systematic price relationship management. Read on to learn how to prevent margin erosion, improve customer perception of your brand, and keep your pricing consistent and competitive.
Pricing is one of the most challenging aspects of managing a retail brand. This is especially true if you are dealing with a large assortment of products, including private label items, the same products of differing sizes, and hundreds, or even thousands, of competing products to link. Inconsistencies in your price relationship management can confuse customers, erode trust, and harm your bottom line.
Let’s take a look at a few common pitfalls in portfolio pricing that you might run into in real life to better understand the impact on customer perception, trust, and sales.

Let’s consider a nuanced scenario where price relationships between a retailer’s private label and premium branded products create an unexpected customer perception. Imagine you’re in a supermarket, comparing prices on peanut butter. You’ve always opted for the store’s private-label brand, “Best Choice,” because it’s typically the more affordable option. Here’s what you find:
At first glance, this pricing feels off—shouldn’t the private label be the cheaper option? If a customer has been conditioned to expect savings with private-label products, seeing a national brand undercut that price could make them pause.
This kind of pricing misalignment can erode trust in private-label value and even push customers toward the national brand. When price relationships don’t follow consumer expectations, they create friction in the shopping experience and may lead to lost sales for the retailer’s own brand.
A strong value-size relationship ensures that customers receive logical pricing as they move between different sizes of the same product. When this relationship is misaligned, customers may feel confused or misled, which can lead to lost sales and eroded trust.
Let’s look at a real-world example using a well-known branded product—salad dressing. Imagine you’re shopping for Hidden Valley Ranch (HVR) dressing and see the following pricing on the shelf:
At first glance, you might assume that buying a larger size offers better value. However, a quick calculation shows that the price per ounce actually increases with size:
Customers expecting a discount for buying in bulk may feel misled or frustrated when they realize the mid-size option (24 oz) is actually the most expensive per ounce. This mispricing could drive shoppers to purchase the smallest size instead of the intended larger, more profitable unit—or worse, lead them to a competitor with clearer pricing structures.
Retailers must maintain logical price progression by ensuring that price per unit decreases as the product size increases. This not only improves customer trust but also encourages higher-volume purchases, driving profitability while maintaining a fair value perception.
A well-structured price link relationship ensures customers can easily compare similar offerings of the same product and size. When the pricing across different versions or variations of the same item isn’t clear or consistent, it can confuse customers and damage trust, ultimately leading to missed sales and a negative brand perception.
Let’s break this down with an example of a popular product—coffee. Imagine you’re shopping for a bag of Starbucks coffee and you see the following pricing on the shelf:
At first glance, the product is the same size (12 oz) across all options, but the prices vary significantly. One might assume that the price difference is due to differences in quality or features, but what if there’s no clear indication of why the different flavors are priced higher than the standard?
After investigating, you may realize that the only differences are related to different variants—like “Mocha” or “Pumpkin Spice” rather than any significant changes in the product’s core attributes. When customers realize they’re paying a premium for just different flavors, without any tangible difference in product quality, it can lead to feelings of confusion and frustration.
Retailers must ensure that price links between similar offerings are justifiable by clearly communicating what differentiates each product. This avoids the perception that customers are being charged extra for little added value, building trust and encouraging repeat purchases. By maintaining transparent price link relationships, businesses can foster customer loyalty, increase sales, and drive better overall satisfaction.
Now that we’ve reviewed several challenges brands face when pricing their products, what can be done about them?
If you’re a pricing leader, you must create a robust pricing strategy that considers customer expectations, competitive data, sizing, and the overall value progressions of your product assortment. These are the three foundational steps to solve your price relationship challenges.
This process is difficult, if not impossible, to manage manually. To effectively set up and execute these steps, you’ll need the help of an advanced pricing intelligence system.
Want to know how to roll out a price relationship management strategy? Follow this implementation strategy for a practical way to get started.
DataWeave offers features specifically built to help pricing teams manage pricing strategies. These applications can help you optimize profit margins and improve your overall market positioning for long-term success. A concerted effort to create brand hierarchies within your own product assortment from the get-go, followed by routine monitoring and real-time updates, can make all the difference in your pricing efforts.
Within DataWeave, you can create price links between your products (value sizing) and those of the competition. These will alert you to exceptions when discrepancies are discovered outside your established tolerance levels. If a linked set of your products in different sizes shows inconsistent pricing based on scaled volumes, your team can quickly know how to make changes. If a competitor’s price drops significantly, you can react to that change before you lose sales.
DataWeave even offers AI-driven similar product matching capabilities, which can help you manage pricing for private label products by finding and analyzing similar products across the market.
If you want to learn more about price relationship management, connect with our team at DataWeave today.
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".