Getting Real About Artificial Intelligence at CES

Getting Real About Artificial Intelligence at CES

Artificial intelligence was the standout theme at the 2025 Consumer Electronics Show. This analysis uses exhibitor-provided descriptions to quantify the presence of AI and evaluate where it appears to be hype and where it appears to be real.

Key Findings and Important Context

Out of 4,648 exhibitors, 1341 (29%) claimed some kind of AI use (Figure 1).

  • 47 percent of startups claimed to use AI
  • 21 percent of non-startups claimed to use AI

Figure 1: Top 10 Categories of CES Exhibitors by Non-Startups and Startups

We analyzed exhibitor descriptions using GPT-4o and a methodology described in detail below to distinguish between real AI implementations and marketing claims. While we couldn't classify 45 percent of AI claims due to limited information, clear patterns emerge among those we could analyze.

Among exhibitors claiming AI use:

  • About a quarter appear to have real AI use cases (Figure 2).
  • Startups show stronger implementation:
    • 28 percent of startups show real AI use-cases vs 25 percent appearing as hype.
    • 18 percent of non-startups show real AI uses vs. 38 percent appearing as hype.

Figure 2: Measuring Genuine AI Use by CES Exhibitors Who Claim To Use AI

Analysis of AI Claims By Technology Category

  • Technical categories (vehicle tech, accessibility, robotics) show highest real use
  • Lifestyle and entertainment categories show more marketing hype
  • Notable case: Among startups, cybersecurity shows both high real implementation (43 percent) and significant hype (29 percent)

Figure 3: Most Common Real and Hyped Categories of Exhibitors Who Claim to Use AI

Analysis of AI Claims By Category Pairs

  • Exhibitors can list up to five categories, revealing important combinations
  • Top real AI implementations:
    • Accessibility-digital health (48%)
    • Robotics-vehicle tech (48%)
    • Drones-vehicle tech (48%)
    • Technical uses dominate genuine AI implementation
  • Most frequent hype combinations:
    • 5G-IoT Sensors (69%)
    • AR/VR/XR-Gaming (57%)
    • Lifestyle-Smart Home (57%)
    • Surprisingly high hype in some technical pairs (5G-IoT, Energy/Power-Sustainability)

Figure 4: Category-Pairs With Largest Share of Real Uses

Figure 5: Category-Pairs With Largest Share of Hype

Figure 6: AI Claims vs. Reality - Top AI Category Combinations at CES

Important Limitations

  • The analysis relies solely on exhibitor-provided descriptions, which may not accurately reflect actual AI implementation. This could skew our real/hype classifications in either direction.
  • 45 percent of exhibitors using AI provided insufficient information to categorize. If these uncategorized cases are systematically different (e.g., more likely to be hype), our results would be biased. However, if this uncertainty is evenly distributed across categories, our relative rankings would remain reliable.
  • Each exhibitor counts equally in our analysis, regardless of how big the company is. We partially address this issue by:
    • Categorizing the exhibitors as startups and non-startups;
    • Larger companies often have multiple entries, naturally giving them more weight.
  • The AI definition is broad. According to CES, AI includes “Software, products and services that simulate human intelligence, productivity or actions through machine learning or algorithm-based models including generative AI, natural language processing, computer vision, and neural networks.”

In the remainder of this note we present detailed tables and charts supporting the conclusions described above and then explain our methodology.

Detailed Tables

Top 10 Categories Demonstrating Real AI Applications

Table 2: Top 10 Categories Demonstrating Hyped AI Applications

Appendix 1: Category Definitions

Appendix 2: Methodology and Code

  1. Initial Selection:

Identify companies that either list "Artificial Intelligence" as a category or mention "Artificial Intelligence", "AI", "Machine Learning", or "Deep Learning" in their description

  1. Evaluation Process:

Use GPT-4o to analyze each company's description to determine whether it should be categorized as “HYPE,” “NOT_HYPE,” or “IN_BETWEEN” (which we then call “indeterminate” in our analysis)

  1. Prompt:

“Select the companies that include "Artificial Intelligence" as a category or have "Artificial Intelligence", "AI", "Machine Learning", or "Deep Learning" in their description.

With the Instructor and Pydantic Python libraries I created a structured output framework that makes the LLM response fit into the structure of explanation and evaluation, constraining evaluation to be one of HYPE, NOT_HYPE, and IN_BETWEEN.

