AWS Partner Network (APN) Blog

Develop a Cost-Aware Culture for Optimized and Efficient SaaS Growth

By Koyel De, SaaS Business Lead – AWS SaaS Factory
By Bill Tarr, Sr. Partner Solutions Architect – AWS SaaS Factory

If you are building software-as-a-service (SaaS) solutions, you may be finding it tough to strike the perfect balance between innovating and keeping cost under control. Innovation helps you to grow, but you need a detailed understanding of your expenses to build and maintain products and make that growth sustainable.

Finding the sweet spot is pivotal for both financial resilience and for delivering the optimal value to customers. Embracing a cost-aware culture will help you to identify opportunities to control cost while delivering optimal value to your customer.

Developing a cost-aware culture goes beyond simply cutting expenses–it involves adopting a mindset in which cost awareness and optimization becomes a shared responsibility between your teams.

Your product management, engineering, finance, and operations teams need to collaborate to make cost-aware decisions, optimize resource allocation, and continuously monitor and evaluate the effectiveness of these activities.

In this post, learn how you can develop a cost-aware culture incorporating cost consideration in product development and make informed decisions that align with both product goals and cost optimization objectives.

“If you can’t measure it, you can’t manage it.” – W. Edwards Deming

Navigating Cost Complexities in SaaS

Without visibility into all cost sources, it’s challenging to control costs, plan budgets, define pricing and packaging structures, and optimize resources. This is particularly challenging for SaaS businesses that derive operational and cost efficiency from multi-tenant infrastructure that includes shared resources.

These shared resources bring with them unique challenges for allocating costs. In fact, as you break down your shared infrastructures, you’ll find every layer of architecture can bring a different story to how your tenants are consuming resources and how you have to measure consumption.

As we’ll refer to cost allocation in this post, check out the AWS blog post on optimizing cost-per-tenant visibility in SaaS solutions for foundational background on strategies for measuring consumption.

In addition to the infrastructure cost allocation challenges, the need for agility can lead engineering teams to launch and expand cloud resources as needed without alignment from the finance and procurement teams. While this flexibility can accelerate innovation, it can also result in product or feature costs exceeding your budget.

Furthermore, the finance team may not become aware of cost overruns until after the product or feature has been developed, leaving no opportunity to collaborate on the impact of the cost of operating these features, and see if they align with the expected customer value. In these scenarios, cost is considered as an afterthought, becoming technical debt for the organization.

Take Control of Your Cost with a Cost-Aware Culture

To accelerate your journey to cost optimization, start by developing a cost-aware culture. This influences everything your organization does. At the top-level, it requires a couple of organizational changes; first, you need to adjust your product development cycle to consider cost as a non-functional requirement; and second, cost becomes a shared responsibility, not just the responsibility of your finance team.

So, what is a non-functional requirement? A non-functional requirement measures the success of a system and specifies how a system performs, such as availability, performance, and reliability.

In SaaS, cost should be considered equally important to any of these. By treating cost as a non-functional requirement, it’s prioritized even before a product or feature is developed and is integrated into every phase of the development process. Cost must evolve to no longer be an afterthought but a fundamental aspect of the product.

To define cost as a non-functional requirement, engineering and business teams should collaborate and identify unambiguous metrics that can be effectively measured over time. One of the most important cost metrics you should define is unit cost.

But why is unit cost so important for SaaS? Consider the scenario when your AWS cost has gone up by X%. Does it mean you delivered additional value to your customer? Were you inefficient in your AWS consumption? To answer these questions, you need the appropriate context provided by unit cost awareness.

Through unit cost, you can quickly identify whether the increase in AWS cost has created any additional value for your customer. Read the AWS blog post on selecting a unit metric to support your business for a deep dive into unit cost and how to define it.

In addition to unit costs, there are other cost metrics you can define to understand the cloud cost implication on business outcomes. These are dependent on your overall business objective and SaaS transformation stage. To identify the most important cost metrics for your organization, consider these questions as a guiding principle:

  • Can this metric be measured effectively over time?
  • Is this metric easy to understand?
  • Is this metric still relevant for my business?

Below is a sample list of cost metrics that can be defined to uncover the cloud cost implication for business outcomes:

Figure 1 – Sample cost metrics list.

Complement these cost metrics with other important business metrics–such as gross margin, net revenue retention, customer acquisition cost, cost to serve, and customer lifetime value–to uncover the overall picture of operational excellence of your organization. Later in this post, you’ll see how where and how you can use these metrics.

Cost as a Shared Responsibility

A cost-aware culture doesn’t stop at only defining and measuring cost metrics, but rather is a team sport. To optimize the benefits from cost management, the ownership and accountability of cost also needs to be expanded. In SaaS, the role of the engineering team extends beyond product development to product operation, and their decisions regarding agility and innovation can have cost implications.

