2014年11月13日木曜日

どのようにしてデータ処理の生産性を上げるか?

どのようにしてデータ処理の生産性を上げるか?

<顧客の課題>
インクジェットによる大型枚葉紙への印字サービスを進めるに当たってハードウエアの開発と同時に必要な技術はデータ処理技術の開発です

・バーコード(1次元バーコード~QRなど2次元バーコード)
・コンサート会場などの座席番号(1階12列22番 etc
・宛名印字などDMへの応用
・携帯キャンペーンなどに用いられる「乱数」印字
・地図などビットマップ情報による差替え印字
・全国に展開するチェーン店などで1店舗毎の使用数が異なる刷込み
・記号や発行数量が多種に渡るナンバリング

以上の様な「課題」に応える為には各々個別のデータ処理が必要となります、インクジェットを社内に導入する以前は、プリンターを使うべき案件を受注した場合は弊社でも社外に委託していました。当時はCOBOLなどの言語でのプログラミングが必要となり

・データ処理/システム設計 : 30万円
・印字代 : @2から@3 インチあたり

というような請求がきていました。1面の中にバーコードを一か所印字するという程度の内容でもとにかく一律30万円、この金額が相応なのか?不相応なのか?議論の余地もありませんでした、何故ならその処理は完全なブラックボックスだったので

黒船登場と戦々恐々の念で迎えられたE-Printが登場すると更に「パーソナリゼーション料金」なるものが請求項目に現れてきました

例えばフルバリアブルDMを80,000枚製作しようとした場合の2001年当時の見積りは

前工程
・フォーマット及びスクリプト作成料金 : 100,000
・パーソナリゼーション料金 : 80,000×@504,000,000
E-print印刷
・基本料金 6面付け : 6,000
・印刷料金 4/4c : 13,334t×@1602,133,440
事前に前頁分のデータを作成しておく必要があるそうで、その為に1週間掛かるその料金が400万円という説明でしたが、人手ではなくパソコンが演算をしているだけの価格としては直感的に高すぎると思えてなりませんでした。だだ、フルカラーでパーソナライズしたDMが通常DMに較べて格段のレスポンスアップを獲得しDM発行費用を大きく上回ればこの価格はペイする事になります。但し、これだけの価格になると利幅が比較的大きな商品の販促でないと厳しいであろうことは容易に想像できます

時代は進んで2006年頃にはXeroxからiGen3という高品質、高生産性のプリンターが登場してきました、たまたまその時期、顧客からモノクロではなくカラーでナンバリングしたいという要望があり見積りを取ったところ

カラーナンバリング刷込み (菊4切6面 12500t)
・カラーバリアブル処理 75000件×@302,250,000
・印字 12500t×@1001,250,000

とやはり事前に作成する処理費が重く、ナンバリングに色を付けたいという軽い希望を満たす為には不相応なコストアップだったため却下されてしまいました

ドキュテックなどオンデマンド機を導入して「パーソナリゼーション」専門で回しているという話しをあまり聞かないのは、如何に合理的にデータ処理を行い事前に掛かる費用を低減させるかというスキルが確立されていないからではないか?と多くの見積りを消化しながら感じていました

そして、データ処理の生産性を改善しこの部分の金額的負担を低減させれば「パーソナリゼーション」の仕事にチャレンジしやすくなり市場は広がるという事に気付きました

<ゑびす堂の対応>
弊社がメインで運用しているKODAK社のシステムでは事前に出力する全ページ分のデータを作成しておく必要がなかったので「パーソナリゼーション料金」を設定する必要がありませんでした。このオン・ザ・フライの仕組みはコストの圧縮、スケジュールの圧縮の両面で大きなメリットとなっています

従って、弊社のデータ処理は事前に行う必要があるテキスト処理が主となっています。

インクジェットによるバリアブル印刷の事例を数多く消化していると、共通して行われるデータ処理が存在することに気付きました。この処理を細かくルーチン化して蓄え、新たなデータ処理に際しては、蓄えられたルーチンを組み合わせて再活用する。新たにルーチンを書き起こすリスクと負担を低減できるようにしています

また、テキスト処理が主となるので、JGAWKPythonRubyなど入手コストの掛からないオープンソースを極力活用しバッチ処理で生産性の向上を図り、柔軟で高い生産性を兼ね備えた処理体系の構築を目指しています

<データ処理例1>乱数データの面付け印字の場合

「乱数」はキャンペーンやゲームなどのログイン情報なでに使われます。多くの場合エンドユーザーが発行し弊社に支給されますが弊社でも乱数生成は可能です、この場合の必要要件は

1.    桁数
2.    各桁に使用する文字種 (数字のみ、数字と欧文大文字、数字と欧文小文字 etc
3.    発行数

桁数は必要数に対して十分に余裕をみる必要があります。仮に5000件の乱数が必要な時に桁数を5桁にすると使用率は5000/99999 で5%となり00001から99999の区間の1 / 20もの数列を使うことになり質の良い乱数になりません

また、各桁数に使用する文字種に関しても注意が必要です。数字だけであれば問題ないが、数字と欧文を組合わせて用いる場合には「0 数字」「O オー」「1 数字」「l エル」「I アイ」などは読み間違える可能性があるので最初から弾くなどの配慮が必要です

エンドユーザーから支給された「乱数」であってもこうした問題を含んでいたり、「重複」などがある場合もあるので十分な確認と説明が必要になります

こうして得た乱数の一例です

1234567890123456
3136974197498601
1816139457837506
3286936395032679
6934710823292124
0279848920290170

 乱数はこのままでは確認がしにくいので、弊社では管理番号と抱き合わせて扱っています

1 1234567890123456
2 3136974197498601
3 1816139457837506
4 3286936395032679
5 6934710823292124
6 0279848920290170

また16桁の数値は読み難いので4桁毎にスペースやハイフォンを入れる場合もあります

1 1234 5678 9012 3456
2 3136 9741 9749 8601
3 1816 1394 5783 7506
4 3286 9363 9503 2679
5 6934 7108 2329 2124
6 0279 8489 2029 0170

こうして得たデータを面付け処理します

例として2面付で3通しの場合は

1 1234 5678 9012 3456 4 3286 9363 9503 2679
2 3136 9741 9749 8601 5 6934 7108 2329 2124
3 1816 1394 5783 7506 6 0279 8489 2029 0170

これが印字用の最終データとなります。

データが数千万件と多い場合、面数が40面等々と多い場合でも同じように速やかに処理が行なえます。

「乱数」を例にしましたが、これが一次元バーコードデータであってもQRバーコードデータであっても、DMの宛名印字のような2バイトデータであっても処理は同一です。全てテキスト処理の対象になります。

地図など、ビットマップデータの差替えの場合は、同一解像度、同一サイズのモノクロ2階調のビットマップファイルをフォントにアサインし、特定のコードで呼び出すという方法を取ります。例えば




となっていれば印字用フィールドの値が「1」なら0001.bmpの内容が印字されます

<データ処理例2>全国展開の居酒屋などで店舗ごとに必要枚数が異なる場合
必要なデータは


自至は印字内容が店舗毎に同一であれば不要です
部数が一定でないジョブを多面付で効率よく進行する為には


というような工夫が必要になります。仮に10面で進行する場合は

1台目は ACが各1面、F8面で100
2台目は B2面、D3面、E5面で100

これで100枚毎に製本することで100枚の束を20個得る事ができます

このようなジョブの場合、最初のエクセルの表さえ御支給頂ければ最も効率的なデータの組合せでデータ作成を行い、このような製本作業に習熟したパートナーと共に多種多ロットの品物の製造を効率化することが可能になりました

今までこのような仕様の取扱いに困られていたお客様から高く評価されています

<満足ポイント>
多くの場合、データ処理料金が基本料金で収まります。ご用意頂くデータも必要最低限で済みます。「バリアブル」の仕事の障壁であった「パーソナリゼーション料金」が必要ない仕組みなので幅広い分野で「バリアブル」を応用した試みが可能になりました。


データ処理の速度、安全性共にご評価頂いております