Use the system prompt:

You are an analyst reviewing companies’ descriptions to separate them between real AI uses and marketing hype. Please provide a brief explanation of why the company's description is a valid AI Use Case, marketing hype, or somewhere in between, and select the appropriate evaluation.

        Example:

        Description: Nuvilab leads the food industry's digital shift for sustainability and health. Its AI Food Scanner instantly recognizes and analyzes food, providing tailored nutrition reports and menu suggestions. It offers a contactless, real-time solution for tracking food intake and waste, benefiting both diners and operators, from plate to farm.

        This description is HYPE.

        Example:

        Description: Leading the Paradigm of Learning and Meeting Solutions for AI Smart Classrooms and Offices We are evolving into a global artificial intelligence convergence development company, delivering the best value to customers through AI smart education and meeting solutions.

        This description is IN_BETWEEN because not enough about the use case is described. If the product is good it could be useful, but "Smart Classroom" could also be hype.

        Example:

        VESSL AI provides a fully-managed AI & MLOps infrastructure critical to training, fine-tuning, and deploying enterprise-scale machine learning models like Generative AI and Large Language Models.With VESSL, machine learning engineers can train, fine-tune, and deploy open-source models like LLaMA and Stable Diffusion in just minutes.

        This description is NOT_HYPE.

        Think carefully and step by step, and do not fall for the marketing hype yourself.

Then for each row in the dataset I prompted GPT-4o with the system prompt and the user prompt f"Company Name: {row[0]} Company Description: '{row[1]}' Is This Description a valid AI Use Case, marketing hype, or somewhere in between?

import csv
# from playwright.sync_api import sync_playwright
# # import bs4
# import time
from tqdm import tqdm
import instructor
from openai import OpenAI
from enum import Enum
from pydantic import BaseModel, Field

client = instructor.from_openai(OpenAI())

#Enum for Marketing Hype or not
class MarketingHype(str, Enum):
    HYPE = "HYPE"
    NOT_HYPE = "NOT_HYPE"
    IN_BETWEEN = "IN_BETWEEN"


class AIEvaluation(BaseModel):
    explanation: str = Field(..., description="Explanation of why the company's description is a valid AI Use Case, marketing hype, or somewhere in between")
    evaluation: MarketingHype = Field(..., description="Whether the company's description is a valid AI Use Case ('NOT_HYPE'), marketing hype ('HYPE'), or somewhere in between ('IN_BETWEEN')")



# with sync_playwright() as p:
#     browser = p.chromium.launch()
#     context = browser.new_context()
#     page = context.new_page()
#     page.goto("https://exhibitors.ces.tech/8_0/explore/exhibitor-gallery.cfm?featured=false")
#     # page.goto("https://web.archive.org/web/20240103202326/https://exhibitors.ces.tech/8_0/explore/exhibitor-gallery.cfm?featured=false")
#     page.wait_for_load_state("networkidle")
#     time.sleep(10)
#     page_count = 1
#     load_more_button = page.query_selector("a:has-text('Load More Results')")
#     while load_more_button:
#         load_more_button.click()
#         page.wait_for_load_state("load")
#         load_more_button = page.query_selector("a:has-text('Load More Results')")
#         time.sleep(3)
#         page_count += 1
#         print(page_count)
#     card_count = page.locator("#exhibitor-results li.js-Card").count()
#     print(f"Found {(card_count)} exhibitor cards")
#     exhibitor_data = []#     for i in tqdm((range(card_count))):
#         try:
#             card = page.locator("#exhibitor-results li.js-Card").nth(i)
#             page.evaluate(f"document.querySelectorAll('#exhibitor-results li.js-Card')[{i}].scrollIntoView({{behavior: 'smooth', block: 'center'}})")
#             # Scroll card into view
#             # card.scroll_into_view_if_needed()
#             time.sleep(0.5)  # Brief pause to let content load
            
#             # Hover over the card to trigger content loading
#             # card.hover()
#             # time.sleep(0.1)
           
#             # # Click the card to ensure full content is loaded
#             # card.click()
#             # time.sleep(0.2)  # Wait for content to load
           
#             # Get link to full exhibitor page
#             link = card.locator(".card-Desc").locator("a").get_attribute("href")
#             #open in new tab
#             exhibitor_page = context.new_page()
#             exhibitor_page.goto("https://exhibitors.ces.tech" + link)
#             exhibitor_page.wait_for_load_state("networkidle")
            
