Stay Ahead, Stay ONMINE

How to Develop Complex DAX Expressions

At some point or another, any Power BI developer must write complex Dax expressions to analyze data. But nobody tells you how to do it. What’s the process for doing it? What is the best way to do it, and how supportive can a development process be? These are the questions I will answer here. Introduction  Sometimes my clients ask me how I came up with the solution for a specific measure in DAX. My answer is always that I follow a specific process to find a solution.  Sometimes, the process is not straightforward, and I must deviate or start from scratch when I  see that I have taken the wrong direction.  But the development process is always the same:  1. Understand the requirements.  2. Define the math to calculate the result.  3. Understand if the measure must work in any or one specific scenario. 4. Start with intermediary results and work my way step-by-step until I fully understand how it should work and can deliver the requested result.  5. Calculate the final result.  The third step is the most difficult.  Sometimes my client asks me to calculate a specific result in a particular scenario. But after I ask again, the answer is: Yes, I will also use it in other scenarios.  For example, some time ago, a client asked me to create some measures for a specific scenario in a report. I had to do it live during a workshop with the client’s team.  Days after I delivered the requested results, he asked me to create another report based on the same semantic model and logic we elaborated on during the workshop, but for a more flexible scenario.  The first set of measures was designed to work tightly with the first scenario, so I didn’t want to change them. Therefore, I created a new set of more generic measures.  Yes, this is a worst-case scenario, but it is something that can happen.  This was just an example of how important it is to take some time to thoroughly understand the needs and the possible future use cases for the requested measures.  Step 1: The requirements  For this piece, I take one measure from my previous article to calculate the linear extrapolation of my customer count.  The requirements are: Use the Customer Count Measure as the Basis Measure.  The user can select the year to analyze.  The user can select any other dimension in any Slicer.  The User will analyze the result over time per month.  The past Customer Count should be taken as the input values.  The YTD growth rate must be used as the basis for the result.  Based on the YTD growth rate, the Customer Count should be extrapolated to the end of  the year.  The YTD Customer Count and the Extrapolation must be shown on the same Line-Chart. The result should look like this for the year 2022:  Figure 1 – Requested result for the linear extrapolation of the Customer Count (Figure by the Author)  OK, let’s look at how I developed this measure. But before doing so, we must understand what the filter context is.  If you are already familiar with it, you can skip this section. Or you can read it anyway to ensure we are at the same level.  Interlude: The filter context  The filter context is the central concept of DAX.  When writing measures in a semantic model, whether in Power Bi, a fabric semantic model, or an analysis services semantic model, you must always understand the current filter context.  The filter context is:  The sum of all Filters which affect the result of a DAX expression.  Look at the following picture: Figure 2 – Ask yourself: What is the Filter Context of the marked cells? (Figure by the Author) Can you explain the Filter Context of the marked cells?  Now, look at the following picture:  Figure 3 – All the Filters that affect the Filter Context of the marked cells (Figure by the Author)  There are six filters, that affect the filter context of the marked cells for the two measures “Sum Retail Sales” and “Avg Retail Sales”:  The Store “Contoso Paris Store”  The City “Paris”  The ClassName “Economy”  The Month of April 2024  The Country “France”  The Manufacturer “Proseware Inc.”  The first three filters come from the visual. We can call them “Internal Filters”. They control how the Matrix-Visual can expand and how many details we can see.  The other filters are “External Filters”, which come from the Slicers or the Filter Pane in Power BI  and are controlled by the user.  The Power of DAX Measures lies in the possibility of extracting the value of the Filter Context and the capability of manipulating the Filter context.  We do this when writing DAX expressions: We manipulate the filter context. Step 2: Intermediary results  OK, now we are good to go.  First, I do not start with the Line-Visual, but with a Table or a Matrix Visual.  This is because it’s easier to see the result as a number than a line.  Even though a linear progression is visible only as a line.  However, the intermediary results are better readable in a Matrix.  If you are not familiar with working with Variables in DAX, I recommend reading this piece, where  I explain the concepts for Variables:  The next step is to define the Base Measure. This is the Measure we want to use to calculate the intended Result.  As we want to calculate the YTD result, we can use a YTD Measure for the Customer Count:  Online Customer Count YTD = VAR YTDDates = DATESYTD(‘Date'[Date]) RETURN CALCULATE( DISTINCTCOUNT(‘Online Sales'[CustomerKey]) ,YTDDates ) Now we must consider what to do with these intermediary results.  This means that we must define the arithmetic of the Measure.  For each month, I must calculate the last known Customer Count YTD.  This means, I always want to calculate 2,091 for each month. This is the last YTD Customer  Count for the year 2022.  Then, I want to divide this result by the last month with Sales, in this case 6, for June. Then multiply it by the current month number.  Therefore, the first intermediary result is to know when the last Sale was made. We must get the latest date in the Online Sales table for this.  According to the requirements, the User can select any year to analyze, and the result must be calculated monthly.  Therefore, the correct definition is: I must first know the month when the last sale was made for the selected year.  The Fact table contains a date and a Relationship to the Date table, which includes the month number (Column: [Month]). So, the first variable will be something like this:  Linear extrapolation Customer Count YTD trend = // Get the number of months since the start of the year VAR LastMonthWithData = MAXX(‘Online Sales’ ,RELATED(‘Date'[Month]) ) RETURN LastMonthWithData This is the result:  Figure 4 – Get the last month with Sales (Figure by the Author)  Hold on: We must always get the last month with sales. As it is now, we always get the same month as the Month of the current row.  This is because each row has the Filter Context set to each month.  Therefore, we must remove the Filter for the Month, while retaining the Year. We can do this with ALLEXCEPT():  Linear extrapolation Customer Count YTD trend = // Get the number of months since the start of the year VAR LastMonthWithData = CALCULATE(MAXX(‘Online Sales’ ,RELATED(‘Date'[Month]) ) ,ALLEXCEPT(‘Date’, ‘Date'[Year]) ) RETURN LastMonthWithData Now, the result looks much better: Figure 5 – Last month with Sales calculated for all months (Figure by the Author)  As we calculate the result for each month, we must know the month number of the current row (Month). We will reuse this as the factor for which we multiply the Average to get the linear extrapolation.  The next intermediary result is to get the Month number:  Linear extrapolation Customer Count YTD trend = // Get the number of months since the start of the year VAR LastMonthWithData = CALCULATE(MAXX(‘Online Sales’ ,RELATED(‘Date'[Month]) ) ,ALLEXCEPT(‘Date’, ‘Date'[Year]) ) // Get the last month // Is needed if we are looking at the data at the year, semester, or quarter level VAR MaxMonth = MAX(‘Date'[Month]) RETURN MaxMonth I can leave the first Variable in place and only use the MaxMonth variable after the return. The result shows the month number per month: Figure 6 – Get the current month number per row (Figure by the Author)  According to the definition formulated before, we must get the last Customer Count YTD for the latest month with Sales.  I can do this with the following Expression:  Linear extrapolation Customer Count YTD trend = // Get the number of months since the start of the year VAR LastMonthWithData = CALCULATE(MAXX(‘Online Sales’ ,RELATED(‘Date'[Month]) ) ,ALLEXCEPT(‘Date’, ‘Date'[Year]) ) // Get the last month // Is needed if we are looking at the data at the year, semester, or quarter level VAR MaxMonth = MAX(‘Date'[Month]) // Get the Customer Count YTD VAR LastCustomerCountYTD = CALCULATE([Online Customer Count YTD] ,ALLEXCEPT(‘Date’, ‘Date'[Year]) ,’Date'[Month] = LastMonthWithData ) RETURN LastCustomerCountYTD As expected, the result shows 2,091 for each month: Figure 7 – Calculating the latest Customer Count YTD for each month (Figure by the Author)  You can see why I start with a table or a Matrix when developing complex Measures.  Now, imagine that one intermediary result is a date or a text.  Showing such a result in a line visual will not be practical.  We are ready to calculate the final result according to the mathematical definition above.  Step 3: The final result  We have two ways to calculate the result:  1. Write the expression after the RETURN statement.  2. Create a new Variable “Result” and use this Variable after the RETURN statement. The final Expression is this:  (LastCustomerCountYTD / LastMonthWithData) * MaxMonth The first Variant looks like this:  Linear extrapolation Customer Count YTD trend = // Get the number of months since the start of the year VAR LastMonthWithData = CALCULATE(MAXX(‘Online Sales’ ,RELATED(‘Date'[Month]) ) ,ALLEXCEPT(‘Date’, ‘Date'[Year]) ) // Get the last month // Is needed if we are looking at the data at the year, semester, or quarter level VAR MaxMonth = MAX(‘Date'[Month]) // Get the Customer Count YTD VAR LastCustomerCountYTD = CALCULATE([Online Customer Count YTD] ,ALLEXCEPT(‘Date’, ‘Date'[Year]) ,’Date'[Month] = LastMonthWithData ) RETURN // Calculating the extrapolation (LastCustomerCountYTD / LastMonthWithData) * MaxMonth This is the second Variant:  Linear extrapolation Customer Count YTD trend = // Get the number of months since the start of the year VAR LastMonthWithData = CALCULATE(MAXX(‘Online Sales’ ,RELATED(‘Date'[Month]) ) ,ALLEXCEPT(‘Date’, ‘Date'[Year]) ) // Get the last month // Is needed if we are looking at the data at the year, semester, or quarter level VAR MaxMonth = MAX(‘Date'[Month]) // Get the Customer Count YTD VAR LastCustomerCountYTD = CALCULATE([Online Customer Count YTD] ,ALLEXCEPT(‘Date’, ‘Date'[Year]) ,’Date'[Month] = LastMonthWithData ) // Calculating the extrapolation VAR Result = (LastCustomerCountYTD / LastMonthWithData) * MaxMonth RETURN Result The result is the same.  The second variant allows us to quickly switch back to the Intermediary results if the final result  is incorrect without needing to set the expression after the RETURN statement as a comment.  It simply makes life easier.  But it’s up to you which variant you like more.  The result is this: Figure 8 – Final result in a table (Figure by the Author)  When converting this table to a Line Visual, we get the same result as in the first figure. The last step will be to set the line as a Dashed line, to get the needed visualization. Figure 9 – Set the line for the extrapolation as a dashed line (Figure by the Author)  Complex calculated columns  The process is the same when writing complex DAX expressions for calculated columns. The difference is that we can see the result in the Table View of Power BI Desktop.  Be aware that when calculated columns are calculated, the results are physically stored in the table when you press Enter.  The results of Measures are not stored in the Model. They are calculated on the fly in the Visualizations.  Another difference is that we can leverage Context Transition to get our result when we need it to depend on other rows in the table.  Read this piece to learn more about this fascinating topic:  Conclusion  The development process for complex expressions always follows the same steps:  1. Understand the requirements – Ask if something is unclear.  2. Define the math for the results.  3. Start with intermediary results and understand the results.  4. Build on the intermediary results one by one – Do not try to write all in one step. 5. Decide where to write the expression for the final result.  Following such a process can save you the day, as you don’t need to write everything in one step.  Moreover, getting these intermediary results allows you to understand what’s happening and explore the Filter Context.  This will help you learn DAX more efficiently and build even more complex stuff.  But, be aware: Even though a certain level of complexity is needed, a good developer will keep it as simple as possible, while maintaining the least amount of complexity.  References  Here is the article mentioned at the beginning of this piece, to calculate the linear interpolation. Like in my previous articles, I use the Contoso sample dataset. You can download the  ContosoRetailDW Dataset for free from Microsoft here. The Contoso Data can be freely used under the MIT License, as described here. I changed the dataset to shift the data to contemporary dates.

