書き込みプリコンペンセーション(文献ではWPcomと略される)は、ハードディスク、フロッピーディスク、その他のデジタル磁気記録装置の設計における技術的な側面です。これは、アナログ書き込み信号を修正し、遷移を時間的にわずかにずらすことで、後で読み戻される信号が修正前の書き込み信号にできるだけ近くなるようにするものです。これは、磁気記録面の非線形特性のために必要となります。
ディスクの中心に近いセクターにデータを書き込むには、より多くのプリコンペンセーションが必要です。定角速度(CAV)記録では、データの書き込み位置に関係なくディスクが一定速度で回転するため、スピンドルに近いセクターは外側のセクターよりも密にデータが格納され、最も信頼性の高い方法でデータを書き込むにはわずかに異なるタイミングが必要になります。CAV記録は、ほとんどのフロッピーディスクシステムと古いハードディスクシステムで使用されています。CAVという用語は、磁気テープなどの非円形メディアには適用されません。磁気テープでは、通常、テープ全体でプリコンペンセーションが一定です。
かつて、PCのCMOSメモリに格納されていたハードディスクパラメータの1つにWPcom番号がありました。これは、より強力なプリコンペンセーションが開始されるトラックのマーカーであり、つまり、遷移が時間的にさらにシフトされるトラックです。これは、1990年代初頭まで一般的に使用されていた旧式のMFMおよびRLLハードディスクコントローラで必要とされていました。これらのコントローラは通常、コンピュータのマザーボードに差し込むことができるプラグインカードに搭載されていました。いずれにしても、実際のドライブとは別個のものであり、さまざまなドライブに対応できたため、コンピュータが使用する特定のドライブタイプに関するいくつかのパラメータをコントローラに伝える必要がありました。これらのパラメータの1つがWPcom番号でした。この方式では、ディスクごとに2つの異なるプリコンペンセーション強度しか設定できませんでした。外側のトラックには低い強度、内側のトラックには高い強度を設定できましたが、当時の単純な低容量ドライブにはこれで十分でした。
1990年代初頭以降に一般的に使用されるようになったすべてのハードディスクには、ドライブ本体にドライブ固有のコントローラが内蔵されています。これには、IDE、SCSI、SATA、Serial Attached SCSI (SAS) など、すべてのハードドライブが含まれます。これらの内部コントローラは、ディスクのどの部分にどの程度のプリコンペンセーションが必要かなど、ドライブ固有の情報をすべて把握しています。そのため、コンピュータのCMOSメモリに保存されているWPcom番号は無視されます。1990年代後半までは、多くのPC BIOS設定プログラムで、必要に応じて古いタイプのハードディスクで使用するために、ユーザーがWPcom番号やその他のドライブパラメータを設定できるようになっていました。しかし、より新しいドライブではその設定がほぼ確実に無視されることが、ユーザーに明確に伝えられていなかった場合もありました。
それ以来、WPcom番号はBIOS設定項目として提供されなくなり、ディスクドライブの内部で完全に自動化された機能となった。
フロッピーディスクコントローラは依然としてプリコンペンセーションを処理する必要があるが、PCで使用される一般的なフロッピーディスクドライブの種類は5~6種類程度であり、それらはすべて同じ種類のプリコンペンセーションを必要とするため、フロッピーディスクドライブのプリコンペンセーションに関するBIOS設定は必要なかった。