#             # try:
#             #     name = card.locator(".card-Title").inner_text()
#             # except:
#             #     name = ""
#             # try:
#             #     description = card.locator(".card-Desc").inner_text()
#             # except:
#             #     description = ""
           
#             # Some additional fields that might be useful
#             # booth = card.locator(".card-Booth").inner_text()
#             # category = card.locator(".card-Category").inner_text()

#             # Get exhibitor name and description and product categories

#             name = exhibitor_page.locator("h1").inner_text()
#             # description = exhibitor_page.locator("section:id=scroll-description").locator("p").inner_text()
#             # scroll description into view
#             description = exhibitor_page.locator("section#scroll-description")
#             if description.count() > 0:
#                 description.scroll_into_view_if_needed()
#                 description = description.locator("p").inner_text()
#             else:
#                 description = ""
#             categories = exhibitor_page.locator("section#scroll-products")
#             if categories.count() > 0:
#                 categories.scroll_into_view_if_needed()
#                 categories = categories.locator("div[role='listitem']").all()
#                 categories = [category.inner_text() for category in categories]#                 categories = [category.strip() for category in categories]#                 categories = ", ".join(categories)
#             else:
#                 categories = ""
           
#             exhibitor_data.append([
#                 name.strip(),
#                 description.strip(),
#                 categories
#             ])
#             exhibitor_page.close()
                       
#         except Exception as e:
#             print(f"Error processing exhibitor {i + 1}: {e}")
#             continue
   
#     # Write to CSV
#     with open("exhibitors_details.csv", "w", newline='', encoding='utf-8') as f:
#         writer = csv.writer(f)
#         writer.writerow(["Name", "Description"])
#         writer.writerows(exhibitor_data)
   
#     print(f"Successfully wrote {len(exhibitor_data)} exhibitors to exhibitors_details.csv")
   
#     browser.close()
    # html = page.content()
    # soup = bs4.BeautifulSoup(html, "html.parser")
    # exhibitors = soup.find("section", {"id": "exhibitor-results"})
    # exhibitors = exhibitors.find_all("li", {"class": "js-Card"})
    # with open("exhibitors.txt", "w") as f:
    #     f.write(str(exhibitors))
    # exhibitors = [[exhibitor.find("h3", {"class": "card-Title"}), exhibitor.find("div", {"class": "card-Desc"})] for exhibitor in exhibitors]    # with open("exhibitors_cards.txt", "w") as f:
    #     f.write(str(exhibitors))
    # exhibitors = [[exhibitor[0].find if exhibitor[0] else "", exhibitor[1].text if exhibitor[1] else ""] for exhibitor in exhibitors]    # with open("exhibitors.csv", "w") as f:
    #     writer = csv.writer(f)
    #     writer.writerow(["Name", "Description"])
    #     writer.writerows(exhibitors)


# with open ("exhibitors_details.csv", "r", encoding='utf-8') as f:
#     reader = csv.reader(f)
#     data = list(reader)
# ai_companies = []# for row in data:
#     if "Artificial Intelligence" in row[2] or "AI " in row[1] or "Artificial Intelligence" in row[1] or "Machine Learning" in row[1] or "Deep Learning" in row[1]:
#         ai_companies.append(row)
# with open("ai_companies_include_category.csv", "w", newline='', encoding='utf-8') as f:
#     writer = csv.writer(f)
#     writer.writerow(["Name", "Description", "Categories"])
#     writer.writerows(ai_companies)

with open("ai_companies_include_category.csv", "r", encoding='utf-8') as f:
    reader = csv.reader(f)
    data = list(reader)

# #, or somewhere in between