At some point or another, any Power BI developer must write complex Dax expressions to analyze data. But nobody tells you how to do it. What’s the process for doing it? What is the best way to do it, and how supportive can a development process be? These are the questions I will answer here.

Introduction 

Sometimes my clients ask me how I came up with the solution for a specific measure in DAX. My answer is always that I follow a specific process to find a solution. 

Sometimes, the process is not straightforward, and I must deviate or start from scratch when I  see that I have taken the wrong direction. 

But the development process is always the same: 

1. Understand the requirements. 

2. Define the math to calculate the result. 

3. Understand if the measure must work in any or one specific scenario.

4. Start with intermediary results and work my way step-by-step until I fully understand how it should work and can deliver the requested result. 

5. Calculate the final result. 

The third step is the most difficult. 

Sometimes my client asks me to calculate a specific result in a particular scenario. But after I ask again, the answer is: Yes, I will also use it in other scenarios. 

For example, some time ago, a client asked me to create some measures for a specific scenario in a report. I had to do it live during a workshop with the client’s team. 

Days after I delivered the requested results, he asked me to create another report based on the same semantic model and logic we elaborated on during the workshop, but for a more flexible scenario. 

The first set of measures was designed to work tightly with the first scenario, so I didn’t want to change them. Therefore, I created a new set of more generic measures. 

Yes, this is a worst-case scenario, but it is something that can happen. 

This was just an example of how important it is to take some time to thoroughly understand the needs and the possible future use cases for the requested measures. 