Hence, it’s important the engineering team understands the cost implication of different product development decisions they make.

Figure 2 – Cost shared business model.

To expand cost management responsibility, the business and engineering teams must collaborate to create a business model. Your business model should prioritize offerings aligned with overall business goals while considering cost as one of the primary inputs. Other relevant data should also be considered to understand the overall benefits.

For a new offering, since cost data will not be available until the offering is in the market, consider estimated cost as the input for your business model. Your engineering team needs to provide estimated cost data, and the offering list should be reprioritized based on predicted outcomes from the business model. Your business and engineering teams should collaborate in this reprioritization process.

Once actual cost data is available, your business model can be updated, and the business can re-evaluate its prioritization process to identify the offerings that provide optimal justification for the overall business goals.

By collaborating and using a business model that incorporates cost as an input, both your business and engineering teams can efficiently expand their responsibility for cost management, leading to more informed decision-making and improved cost visibility.

Cost Data to Bridge Tech and Business

A shared responsibility for cost means changes to the processes your technical teams follow; specifically, changes designed to include business teams on those processes. Let’s examine some technical teams’ processes and how those can evolve to include cost analysis processes.

Software lifecycle processes often start with customer input or feature requests. Your teams prioritize features and then go through design planning to decide what to build and the right architecture. Once the feature is ready, you deploy it out to production and you operate it.

Then you continue to iterate over that feature. You review the architecture, look at how it’s performing, review your metrics, and go back and design and develop again. That iterative process is important to how you develop quality highly functional features.

Figure 3 – Software lifecycle process.

When it comes to cost, you need to inject another iterative process into your software lifecycle–feature cost analysis. Commencing from the design phase, it’s important to initiate cost considerations within your planning discussions. The cloud architect publishes estimates and works with their business counterparts to establish that the estimates align with how your customers value a given feature.

This is where your development process starts to evolve. The process requires sign-off from your finance and product owners. While rough estimates are never accurate, they provide an early opportunity for finance to adjust budgets and allows the product team to test the value of the feature against its expected cost.

While estimates are useful, real business insight is derived from data. Your SaaS solution needs to emit metrics about feature operating cost. Those cost metrics will feed back into this feature cost analysis process, where you can analyze what the cost is to actually operate them in production.

You iterate on cost not just from a feature basis, but also on a tenant and tier basis. The combination of those three different crosscutting metrics helps the business to understand the core unit costs of your solution.

The process of estimating, gathering cost metrics, and continually revisiting feature cost analysis is the core of the cost culture you need to create. It aligns the technical, finance, and product decision makers into a single team that collaborates and is involved throughout or development process.

Product teams are no longer discovering features cost aren’t aligned with packaging after it’s already been deployed. Think about the estimation with the business, do cost metrics, and continue to analyze those costs as a team to make sure you have clear visibility into what it means to operate the features you’re building.

Using Cost to Revisit Pricing and Packaging

One of the most important inputs for pricing and packaging is the value your offering provides to your customers. However, pricing decisions are optimized if it’s also complimented with cost data. Focusing on feature cost allows you to rethink your tiering decision.

To further explain, pricing tiers can sometimes get unbalanced, with certain tiers creating a lot more revenue. You can shift features between tiers based on both their cost and overall revenue. Moving features into higher tiers is one lever SaaS businesses can utilize, re-architecting to better align cost with the business value is another.

When feature cost data is combined with revenue data, you can quickly identify the profitable tier vs. the tier that’s at risk of high churn rates, as customers may only adopt certain features to remain in lower pricing tiers while premium tiers are underutilized.

Clearly, cost-per-feature not only supports you in setting your profitable price points, but it helps you to identify which features to include in which tier, determine customer value, and position tiers competitively in the market.

Conclusion

A cost-aware culture empowers you to make a value-driven decision while adapting to dynamic market needs. Teams align on business priorities, technical requirements, and the financial implication of each feature as they are developed. A cost-aware culture is not a one-time activity but an iterative data-driven approach. The culture is richer and enhanced when it’s practiced on a daily basis.

As a SaaS leader, you can gain sustainable growth, maximize resource efficiency, and drive long-term financial success by developing a cost-aware culture. Start rethinking how you manage your cost and collaborate with AWS and the AWS Partner community to grow your SaaS business.

About AWS SaaS Factory

AWS SaaS Factory helps organizations at any stage of the SaaS journey. Whether looking to build new products, migrate existing applications, or optimize SaaS solutions on AWS, we can help. Visit the AWS SaaS Factory Insights Hub to discover more technical and business content and best practices.

SaaS builders are encouraged to reach out to their account representative to inquire about engagement models and to work with the AWS SaaS Factory team.

Sign up to stay informed about the latest SaaS on AWS news, resources, and events.