results = [["Company Name", "Company Description", "Categories", "Evaluation", "Explanation"]]for row in tqdm(data[1:]):
    messages = [
        {"role": "system", "content": """You are an analyst reviewing companies' descriptions to separate them between real AI uses and marketing hype. Please provide a brief explanation of why the company's description is a valid AI Use Case, marketing hype, or somewhere in between, and select the appropriate evaluation.
        Example:
        Description: Nuvilab leads the food industry's digital shift for sustainability and health. Its AI Food Scanner instantly recognizes and analyzes food, providing tailored nutrition reports and menu suggestions. It offers a contactless, real-time solution for tracking food intake and waste, benefiting both diners and operators, from plate to farm.
        This description is HYPE.
        Example:
        Description: Leading the Paradigm of Learning and Meeting Solutions for AI Smart Classrooms and Offices We are evolving into a global artificial intelligence convergence development company, delivering the best value to customers through AI smart education and meeting solutions.
        This description is IN_BETWEEN because not enough about the use case is described. If the product is good it could be useful, but "Smart Classroom" could also be hype.
        Example:
        VESSL AI provides a fully-managed AI & MLOps infrastructure critical to training, fine-tuning, and deploying enterprise-scale machine learning models like Generative AI and Large Language Models.With VESSL, machine learning engineers can train, fine-tune, and deploy open-source models like LLaMA and Stable Diffusion in just minutes.
        This description is NOT_HYPE.
       
        Think carefully and step by step, and do not fall for the marketing hype yourself."""},
        {"role": "user", "content": f"Company Name: {row[0]} Company Description: '{row[1]}' Is This Description a valid AI Use Case, marketing hype, or somewhere in between?"}
    ]    response = client.chat.completions.create(
        model="gpt-4o",
        messages=messages,
        response_model=AIEvaluation
    )
    results.append([row[0], row[1], row[2], str(response.evaluation), str(response.explanation)])

with open("ai_companies_include_category_hype_or_not.csv", 'w') as f:
    writer = csv.writer(f)
    writer.writerows(results)

Appendix 3: Examples of Analysis Input and Output

Real:

InputOutput
Over the past five years, voice phishing has surged by 500% as AI can now clone voices in just a few seconds. Our solution… applies real-time‚ adversarial noise‚  in under 0.1 second, preventing AI from learning your voice while maintaining high audio quality.This description outlines a specific and legitimate use case of AI technology in the realm of security. Voice cloning using AI is a known concern, and the development of a solution that applies 'adversarial noise' to prevent AI from learning a user's voice addresses a real issue. The description provides a clear problem and solution, making it a valid AI use case. It is not using vague language or making exaggerated claims without a basis in technology.

Hype:

COMPANY is pioneering flexible, mobile, and sustainable housing solutions, with plans to debut the PRODUCT at CES 2025. The PRODUCT is a cutting-edge, expandable smart home designed for zero-emissions, off-grid living, offering up to 400 square feet of living space. Experience the future of living at booth ….The description mainly highlights the flexible, mobile, and sustainable aspects of the housing solution, with emphasis on the PRODUCT' without detailing how AI specifically enhances or drives the functionality…. While it mentions a smart home, it lacks specifics on how AI is utilized to create a 'transformable' space or offer a truly innovative lifestyle. This could be hype unless specific AI applications, such as automation, energy management, or adaptive living space, are detailed. Therefore, the description currently leans towards marketing hype.

Indeterminate:

For more than 50 years COMPANY has driven innovation in high-performance computing, graphics and visualization technologies. Billions of people, leading Fortune 500 businesses and cutting-edge scientific research institutions around the world rely on COMPANY technology daily to improve how they live, work and play.The description highlights COMPANY’S contributions to high-performance computing and graphics, which are critical enablers for AI applications. While the description doesn't specifically mention AI, the technologies developed by COMPANY are indeed foundational for AI use cases such as training machine learning models and running AI applications efficiently. However, the description itself is more about COMPANY’S broad impact and history rather than a specific AI application, hence it can be considered somewhere in between a clear AI use case and marketing hype.

+ posts

Scott Wallsten is President and Senior Fellow at the Technology Policy Institute and also a senior fellow at the Georgetown Center for Business and Public Policy. He is an economist with expertise in industrial organization and public policy, and his research focuses on competition, regulation, telecommunications, the economics of digitization, and technology policy. He was the economics director for the FCC's National Broadband Plan and has been a lecturer in Stanford University’s public policy program, director of communications policy studies and senior fellow at the Progress & Freedom Foundation, a senior fellow at the AEI – Brookings Joint Center for Regulatory Studies and a resident scholar at the American Enterprise Institute, an economist at The World Bank, a scholar at the Stanford Institute for Economic Policy Research, and a staff economist at the U.S. President’s Council of Economic Advisers. He holds a PhD in economics from Stanford University.

Share This Article

ai, artificial intelligence

View More Publications by

Recommended Reads

Related Articles

Sign Up for Updates

This field is for validation purposes and should be left unchanged.