Step 1: The requirements 

For this piece, I take one measure from my previous article to calculate the linear extrapolation of my customer count. 

The requirements are:

  • Use the Customer Count Measure as the Basis Measure. 
  • The user can select the year to analyze. 
  • The user can select any other dimension in any Slicer. 
  • The User will analyze the result over time per month. 
  • The past Customer Count should be taken as the input values. 
  • The YTD growth rate must be used as the basis for the result. 
  • Based on the YTD growth rate, the Customer Count should be extrapolated to the end of  the year. 
  • The YTD Customer Count and the Extrapolation must be shown on the same Line-Chart.

The result should look like this for the year 2022: 

Figure 1 – Requested result for the linear extrapolation of the Customer Count (Figure by the Author) 

OK, let’s look at how I developed this measure.

But before doing so, we must understand what the filter context is. 

If you are already familiar with it, you can skip this section. Or you can read it anyway to ensure we are at the same level. 

Interlude: The filter context 

The filter context is the central concept of DAX. 

When writing measures in a semantic model, whether in Power Bi, a fabric semantic model, or an analysis services semantic model, you must always understand the current filter context. 

The filter context is: 

The sum of all Filters which affect the result of a DAX expression. 

Look at the following picture:

Figure 2 – Ask yourself: What is the Filter Context of the marked cells? (Figure by the Author) Can you explain the Filter Context of the marked cells? 

Now, look at the following picture: 

Figure 3 – All the Filters that affect the Filter Context of the marked cells (Figure by the Author) 

There are six filters, that affect the filter context of the marked cells for the two measures “Sum Retail Sales” and “Avg Retail Sales”: 

  • The Store “Contoso Paris Store” 
  • The City “Paris” 
  • The ClassName “Economy” 
  • The Month of April 2024 
  • The Country “France” 
  • The Manufacturer “Proseware Inc.” 

The first three filters come from the visual. We can call them “Internal Filters”. They control how the Matrix-Visual can expand and how many details we can see. 

The other filters are “External Filters”, which come from the Slicers or the Filter Pane in Power BI  and are controlled by the user. 

The Power of DAX Measures lies in the possibility of extracting the value of the Filter Context and the capability of manipulating the Filter context. 

We do this when writing DAX expressions: We manipulate the filter context.

Step 2: Intermediary results 

OK, now we are good to go. 

First, I do not start with the Line-Visual, but with a Table or a Matrix Visual. 

This is because it’s easier to see the result as a number than a line. 

Even though a linear progression is visible only as a line. 

However, the intermediary results are better readable in a Matrix. 

If you are not familiar with working with Variables in DAX, I recommend reading this piece, where  I explain the concepts for Variables: 

The next step is to define the Base Measure. This is the Measure we want to use to calculate the intended Result. 

As we want to calculate the YTD result, we can use a YTD Measure for the Customer Count: 

Online Customer Count YTD =
VAR YTDDates = DATESYTD('Date'[Date])
RETURN
CALCULATE(
DISTINCTCOUNT('Online Sales'[CustomerKey])
,YTDDates
)

Now we must consider what to do with these intermediary results. 

This means that we must define the arithmetic of the Measure. 

For each month, I must calculate the last known Customer Count YTD. 

This means, I always want to calculate 2,091 for each month. This is the last YTD Customer  Count for the year 2022. 

Then, I want to divide this result by the last month with Sales, in this case 6, for June. Then multiply it by the current month number. 

Therefore, the first intermediary result is to know when the last Sale was made. We must get the latest date in the Online Sales table for this. 

According to the requirements, the User can select any year to analyze, and the result must be calculated monthly. 

Therefore, the correct definition is: I must first know the month when the last sale was made for the selected year. 

The Fact table contains a date and a Relationship to the Date table, which includes the month number (Column: [Month]).

So, the first variable will be something like this: 

Linear extrapolation Customer Count YTD trend =
// Get the number of months since the start of the year
VAR LastMonthWithData = MAXX('Online Sales'

,RELATED('Date'[Month])
)

RETURN
LastMonthWithData

This is the result: 

Figure 4 – Get the last month with Sales (Figure by the Author) 

Hold on: We must always get the last month with sales. As it is now, we always get the same month as the Month of the current row. 

This is because each row has the Filter Context set to each month. 

Therefore, we must remove the Filter for the Month, while retaining the Year. We can do this with ALLEXCEPT()

Linear extrapolation Customer Count YTD trend =
// Get the number of months since the start of the year
VAR LastMonthWithData = CALCULATE(MAXX('Online Sales'
,RELATED('Date'[Month])
)
,ALLEXCEPT('Date', 'Date'[Year])
)

RETURN
LastMonthWithData

Now, the result looks much better:

Figure 5 – Last month with Sales calculated for all months (Figure by the Author) 

As we calculate the result for each month, we must know the month number of the current row (Month). We will reuse this as the factor for which we multiply the Average to get the linear extrapolation. 

The next intermediary result is to get the Month number: 

Linear extrapolation Customer Count YTD trend =
// Get the number of months since the start of the year
VAR LastMonthWithData = CALCULATE(MAXX('Online Sales'
,RELATED('Date'[Month])
)
,ALLEXCEPT('Date', 'Date'[Year])
)
// Get the last month
// Is needed if we are looking at the data at the year, semester, or
quarter level
VAR MaxMonth = MAX('Date'[Month])
RETURN
MaxMonth

I can leave the first Variable in place and only use the MaxMonth variable after the return. The result shows the month number per month:

Figure 6 – Get the current month number per row (Figure by the Author) 

According to the definition formulated before, we must get the last Customer Count YTD for the latest month with Sales. 

I can do this with the following Expression: 

Linear extrapolation Customer Count YTD trend =
// Get the number of months since the start of the year
VAR LastMonthWithData = CALCULATE(MAXX('Online Sales'
,RELATED('Date'[Month])
)
,ALLEXCEPT('Date', 'Date'[Year])
)
// Get the last month
// Is needed if we are looking at the data at the year, semester, or
quarter level
VAR MaxMonth = MAX('Date'[Month])
// Get the Customer Count YTD
VAR LastCustomerCountYTD = CALCULATE([Online Customer Count YTD]
,ALLEXCEPT('Date', 'Date'[Year])
,'Date'[Month] = LastMonthWithData
)

RETURN
LastCustomerCountYTD

As expected, the result shows 2,091 for each month:

Figure 7 – Calculating the latest Customer Count YTD for each month (Figure by the Author) 

You can see why I start with a table or a Matrix when developing complex Measures. 

Now, imagine that one intermediary result is a date or a text. 

