Skip to content
Product cover

Collaborating With Customer Communities: Lessons From the Lego Group

Customer-oriented companies pride themselves on their ability to understand the experiences and insights of the marketplace and then integrate the best ideas into future products. But what would it be like if you found that you had hundreds, if not thousands, of knowledgeable users ready and eager to spend nights and weekends acting as extensions of your research and development department? For the Lego Group, the Danish maker of children's creative construction toys, this close bond with the user community "Ò not just children but a large coterie of adults who have been using its products for years "Ò is not a pipe dream but a reality. The authors examine Lego users' long tradition of innovation and sharing innovations with one another "Ò activities that the Internet has made much easier. As Lego management became more aware of the adult user communities, it realized that at least some of their ideas would be interesting to the core target market. Through trial and error, Lego has developed an understanding of what it takes to build and maintain profitable and mutually beneficial collaborations with users. The article, based on an eight-year multisite research program, examines the emergence of Lego's user communities, how management's involvement with user groups has evolved and the core principles that Lego has formulated for successful interaction with its user groups. Lego's products were historically aimed at children. As young users grew up, they generally lost interest in Lego. However, beginning in the late 1990s, two things happened: (1) the company introduced a series of new products that appealed to older users, and (2) the Internet enabled people to connect in completely new ways, prompting many adults to return to Lego play and transforming their play experiences into a serious and demanding adult hobby. Many of the fan innovations have improved and extended the Lego building system or introduced new ways to use it that dovetail well with how Lego itself thinks of its products. Cumulatively, the fan activity has created a library of free ideas available to anyone. Although management initially saw risks in interacting with user communities, it concluded that collaboration offered significant advantages. Based on its experience, Lego management has developed a set of principles for working successfully with outside innovators.

Purchase Options

Educator and Student Discounts Available. Learn more »

  BENCHMARKS  
Loading Time: Base Classes  0.0004
My Controller Construct  0.0003
Build Nav  0.0006
Controller Execution Time ( Products / Route )  0.0394
Total Execution Time  0.0398
  GET DATA  
No GET data exists
  MEMORY USAGE  
1.5665 MB
  POST DATA  
No POST data exists
  URI STRING  
store/collaborating-with-customer-communities-lessons-from-the-lego-group
  CLASS/METHOD  
products/route
  DATABASE:  MITSLOAN_DEV   QUERIES: 68  (Hide)
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0002  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0001  

SELECT *
FROM (`carts`)
WHERE `cart_id` =  'e497de4ac342e6b741e9d858a3f3a9d6'
ORDER BY `created_atDESC 
0.0002  

SELECT SQL_CALC_FOUND_ROWS cat_id
FROM 
(`product_categories`)
WHERE `status_id` =  'A'
AND `url_friendly` =  'collaborating-with-customer-communities-lessons-from-the-lego-group'
AND `parent_id` =  
0.0026  

SELECT c.parent_idc.format_id
                    FROM products 
AS pproducts AS c
                    WHERE p
.prod_id c.parent_id AND
                        
c.avail_id IN ('A','B','D') AND
                        
c.type_id 'V' AND
                        (
                            
c.sku 'collaborating-with-customer-communities-lessons-from-the-lego-group' OR
                            if(
c.format_id 'Certificate'''p.url_friendly) = 'collaborating-with-customer-communities-lessons-from-the-lego-group'
                        
)
                    
LIMIT 1 
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  555 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '555' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '555'
ORDER BY `sortAS
0.0001  

SELECT `cat_id`
FROM (`product_categories__products`)
WHERE `prod_id` =  '555' 
0.0003  

SELECT *
FROM (`product_flags__products`)
WHERE `prod_id` =  '555' 
0.0001  

SELECT `sku`
FROM (`products__xsell`)
WHERE `prod_id` =  '555'
ORDER BY IF(position 010) AS, `position
0.0181  

SELECT `products`.`parent_id`
FROM (`transaction_lines`)
JOIN `productsON `products`.`sku` = `transaction_lines`.`sku`
JOIN `product_categories__productsON `products`.`parent_id` = `product_categories__products`.`prod_id`
WHERE `products`.`avail_id` =  'A'
AND TO_DAYS(transaction_lines.updated_at) < (TO_DAYS(NOW()) - 90)
AND `
product_categories__products`.`cat_idIN ('245') 
GROUP BY `products`.`parent_id`
ORDER BY COUNT(*) DESC
LIMIT 6 
0.0002  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '35' 
0.0002  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '35' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '35'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '905' 
0.0001  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '905' 
0.0001  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '905'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '3959' 
0.0001  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '3959' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '3959'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '371' 
0.0001  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '371' 
0.0002  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '371'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '3761' 
0.0001  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '3761' 
0.0001  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '3761'
ORDER BY `sortAS
0.0001  

SELECT `parent_id`
FROM (`products`)
WHERE `prod_id` =  '1757' 
0.0001  

SELECT *
FROM (`products`)
WHERE `products`.`prod_id` =  '1757' 
0.0001  

SELECT *
FROM (`authors`)
JOIN `products__authorsON `authors`.`author_id` = `products__authors`.`author_id`
WHERE `products__authors`.`prod_id` =  '1757'
ORDER BY `sortAS
0.0002  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '555'
AND `kind` =  'image_600x600'
ORDER BY IF(position 010) AS, `position
0.0001  

SELECT *
FROM (`media`)
WHERE `media`.`media_id` =  '273' 
0.0001  

SELECT *
FROM (`mime_types`)
WHERE `mime_types`.`extension` =  'jpg' 
0.0001  

SELECT *
FROM (`media_metadata`)
WHERE `media_id` =  '273' 
0.0002  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '555'
AND `kind` =  'gallery_image'
ORDER BY IF(position 010) AS, `position
0.0002  

SELECT *
FROM (`products`)
WHERE `avail_idIN ('A''B''C''H') 
AND `
parent_id` =  '555'
AND `type_id` =  'V'
ORDER BY IF(position 010) AS, `position`, `title
0.0001  

SELECT `c`.`format_id`, `c`.`price`, `c`.`sale_price`
FROM (`productsAS c)
WHERE `c`.`prod_id` =  '556'
LIMIT 1 
0.0002  

SELECT SQL_CALC_FOUND_ROWS media_idposition
FROM 
(`media`)
WHERE `foreign_key_table` =  'products'
AND `foreign_key_column` =  'prod_id'
AND `foreign_key_value` =  '556'
AND `kind` =  'thumbnail'
ORDER BY IF(position 010) AS, `position
0.0002  

SELECT `product_categories__products`.`cat_id`
FROM (`product_categories__products`)
JOIN `product_categoriesON `product_categories__products`.`cat_id` = `product_categories`.`cat_id`
WHERE `product_categories__products`.`prod_id` =  '555'
AND `product_categories`.`parent_id` =  1
AND `product_categories__products`.`cat_idNOT IN (1261)  
0.0004  

SELECT `cat_idAS id, `parent_idAS parent, `status_id`, `name`, `description`, `url_friendly`, `page_title`, `meta_keywords`, `meta_description`, `position`, `updated_at`
FROM (`product_categories`)
WHERE `cat_id` != 1
ORDER BY 
`parent_id`, IF(position 010) AS, `position`, `name
0.0003  

SELECT *
FROM (`product_categories`)
WHERE `status_id` =  'A'
AND `parent_id` =  1
AND `cat_idNOT IN (1261) 
ORDER BY `name
0.0001  

SELECT *
FROM (`site_settings`)
WHERE `option_key` =  'announcement' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)