Showing such a result in a line visual will not be practical. 

We are ready to calculate the final result according to the mathematical definition above. 

Step 3: The final result 

We have two ways to calculate the result: 

1. Write the expression after the RETURN statement. 

2. Create a new Variable “Result” and use this Variable after the RETURN statement. The final Expression is this: 

(LastCustomerCountYTD / LastMonthWithData) * MaxMonth

The first Variant looks like this: 

Linear extrapolation Customer Count YTD trend =
// Get the number of months since the start of the year
VAR LastMonthWithData = CALCULATE(MAXX('Online Sales'
,RELATED('Date'[Month])

)

,ALLEXCEPT('Date', 'Date'[Year])

)
// Get the last month
// Is needed if we are looking at the data at the year, semester, or
quarter level
VAR MaxMonth = MAX('Date'[Month])
// Get the Customer Count YTD
VAR LastCustomerCountYTD = CALCULATE([Online Customer Count YTD]
,ALLEXCEPT('Date', 'Date'[Year])
,'Date'[Month] = LastMonthWithData
)

RETURN
// Calculating the extrapolation
(LastCustomerCountYTD / LastMonthWithData) * MaxMonth

This is the second Variant: 

Linear extrapolation Customer Count YTD trend =
// Get the number of months since the start of the year
VAR LastMonthWithData = CALCULATE(MAXX('Online Sales'
,RELATED('Date'[Month])
)
,ALLEXCEPT('Date', 'Date'[Year])
)
// Get the last month
// Is needed if we are looking at the data at the year, semester, or
quarter level
VAR MaxMonth = MAX('Date'[Month])
// Get the Customer Count YTD
VAR LastCustomerCountYTD = CALCULATE([Online Customer Count YTD]
,ALLEXCEPT('Date', 'Date'[Year])
,'Date'[Month] = LastMonthWithData
)
// Calculating the extrapolation
VAR Result =
(LastCustomerCountYTD / LastMonthWithData) * MaxMonth
RETURN
Result

The result is the same. 

The second variant allows us to quickly switch back to the Intermediary results if the final result  is incorrect without needing to set the expression after the RETURN statement as a comment. 

It simply makes life easier. 

But it’s up to you which variant you like more. 

The result is this:

Figure 8 – Final result in a table (Figure by the Author) 

When converting this table to a Line Visual, we get the same result as in the first figure. The last step will be to set the line as a Dashed line, to get the needed visualization.

Figure 9 – Set the line for the extrapolation as a dashed line (Figure by the Author) 

Complex calculated columns 

The process is the same when writing complex DAX expressions for calculated columns. The difference is that we can see the result in the Table View of Power BI Desktop. 

Be aware that when calculated columns are calculated, the results are physically stored in the table when you press Enter. 

The results of Measures are not stored in the Model. They are calculated on the fly in the Visualizations. 

Another difference is that we can leverage Context Transition to get our result when we need it to depend on other rows in the table. 

Read this piece to learn more about this fascinating topic: 

Conclusion 

The development process for complex expressions always follows the same steps: 

1. Understand the requirements – Ask if something is unclear. 

2. Define the math for the results. 

3. Start with intermediary results and understand the results. 

4. Build on the intermediary results one by one – Do not try to write all in one step.

5. Decide where to write the expression for the final result. 

Following such a process can save you the day, as you don’t need to write everything in one step. 

Moreover, getting these intermediary results allows you to understand what’s happening and explore the Filter Context. 

This will help you learn DAX more efficiently and build even more complex stuff. 

But, be aware: Even though a certain level of complexity is needed, a good developer will keep it as simple as possible, while maintaining the least amount of complexity. 

References 

Here is the article mentioned at the beginning of this piece, to calculate the linear interpolation.

Like in my previous articles, I use the Contoso sample dataset. You can download the  ContosoRetailDW Dataset for free from Microsoft here.

The Contoso Data can be freely used under the MIT License, as described here. I changed the dataset to shift the data to contemporary dates.

Shape
Shape
Stay Ahead

Explore More Insights

Stay ahead with more perspectives on cutting-edge power, infrastructure, energy,  bitcoin and AI solutions. Explore these articles to uncover strategies and insights shaping the future of industries.

Shape

Agentic AI: What now, what next?

Agentic AI burst onto the scene with its promises of streamliningoperations and accelerating productivity. But what’s real and what’s hype when it comes to deploying agentic AI? This Special Report examines the state of agentic AI, the challenges organizations are facing in deploying it, and the lessons learned from success

Read More »

AMD to build two more supercomputers at Oak Ridge National Labs

Lux is engineered to train, refine, and deploy AI foundation models that accelerate scientific and engineering progress. Its advanced architecture supports data-intensive and model-centric workloads, thereby enhancing AI-driven research capabilities. Discovery differs from Lux in that it uses Instinct MI430X GPUs instead of the 300 series. The MI400 Series is

Read More »

MEG Delays Vote on $5.4B Oil Takeover Yet Again

Canadian oil producer MEG Energy Corp. postponed a shareholder vote on a C$7.6 billion ($5.4 billion) takeover proposal by Cenovus Energy Inc. until next week to give it time to disclose more information on asset sales. MEG Chairman James McFarland adjourned an investor meeting on Thursday evening in Calgary after hours of delay, announcing that it will be held instead on Nov. 6. The move ended a bizarre day that saw McFarland defer a vote that had been scheduled for 9 a.m. Calgary time because of a regulatory matter that the company wouldn’t explain.  It’s the third time MEG has had to set a new date for the meeting. MEG shares fell 1.1% to close at C$29.48 in Toronto. Cenovus’s deal for MEG is set to unite two of the larger crude producers in Canada’s oil sands region, but the transaction has been filled with twists. On Monday, the companies announced that Cenovus was changing its offer for a second time — this time boosting it to C$30 in cash or 1.255 Cenovus shares for each MEG share — in order to secure the support of MEG’s biggest shareholder, Strathcona Resources Ltd.  As part of that announcement, Cenovus said it will sell some assets, including heavy oil production in Saskatchewan, to Strathcona for C$150 million. MEG shareholders, who are being offered Cenovus shares, will now get more time to evaluate information on that side deal.  The new deadline for submitting votes by proxy is the morning of Nov. 5, McFarland said.  Shareholders will be voting after a five-month battle for MEG, an oil sands producer that produces about 100,000 barrels a day of crude from its Christina Lake site in northeast Alberta. Strathcona had kicked off the bidding war in May with an unsolicited bid that was opposed by the

Read More »

Trump Skips Russian Oil in Xi Talks

President Donald Trump gave the world an early glimpse of just how loosely he was planning to enforce new US sanctions on Moscow when it comes to China, the single-largest buyer of Russian crude. In his high-profile meeting with Chinese leader Xi Jinping on Thursday, Trump said “we didn’t really discuss the oil.”  “We discussed working together to see if we could get that war finished,” he added. The lack of meaningful pressure on Beijing means oil will continue to be a major source of revenue for President Vladimir Putin’s war effort, despite Trump’s move to unveil his first sanctions on Russia last week — blacklisting state-run oil giant Rosneft PJSC and Lukoil PJSC, Russia’s biggest oil producers. “If Trump won’t raise Russian oil with Xi, it undermines the entire sanctions narrative — you can’t claim to be tough on Moscow while ignoring one of the largest buyers keeping their economy afloat,” said Brett Erickson, a sanctions expert and managing principal at Obsidian Risk Advisors. “Trump’s sanctions so far feel performative. If he’s unwilling to confront Xi on energy flows, then the enforcement side of this policy will remain a paper tiger.” While Trump’s sanctions initially jolted oil markets, declining to even raise the issue with Xi suggests Trump prioritized stabilizing US-China ties and securing what he called an “amazing” trade deal with the world’s second-largest economy over strict enforcement.  Trump had initially said he would raise Chinese oil buying with Xi as part of a renewed bid to end the fighting in Ukraine after he helped secure a fragile truce in Gaza. Ukraine and its allies in Europe had called on Trump to lean on Xi to cut support for Russia’s ongoing invasion.  US Trade Representative Jamieson Greer acknowledged that “Russian oil came up” during the “wide-ranging” Trump-Xi talks, while declining to elaborate

Read More »

Increased USA Oil, Gas Output Has Not Translated into More Jobs

Despite record setting production in the U.S. oil and gas industry, increased volumes have not translated into more jobs for either the industry or the overall economy. That’s what the Institute for Energy Economics and Financial Analysis (IEEFA) said in a statement sent to Rigzone recently, adding that, according to a new report from the institute, the industry employs 20 percent fewer workers than it did a decade ago. “Over the last 10 years the oil and gas industry has shed 252,000 jobs,” the IEEFA noted in the statement. “A decade of productivity gains means more oil with fewer workers,” the statement said. “The number of jobs required to produce a barrel of oil has fallen by half over the last decade,” it added. A chart included in the IEEFA statement showed that U.S. oil and gas employment stood at just below 900,000 in 2001, then rose to 1.26 million in 2014 before dropping to just over one million in 2024. The chart cites U.S. Bureau of Labor Statistics data and “modified TIPRO [Texas Independent Producers & Royalty Owners Association] methodology (circa 2014) due to NAICS revisions” as sources. “A stark pattern of declining employment in the oil and gas industry has taken shape over the last decade that has rippled out to have broader effects on regional economies,” Trey Cowan, an oil and gas energy analyst at IEEFA and the author of the IEEFA report, said in the statement. “Even taking into account the cyclical nature of the industry, over time employment losses seem to be outweighing employment gains,” he added. The IEEFA report went on to warn that, “amid steep layoffs and forecasts of prolonged low oil prices, the U.S. oil and gas industry could soon employ fewer people than it did before the onset of the shale

Read More »

Glenfarne, Tokyo Gas sign LOI for Alaska LNG offtake

@import url(‘https://fonts.googleapis.com/css2?family=Inter:[email protected]&display=swap’); a { color: var(–color-primary-main); } .ebm-page__main h1, .ebm-page__main h2, .ebm-page__main h3, .ebm-page__main h4, .ebm-page__main h5, .ebm-page__main h6 { font-family: Inter; } body { line-height: 150%; letter-spacing: 0.025em; font-family: Inter; } button, .ebm-button-wrapper { font-family: Inter; } .label-style { text-transform: uppercase; color: var(–color-grey); font-weight: 600; font-size: 0.75rem; } .caption-style { font-size: 0.75rem; opacity: .6; } #onetrust-pc-sdk [id*=btn-handler], #onetrust-pc-sdk [class*=btn-handler] { background-color: #c19a06 !important; border-color: #c19a06 !important; } #onetrust-policy a, #onetrust-pc-sdk a, #ot-pc-content a { color: #c19a06 !important; } #onetrust-consent-sdk #onetrust-pc-sdk .ot-active-menu { border-color: #c19a06 !important; } #onetrust-consent-sdk #onetrust-accept-btn-handler, #onetrust-banner-sdk #onetrust-reject-all-handler, #onetrust-consent-sdk #onetrust-pc-btn-handler.cookie-setting-link { background-color: #c19a06 !important; border-color: #c19a06 !important; } #onetrust-consent-sdk .onetrust-pc-btn-handler { color: #c19a06 !important; border-color: #c19a06 !important; } Glenfarne Alaska LNG LLC has signed a letter of intent (LOI) with Tokyo Gas Co. Ltd. for the offtake of 1 million tonnes/year (tpy) of LNG from the Alaska LNG project. The 20-million tpy Alaska LNG project consists of a 42-in. OD pipeline to transport natural gas from Alaska’s North Slope to meet Alaska’s domestic needs and produce 20 million tpy of LNG for export, Glenfarne said in a release Oct. 24. <!–> –> <!–> March 28, 2025 ]–> <!–> –> <!–> Sept. 11, 2025 ]–> <!–> Since March 2025, Glenfarne has signed preliminary offtake agreements with LNG buyers in Japan, Korea, Taiwan, and Thailand that include JERA, POSCO, CPC, and PTT, totaling 11 million tpy of capacity of the 16 million tpy Glenfarne expects to contract to reach a financial close for the project. Worley is completing the final engineering and cost validation for the project’s 807-mile pipeline. Phase one of the project includes the domestic pipeline to deliver natural gas about 765 miles from the North Slope to the Anchorage region. Phase two would add the LNG terminal and related infrastructure to enable export capability. The State

Read More »

Brazil’s ANP awards 5 offshore presalt blocks in latest auction

Five companies, including Petrobras and Equinor, came away with blocks following a recent bid round for blocks offshore Brazil. Awards for Brazil’s National Agency of Petroleum, Natural Gas and Biofuels (ANP) 3rd Cycle bidding round for pre-salt blocks were Petrobras, Equinor, Karoon Energy, and a consortium of CNOOC and Sinopec. The cycle had seven pre-salt blocks for sale: Esmeralda and Ametista in the Santos basin; and Citrino, Itaimbezinho, Ônix, Larimar, and Jaspe in Campos basin. Fifteen companies were eligible to submit bids: Petrobras, 3R Petroleum, BP Energy, Chevron, CNOOC, Ecopetrol, Equinor, Karoon, Petrogal, Petronas, Prio, QatarEnergy, Shell, Sinopec, and TotalEnergies. Two of the seven blocks up for bids received no offers, Reuters reported Oct. 22, noting ANP received offers from only eight of 15 eligible companies. Petrobras acquired the Jaspe block in partnership with Equinor Brasil Energia Ltda. Petrobras will serve as operator with a 60% stake, with Equinor holding the remaining 40%. Petrobras also acquired the Citrino block with 100% interest. Equinor was awarded the Itaimbezinho block with a 100% stake. Karoon was awarded 100% interest in the Esmeralda block. A consortium of CNOOC and Sinopec was awarded the Ametista block. CNOOC will serve as operator with 70% interest.

Read More »

New sanctions on Russia rally crude prices

Oil, fundamental analysis Crude prices were already poised for a technically-driven rebound, but across-the-board inventory draws, and new sanctions placed on Russian energy entities led to a $5.00+ rally this week. The US grade started the week as low as $56.35/bbl but pushed as high as $62.60/bbl by Friday. Brent followed a similar pattern, hitting its low of $60.35/bbl on Monday and its weekly high of $66.80 on Friday. Both grades settled much higher week-on-week with gains exceeding $5.00/bbl. The WTI/Brent spread has widened to ($4.40). Political risk premium entered oil markets again this week in the form of new US sanctions on Russia’s two largest oil companies, Rosneft and Lukoil, which represent about 50% of the country’s exports. The  sanctions will preclude both companies from doing business with US banks and other financial institutions. The EU had imposed a new sanction package on the two last week along with some Chinese refiners. From the start of the Russia/Ukraine war, Russia’s crude exports of about 3.0 million b/d have been the target for sanctions. Yet, to date, most sanctions have proved ineffective or have been circumvented. However, oil markets still react bullishly to such announcements. But this time around, India’s largest refiner, Reliance, is agreeing to halt the purchases of oil from Rosneft that were taking place under a long-term agreement which will impact the physical sales of Urals. China remains Russia’s No. 1 importer of oil. China is now also the No. 1 purchaser of Canadian bitumen, taking up to 70% of the 3.5 million b/d of the oil sands production being delivered to British Columbia ports via the expanded Trans Mountain pipeline. The Energy Information Administration (EIA)’s Weekly Petroleum Status Report (still released despite the government shut-down) indicated that commercial crude oil and refined product inventories for last

Read More »

Supermicro Unveils Data Center Building Blocks to Accelerate AI Factory Deployment

Supermicro has introduced a new business line, Data Center Building Block Solutions (DCBBS), expanding its modular approach to data center development. The offering packages servers, storage, liquid-cooling infrastructure, networking, power shelves and battery backup units (BBUs), DCIM and automation software, and on-site services into pre-validated, factory-tested bundles designed to accelerate time-to-online (TTO) and improve long-term serviceability. This move represents a significant step beyond traditional rack integration; a shift toward a one-stop, data-center-scale platform aimed squarely at the hyperscale and AI factory market. By providing a single point of accountability across IT, power, and thermal domains, Supermicro’s model enables faster deployments and reduces integration risk—the modern equivalent of a “single throat to choke” for data center operators racing to bring GB200/NVL72-class racks online. What’s New in DCBBS DCBBS extends Supermicro’s modular design philosophy to an integrated catalog of facility-adjacent building blocks, not just IT nodes. By including critical supporting infrastructure—cooling, power, networking, and lifecycle software—the platform helps operators bring new capacity online more quickly and predictably. According to Supermicro, DCBBS encompasses: Multi-vendor AI system support: Compatibility with NVIDIA, AMD, and Intel architectures, featuring Supermicro-designed cold plates that dissipate up to 98% of component-level heat. In-rack liquid-cooling designs: Coolant distribution manifolds (CDMs) and CDUs rated up to 250 kW, supporting 45 °C liquids, alongside rear-door heat exchangers, 800 GbE switches (51.2 Tb/s), 33 kW power shelves, and 48 V battery backup units. Liquid-to-Air (L2A) sidecars: Each row can reject up to 200 kW of heat without modifying existing building hydronics—an especially practical design for air-to-liquid retrofits. Automation and management software: SuperCloud Composer for rack-scale and liquid-cooling lifecycle management SuperCloud Automation Center for firmware, OS, Kubernetes, and AI pipeline enablement Developer Experience Console for self-service workflows and orchestration End-to-end services: Design, validation, and on-site deployment options—including four-hour response service levels—for both greenfield builds

Read More »

Investments Anchor Vertiv’s Growth Strategy as AI-Driven Data Center Orders Surge 60% YoY

New Acquisitions and Partner Awards Vertiv’s third-quarter financial performance was underscored by a series of strategic acquisitions and ecosystem recognitions that expand the company’s technological capabilities and market reach amid AI-driven demand. Acquisition of Waylay NV: AI and Hyperautomation for Infrastructure Intelligence On August 26, Vertiv announced its acquisition of Waylay NV, a Belgium-based developer of generative AI and hyperautomation software. The move bolsters Vertiv’s portfolio with AI-driven monitoring, predictive services, and performance optimization for digital infrastructure. Waylay’s automation platform integrates real-time analytics, orchestration, and workflow automation across diverse connected assets and cloud services—enabling predictive maintenance, uptime optimization, and energy management across power and cooling systems. “With the addition of Waylay’s technology and software-focused team, Vertiv will accelerate its vision of intelligent infrastructure—data-driven, proactive, and optimized for the world’s most demanding environments,” said CEO Giordano Albertazzi. Completion of Great Lakes Acquisition: Expanding White Space Integration Just days earlier, as alluded to above, Vertiv finalized its $200 million acquisition of Great Lakes Data Racks & Cabinets, a U.S.-based manufacturer of enclosures and integrated rack systems. The addition expands Vertiv’s capabilities in high-density, factory-integrated white space solutions; bridging power, cooling, and IT enclosures for hyperscale and edge data centers alike. Great Lakes’ U.S. and European manufacturing footprint complements Vertiv’s global reach, supporting faster deployment cycles and expanded configuration flexibility.  Albertazzi noted that the acquisition “enhances our ability to deliver comprehensive infrastructure solutions, furthering Vertiv’s capabilities to customize at scale and configure at speed for AI and high-density computing environments.” 2024 Partner Awards: Recognizing the Ecosystem Behind Growth Vertiv also spotlighted its partner ecosystem in August with its 2024 North America Partner Awards. The company recognized 11 partners for 2024 performance, growth, and AI execution across segments: Partner of the Year – SHI for launching a customer-facing high-density AI & Cyber Labs featuring

Read More »

QuEra’s Quantum Leap: From Neutral-Atom Breakthroughs to Hybrid HPC Integration

The race to make quantum computing practical – and commercially consequential – took a major step forward this fall, as Boston-based QuEra Computing announced new research milestones, expanded strategic funding, and an accelerating roadmap for hybrid quantum-classical supercomputing. QuEra’s Chief Commercial Officer Yuval Boger joined the Data Center Frontier Show to discuss how neutral-atom quantum systems are moving from research labs into high-performance computing centers and cloud environments worldwide. NVIDIA Joins Google in Backing QuEra’s $230 Million Round In early September, QuEra disclosed that NVentures, NVIDIA’s venture arm, has joined Google and others in expanding its $230 million Series B round. The investment deepens what has already been one of the most active collaborations between quantum and accelerated-computing companies. “We already work with NVIDIA, pairing our scalable neutral-atom architecture with its accelerated-computing stack to speed the arrival of useful, fault-tolerant quantum machines,” said QuEra CEO Andy Ory. “The decision to invest in us underscores our shared belief that hybrid quantum-classical systems will unlock meaningful value for customers sooner than many expect.” The partnership spans hardware, software, and go-to-market initiatives. QuEra’s neutral-atom machines are being integrated into NVIDIA’s CUDA-Q software platform for hybrid workloads, while the two companies collaborate at the NVIDIA Accelerated Quantum Center (NVAQC) in Boston, linking QuEra hardware with NVIDIA’s GB200 NVL72 GPU clusters for simulation and quantum-error-decoder research. Meanwhile, at Japan’s AIST ABCI-Q supercomputing center, QuEra’s Gemini-class quantum computer now operates beside more than 2,000 H100 GPUs, serving as a national testbed for hybrid workflows. A jointly developed transformer-based decoder running on NVIDIA’s GPUs has already outperformed classical maximum-likelihood error-correction models, marking a concrete step toward practical fault-tolerant quantum computing. For NVIDIA, the move signals conviction that quantum processing units (QPUs) will one day complement GPUs inside large-scale data centers. For QuEra, it widens access to the

Read More »

How CoreWeave and Poolside Are Teaming Up in West Texas to Build the Next Generation of AI Data Centers

In the evolving landscape of artificial-intelligence infrastructure, a singular truth is emerging: access to cutting-edge silicon and massive GPU clusters is no longer enough by itself. For companies chasing the frontier of multi-trillion-parameter model training and agentic AI deployment, the bottleneck increasingly lies not just in compute, but in the seamless integration of compute + power + data center scale. The latest chapter in this story is the collaboration between CoreWeave and Poolside, culminating in the launch of Project Horizon, a 2-gigawatt AI-campus build in West Texas. Setting the Stage: Who’s Involved, and Why It Matters CoreWeave (NASDAQ: CRWV) has positioned itself as “The Essential Cloud for AI™” — a company founded in 2017, publicly listed in March 2025, and aggressively building out its footprint of ultra-high-performance infrastructure.  One of its strategic moves: in July 2025 CoreWeave struck a definitive agreement to acquire Core Scientific (NASDAQ: CORZ) in an all-stock transaction. Through that deal, CoreWeave gains grip over approximately 1.3 GW of gross power across Core Scientific’s nationwide data center footprint, plus more than 1 GW of expansion potential.  That acquisition underlines a broader trend: AI-specialist clouds are no longer renting space and power; they’re working to own or tightly control it. Poolside, founded in 2023, is a foundation-model company with an ambitious mission: building artificial general intelligence (AGI) and deploying enterprise-scale agents.  According to Poolside’s blog: “When people ask what it takes to build frontier AI … the focus is usually on the model … but that’s only half the story. The other half is infrastructure. If you don’t control your infrastructure, you don’t control your destiny—and you don’t have a shot at the frontier.”  Simply put: if you’re chasing multi-trillion-parameter models, you need both the compute horsepower and the power infrastructure; and ideally, tight vertical integration. Together, the

Read More »

Vantage Data Centers Pours $15B Into Wisconsin AI Campus as It Builds Global Giga-Scale Footprint

Expanding in Ohio: Financing Growth Through Green Capital In June 2025, Vantage secured $5 billion in green loan capacity, including $2.25 billion to fully fund its New Albany, Ohio (OH1) campus and expand its existing borrowing base. The 192 MW development will comprise three 64 MW buildings, with first delivery expected in December 2025 and phased completion through 2028. The OH1 campus is designed to come online as Vantage’s larger megasites ramp up, providing early capacity and regional proximity to major cloud and AI customers in the Columbus–New Albany corridor. The site also offers logistical and workforce advantages within one of the fastest-growing data center regions in the U.S. Beyond the U.S. – Vantage Expands Its Global Footprint Moving North: Reinforcing Canada’s Renewable Advantage In February 2025, Vantage announced a C$500 million investment to complete QC24, the fourth and final building at its Québec City campus, adding 32 MW of capacity by 2027. The project strengthens Vantage’s Montreal–Québec platform and reinforces its renewable-heavy power profile, leveraging abundant hydropower to serve sustainability-driven customers. APAC Expansion: Strategic Scale in Southeast Asia In September 2025, Vantage unveiled a $1.6 billion APAC expansion, led by existing investors GIC (Singapore’s sovereign wealth fund) and ADIA (Abu Dhabi Investment Authority). The investment includes the acquisition of Yondr’s Johor, Malaysia campus at Sedenak Tech Park. Currently delivering 72.5 MW, the Johor campus is planned to scale to 300 MW at full build-out, positioning it within one of Southeast Asia’s most active AI and cloud growth corridors. Analysts note that the location’s connectivity to Singapore’s hyperscale market and favorable development economics give Vantage a strong competitive foothold across the region. Italy: Expanding European Presence Under National Priority Status Vantage is also adding a second Italian campus alongside its existing Milan site, totaling 32 MW across two facilities. Phase

Read More »

Nvidia GTC show news you need to know round-up

In the case of Flex, it will use digital twins to unify inventory, labor, and freight operations, streamlining logistics across Flex’s worldwide network. Flex’s new 400,000 sq. ft. facility in Dallas is purpose-built for data center infrastructure, aiming to significantly shorten lead times for U.S. customers. The Flex/Nvidia partnership aims to address the country’s labor shortages and drive innovation in manufacturing, pharmaceuticals, and technology. The companies believe the partnership sets the stage for a new era of giga-scale AI factories. Nvidia and Oracle to Build DOE’s Largest AI Supercomputer Oracle continues its aggressive push into supercomputing with a deal to build the largest AI supercomputer for scientific discovery — Using Nvidia GPUs, obviously — at a Department of Energy facility. The system, dubbed Solstice, will feature an incredible 100,000 Nvidia Blackwell GPUs. A second system, dubbed Equinox, will include 10,000 Blackwell GPUs and is expected to be available in the first half of 2026. Both systems will be interconnected by Nvidia networking and deliver a combined 2,200 exaflops of AI performance. The Solstice and Equinox supercomputers will be located at Argonne National Laboratory, the home to the Aurora supercomputer, built using all Intel parts. They will enable scientists and researchers to develop and train new frontier models and AI reasoning models for open science using the Nvidia Megatron-Core library and scale them using the Nvidia TensorRT inference software stack.

Read More »

Microsoft will invest $80B in AI data centers in fiscal 2025

And Microsoft isn’t the only one that is ramping up its investments into AI-enabled data centers. Rival cloud service providers are all investing in either upgrading or opening new data centers to capture a larger chunk of business from developers and users of large language models (LLMs).  In a report published in October 2024, Bloomberg Intelligence estimated that demand for generative AI would push Microsoft, AWS, Google, Oracle, Meta, and Apple would between them devote $200 billion to capex in 2025, up from $110 billion in 2023. Microsoft is one of the biggest spenders, followed closely by Google and AWS, Bloomberg Intelligence said. Its estimate of Microsoft’s capital spending on AI, at $62.4 billion for calendar 2025, is lower than Smith’s claim that the company will invest $80 billion in the fiscal year to June 30, 2025. Both figures, though, are way higher than Microsoft’s 2020 capital expenditure of “just” $17.6 billion. The majority of the increased spending is tied to cloud services and the expansion of AI infrastructure needed to provide compute capacity for OpenAI workloads. Separately, last October Amazon CEO Andy Jassy said his company planned total capex spend of $75 billion in 2024 and even more in 2025, with much of it going to AWS, its cloud computing division.

Read More »

John Deere unveils more autonomous farm machines to address skill labor shortage

Join our daily and weekly newsletters for the latest updates and exclusive content on industry-leading AI coverage. Learn More Self-driving tractors might be the path to self-driving cars. John Deere has revealed a new line of autonomous machines and tech across agriculture, construction and commercial landscaping. The Moline, Illinois-based John Deere has been in business for 187 years, yet it’s been a regular as a non-tech company showing off technology at the big tech trade show in Las Vegas and is back at CES 2025 with more autonomous tractors and other vehicles. This is not something we usually cover, but John Deere has a lot of data that is interesting in the big picture of tech. The message from the company is that there aren’t enough skilled farm laborers to do the work that its customers need. It’s been a challenge for most of the last two decades, said Jahmy Hindman, CTO at John Deere, in a briefing. Much of the tech will come this fall and after that. He noted that the average farmer in the U.S. is over 58 and works 12 to 18 hours a day to grow food for us. And he said the American Farm Bureau Federation estimates there are roughly 2.4 million farm jobs that need to be filled annually; and the agricultural work force continues to shrink. (This is my hint to the anti-immigration crowd). John Deere’s autonomous 9RX Tractor. Farmers can oversee it using an app. While each of these industries experiences their own set of challenges, a commonality across all is skilled labor availability. In construction, about 80% percent of contractors struggle to find skilled labor. And in commercial landscaping, 86% of landscaping business owners can’t find labor to fill open positions, he said. “They have to figure out how to do

Read More »

2025 playbook for enterprise AI success, from agents to evals

Join our daily and weekly newsletters for the latest updates and exclusive content on industry-leading AI coverage. Learn More 2025 is poised to be a pivotal year for enterprise AI. The past year has seen rapid innovation, and this year will see the same. This has made it more critical than ever to revisit your AI strategy to stay competitive and create value for your customers. From scaling AI agents to optimizing costs, here are the five critical areas enterprises should prioritize for their AI strategy this year. 1. Agents: the next generation of automation AI agents are no longer theoretical. In 2025, they’re indispensable tools for enterprises looking to streamline operations and enhance customer interactions. Unlike traditional software, agents powered by large language models (LLMs) can make nuanced decisions, navigate complex multi-step tasks, and integrate seamlessly with tools and APIs. At the start of 2024, agents were not ready for prime time, making frustrating mistakes like hallucinating URLs. They started getting better as frontier large language models themselves improved. “Let me put it this way,” said Sam Witteveen, cofounder of Red Dragon, a company that develops agents for companies, and that recently reviewed the 48 agents it built last year. “Interestingly, the ones that we built at the start of the year, a lot of those worked way better at the end of the year just because the models got better.” Witteveen shared this in the video podcast we filmed to discuss these five big trends in detail. Models are getting better and hallucinating less, and they’re also being trained to do agentic tasks. Another feature that the model providers are researching is a way to use the LLM as a judge, and as models get cheaper (something we’ll cover below), companies can use three or more models to

Read More »

OpenAI’s red teaming innovations define new essentials for security leaders in the AI era

Join our daily and weekly newsletters for the latest updates and exclusive content on industry-leading AI coverage. Learn More OpenAI has taken a more aggressive approach to red teaming than its AI competitors, demonstrating its security teams’ advanced capabilities in two areas: multi-step reinforcement and external red teaming. OpenAI recently released two papers that set a new competitive standard for improving the quality, reliability and safety of AI models in these two techniques and more. The first paper, “OpenAI’s Approach to External Red Teaming for AI Models and Systems,” reports that specialized teams outside the company have proven effective in uncovering vulnerabilities that might otherwise have made it into a released model because in-house testing techniques may have missed them. In the second paper, “Diverse and Effective Red Teaming with Auto-Generated Rewards and Multi-Step Reinforcement Learning,” OpenAI introduces an automated framework that relies on iterative reinforcement learning to generate a broad spectrum of novel, wide-ranging attacks. Going all-in on red teaming pays practical, competitive dividends It’s encouraging to see competitive intensity in red teaming growing among AI companies. When Anthropic released its AI red team guidelines in June of last year, it joined AI providers including Google, Microsoft, Nvidia, OpenAI, and even the U.S.’s National Institute of Standards and Technology (NIST), which all had released red teaming frameworks. Investing heavily in red teaming yields tangible benefits for security leaders in any organization. OpenAI’s paper on external red teaming provides a detailed analysis of how the company strives to create specialized external teams that include cybersecurity and subject matter experts. The goal is to see if knowledgeable external teams can defeat models’ security perimeters and find gaps in their security, biases and controls that prompt-based testing couldn’t find. What makes OpenAI’s recent papers noteworthy is how well they define using human-in-the-middle

Read More »